Added support for VT100 reverse video

This commit is contained in:
Jeff Parsons 2016-08-01 17:53:41 -07:00 committed by Jeff Parsons
commit cec09c16e9
3 changed files with 286 additions and 265 deletions

View file

@ -365,6 +365,12 @@ Video.prototype.initBuffers = function()
* builds a contiguous screen of test data starting at the default frame buffer address (0x2000). * builds a contiguous screen of test data starting at the default frame buffer address (0x2000).
*/ */
this.rateMonitor = 60; this.rateMonitor = 60;
/*
* The default character-selectable attribute (reverse video vs. underline) is controlled by fUnderline.
*/
this.fUnderline = false;
this.abLineBuffer = new Array(this.nColsBuffer); this.abLineBuffer = new Array(this.nColsBuffer);
} }
}; };
@ -480,31 +486,37 @@ Video.prototype.createFonts = function(abFontData)
* We retain abFontData in case we have to rebuild the fonts (eg, when we switch from 80 to 132 columns) * We retain abFontData in case we have to rebuild the fonts (eg, when we switch from 80 to 132 columns)
*/ */
this.abFontData = abFontData; this.abFontData = abFontData;
this.aFonts[Video.VT100.FONT.NORML] = this.createFontVariation(this.cxCell, this.cyCell); this.aFonts[Video.VT100.FONT.NORML] = [
this.aFonts[Video.VT100.FONT.DWIDE] = this.createFontVariation(this.cxCell*2, this.cyCell); this.createFontVariation(this.cxCell, this.cyCell),
this.aFonts[Video.VT100.FONT.DHIGH] = this.aFonts[Video.VT100.FONT.DHIGH_BOT] = this.createFontVariation(this.cxCell*2, this.cyCell*2); this.createFontVariation(this.cxCell, this.cyCell, this.fUnderline)
];
this.aFonts[Video.VT100.FONT.DWIDE] = [
this.createFontVariation(this.cxCell*2, this.cyCell),
this.createFontVariation(this.cxCell*2, this.cyCell, this.fUnderline)
];
this.aFonts[Video.VT100.FONT.DHIGH] = this.aFonts[Video.VT100.FONT.DHIGH_BOT] = [
this.createFontVariation(this.cxCell*2, this.cyCell*2),
this.createFontVariation(this.cxCell*2, this.cyCell*2, this.fUnderline)
];
}; };
/** /**
* createFontVariation(cxCell, cyCell, rgbOn, fReverse, fUnderline) * createFontVariation(cxCell, cyCell, fUnderline)
* *
* This creates a 16x16 character grid for the requested font variation. Variations include: * This creates a 16x16 character grid for the requested font variation. Variations include:
* *
* 1) no variation (cell size is this.cxCell x this.cyCell) * 1) no variation (cell size is this.cxCell x this.cyCell)
* 2) double-wide characters (cell size is this.cxCell*2 x this.cyCell) * 2) double-wide characters (cell size is this.cxCell*2 x this.cyCell)
* 3) double-high double-wide characters (cell size is this.cxCell*2 x this.cyCell*2) * 3) double-high double-wide characters (cell size is this.cxCell*2 x this.cyCell*2)
* 4) variations 1-3 with reverse video enabled * 4) all of the above with either reverse video or underline enabled (default is reverse video)
* 5) variations 1-3 with underlining enabled
* *
* @this {Video} * @this {Video}
* @param {number} cxCell is the target width of each character in the grid * @param {number} cxCell is the target width of each character in the grid
* @param {number} cyCell is the target height of each character in the grid * @param {number} cyCell is the target height of each character in the grid
* @param {Array} [rgbOn] contains the RGB values for the font (default is white)
* @param {boolean} [fReverse]
* @param {boolean} [fUnderline] * @param {boolean} [fUnderline]
* @return {Object} * @return {Object}
*/ */
Video.prototype.createFontVariation = function(cxCell, cyCell, rgbOn, fReverse, fUnderline) Video.prototype.createFontVariation = function(cxCell, cyCell, fUnderline)
{ {
/* /*
* On a VT100, cxCell,cyCell is initially 10,10, but may change to 9,10 for 132-column mode. * On a VT100, cxCell,cyCell is initially 10,10, but may change to 9,10 for 132-column mode.
@ -521,6 +533,12 @@ Video.prototype.createFontVariation = function(cxCell, cyCell, rgbOn, fReverse,
var nFontByteOffset = nFontBytesPerChar > 8? 15 : 0; var nFontByteOffset = nFontBytesPerChar > 8? 15 : 0;
var nChars = this.abFontData.length / nFontBytesPerChar; var nChars = this.abFontData.length / nFontBytesPerChar;
/*
* The absence of a boolean for fUnderline means that both fReverse and fUnderline are "falsey". The presence
* of a boolean means that fReverse will be true OR fUnderline will be true, but NOT both.
*/
var fReverse = (fUnderline === false);
var font = {cxCell: cxCell, cyCell: cyCell}; var font = {cxCell: cxCell, cyCell: cyCell};
font.canvas = document.createElement("canvas"); font.canvas = document.createElement("canvas");
font.canvas.width = cxCell * 16; font.canvas.width = cxCell * 16;
@ -543,6 +561,7 @@ Video.prototype.createFontVariation = function(cxCell, cyCell, rgbOn, fReverse,
*/ */
var bit = bits & (0x80 >> (x > 7? 7 : x)); var bit = bits & (0x80 >> (x > 7? 7 : x));
for (var nCols = 0; nCols < (cxCell / this.cxCell); nCols++) { for (var nCols = 0; nCols < (cxCell / this.cxCell); nCols++) {
if (fReverse) bit = !bit;
this.setPixel(imageChar, xDst, yDst, bit? 1 : 0); this.setPixel(imageChar, xDst, yDst, bit? 1 : 0);
xDst++; xDst++;
} }
@ -880,7 +899,7 @@ Video.prototype.setPixel = function(image, x, y, bPixel)
Video.prototype.updateChar = function(idFont, col, row, data, context) Video.prototype.updateChar = function(idFont, col, row, data, context)
{ {
var bChar = data & 0x7f; var bChar = data & 0x7f;
var font = this.aFonts[idFont]; var font = this.aFonts[idFont][(data & 0x80)? 1 : 0];
if (!font) return; if (!font) return;
var xSrc = (bChar & 0xf) * font.cxCell; var xSrc = (bChar & 0xf) * font.cxCell;
@ -996,7 +1015,7 @@ Video.prototype.updateVT100 = function()
* TODO: If bit 8 is set, we must select a different font variation, depending on which per-character * TODO: If bit 8 is set, we must select a different font variation, depending on which per-character
* screen attribute is currently enabled (ie, reverse video or underline). * screen attribute is currently enabled (ie, reverse video or underline).
*/ */
this.updateChar(font, iCol, nRows, data & 0x7f, this.contextBuffer); this.updateChar(font, iCol, nRows, data, this.contextBuffer);
cUpdated++; cUpdated++;
} }
iCell++; iCell++;

View file

@ -1,116 +1,117 @@
(function(){var m;function ba(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 ba(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 q(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 t(a){return"0x"+q(a,4)}function ca(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 da(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b} function r(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 t(a){return"0x"+r(a,4)}function ca(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 da(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}
function ea(a,b){return-1!==a.indexOf(b,a.length-b.length)}var fa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}function ha(a,b){return(a+" ").slice(0,b)}function ia(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} function ea(a,b){return-1!==a.indexOf(b,a.length-b.length)}var fa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}function ha(a,b){return(a+" ").slice(0,b)}function ia(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
function ja(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var h=d+e>>1,g;g=c(b,a[h]);0<g?d=h+1:(e=h,f=!g)}return f?d:~d}var ka=Date.now||function(){return+new Date};function la(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} function ja(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var h=d+e>>1,g;g=c(b,a[h]);0<g?d=h+1:(e=h,f=!g)}return f?d:~d}var ka=Date.now||function(){return+new Date};function la(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function ma(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c<d;c++)if(c in a&&a[c]===b)return c;return-1} function ma(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c<d;c++)if(c in a&&a[c]===b)return c;return-1}
function oa(a,b,c,d){var e=0,f=null,h=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),h;var g=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(g.onreadystatechange=function(){4===g.readyState&&(f=g.responseText,200==g.status||!g.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=g.status||-1),d&&d(a,f,e))});if(b&&"object"== function oa(a,b,c,d){var e=0,f=null,h=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),h;var g=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(g.onreadystatechange=function(){4===g.readyState&&(f=g.responseText,200==g.status||!g.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=g.status||-1),d&&d(a,f,e))});if(b&&"object"==
typeof b){var l="",k;for(k in b)b.hasOwnProperty(k)&&(l&&(l+="&"),l+=k+"="+encodeURIComponent(b[k]));l=l.replace(/%20/g,"+");g.open("POST",a,!!c);g.setRequestHeader("Content-type","application/x-www-form-urlencoded");g.send(l)}else g.open("GET",a,!!c),"bytes"==b&&g.overrideMimeType("text/plain; charset=x-user-defined"),g.send();c||(f=g.responseText,200!=g.status&&(e=g.status||-1),d&&d(a,f,e),h=[f,e]);return h}function pa(){return"http://"+(window?window.location.host:"www.pcjs.org")} typeof b){var l="",k;for(k in b)b.hasOwnProperty(k)&&(l&&(l+="&"),l+=k+"="+encodeURIComponent(b[k]));l=l.replace(/%20/g,"+");g.open("POST",a,!!c);g.setRequestHeader("Content-type","application/x-www-form-urlencoded");g.send(l)}else g.open("GET",a,!!c),"bytes"==b&&g.overrideMimeType("text/plain; charset=x-user-defined"),g.send();c||(f=g.responseText,200!=g.status&&(e=g.status||-1),d&&d(a,f,e),h=[f,e]);return h}function pa(){return"http://"+(window?window.location.host:"www.pcjs.org")}
function qa(){return window?window.navigator.userAgent:""}function w(a){window&&window.alert(a)}function ra(a){var b=!1;window&&(b=window.confirm(a));return b}var sa=null;function ta(){if(null==sa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}sa=a}return sa} function qa(){return window?window.navigator.userAgent:""}function x(a){window&&window.alert(a)}function ra(a){var b=!1;window&&(b=window.confirm(a));return b}var sa=null;function ta(){if(null==sa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}sa=a}return sa}
function ua(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function va(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function wa(a){if(window){var b=qa();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 ua(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function va(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function wa(a){if(window){var b=qa();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,Fa=!0;function Ga(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ja(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,Fa=!0;function Ga(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ja(a){Da.init.push(a)}
function Ka(a){if(Fa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){w("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function La(a){!Fa&&a?(Fa=!0,Ea&&Ma("init")):Fa=a}function Ma(a){Da[a]&&Ka(Da[a])}Ga("onload",function(){Ea=!0;Ka(Da.init)});Ga("onpageshow",function(){Ka(Da.show)});Ga(wa("Opera")||wa("iOS")?"onunload":"onbeforeunload",function(){Ka(Da.exit)}); function Ka(a){if(Fa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){x("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function La(a){!Fa&&a?(Fa=!0,Ea&&Ma("init")):Fa=a}function Ma(a){Da[a]&&Ka(Da[a])}Ga("onload",function(){Ea=!0;Ka(Da.init)});Ga("onpageshow",function(){Ka(Da.show)});Ga(wa("Opera")||wa("iOS")?"onunload":"onbeforeunload",function(){Ka(Da.exit)});
function y(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Sb=b.comment;this.ac=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Fb=this.id.substr(0,b),this.Eb=this.id.substr(b+1)):this.Eb=this.id;this[a]=c;this.A={ab:!1,Ya:!1,Gb:!1,ma:!1,$a:!1};this.wb=null;this.A.$a=!1;this.L={};this.G=null;this.ja=d||0;Na.push(this)}var Qa=void 0,Ra={}; function y(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Sb=b.comment;this.bc=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Hb=this.id.substr(0,b),this.Eb=this.id.substr(b+1)):this.Eb=this.id;this[a]=c;this.A={ab:!1,Ya:!1,Fb:!1,na:!1,$a:!1};this.xb=null;this.A.$a=!1;this.L={};this.G=null;this.ka=d||0;Na.push(this)}var Qa=void 0,Ra={};
if(window){Qa||(Qa=window.location.search.substr(1));for(var Sa,Ta=/\+/g,Ua=/([^&=]+)=?([^&]*)/g;Sa=Ua.exec(Qa);)Ra[decodeURIComponent(Sa[1].replace(Ta," "))]=decodeURIComponent(Sa[2].replace(Ta," "))}function Va(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b} if(window){Qa||(Qa=window.location.search.substr(1));for(var Sa,Ta=/\+/g,Ua=/([^&=]+)=?([^&]*)/g;Sa=Ua.exec(Qa);)Ra[decodeURIComponent(Sa[1].replace(Ta," "))]=decodeURIComponent(Sa[2].replace(Ta," "))}function Va(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
function Wa(a,b){b||(b=y);a.prototype=Va(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var Na=[],Xa={};function Ya(a,b,c){Xa[a]&&b&&(Xa[a][b]=c)}function Za(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Na.length;b++){var d=Na[b];a&&d.id.indexOf(a)||c.push(d)}return c} function Wa(a,b){b||(b=y);a.prototype=Va(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var Na=[],Xa={};function Ya(a,b,c){Xa[a]&&b&&(Xa[a][b]=c)}function Za(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Na.length;b++){var d=Na[b];a&&d.id.indexOf(a)||c.push(d)}return c}
function $a(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<Na.length;d++)if(c)c==Na[d]&&(c=null);else if(!(a!=Na[d].type||b&&Na[d].id.indexOf(b)))return Na[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){w(c.message+" ("+a+")")}return b} function $a(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<Na.length;d++)if(c)c==Na[d]&&(c=null);else if(!(a!=Na[d].type||b&&Na[d].id.indexOf(b)))return Na[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){x(c.message+" ("+a+")")}return b}
function ab(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 l=g.split(" "),k=0;k<l.length;k++)switch(g=l[k],g){case "pc8080-binding":(g=A(h))&&g.binding&&a.oa(g.type,g.binding,h,g.value),k=l.length}}}} function ab(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 l=g.split(" "),k=0;k<l.length;k++)switch(g=l[k],g){case "pc8080-binding":(g=A(h))&&g.binding&&a.pa(g.type,g.binding,h,g.value),k=l.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}
y.prototype={constructor:y,parent:null,toString:function(){return this.name?this.name:this.id||this.type},oa:function(a,b,c){switch(b){case "clear":return this.L[b]||(this.L[b]=c,c.onclick=function(a){return function(){a.L.print&&(a.L.print.value="")}}(this)),!0;case "print":return this.L[b]||(this.za=this.L[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), y.prototype={constructor:y,parent:null,toString:function(){return this.name?this.name:this.id||this.type},pa:function(a,b,c){switch(b){case "clear":return this.L[b]||(this.L[b]=c,c.onclick=function(a){return function(){a.L.print&&(a.L.print.value="")}}(this)),!0;case "print":return this.L[b]||(this.za=this.L[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.ha=function(a,b,c){this.g(a,"notice",c)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.Eb+": "+a)},ha:function(a,b){b||w(a)},Ea:function(){return this.A.ma=!0},Ha:function(a,b){b&&(this.A.ma=!1);return!0}};function bb(a,b,c,d,e,f){var h=!0;a.G&&(!0===h?h=0:null==h&&(h=a.ja),cb(a.G,a,b,c,d,e,f,h))}function db(a,b,c){a.G&&(!0===c||eb(a,c|0))&&a.G.message(b,void 0)} this.ia=function(a,b,c){this.g(a,"notice",c)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.Eb+": "+a)},ia:function(a,b){b||x(a)},Ea:function(){return this.A.na=!0},Ha:function(a,b){b&&(this.A.na=!1);return!0}};function bb(a,b,c,d,e,f){var h=!0;a.G&&(!0===h?h=0:null==h&&(h=a.ka),cb(a.G,a,b,c,d,e,f,h))}function db(a,b,c){a.G&&(!0===c||eb(a,c|0))&&a.G.message(b,void 0)}
function eb(a,b){if(a.G){a===a.G?b|=0:b=b||a.ja;var c=a.G.ja&b;return!!b&&c===b||!!(c&a.G.fc)}return!1}function hb(a,b){if(a.A.Gb)return a.A.Ya&&(a.A.Ya=!1),a.A.Gb=!1;if(a.A.$a)return a.g(a.toString()+" error"),!1;a.A.Ya=b;return a.A.Ya}function ib(a,b){a.A.Ya&&(b?a.A.Gb=!0:void 0===b&&a.g(a.toString()+" busy"));return a.A.Ya}function C(a){if(!a.A.$a&&(a.A.ab=!0,a.A.ab)){var b=a.wb;a.wb=null;b&&b()}}function jb(a,b){b&&(a.A.ab?b():a.wb=b);return a.A.ab}function kb(a,b){a.A.$a=!0;a.ha(b)} function eb(a,b){if(a.G){a===a.G?b|=0:b=b||a.ka;var c=a.G.ka&b;return!!b&&c===b||!!(c&a.G.gc)}return!1}function fb(a,b){if(a.A.Fb)return a.A.Ya&&(a.A.Ya=!1),a.A.Fb=!1;if(a.A.$a)return a.g(a.toString()+" error"),!1;a.A.Ya=b;return a.A.Ya}function ib(a,b){a.A.Ya&&(b?a.A.Fb=!0:void 0===b&&a.g(a.toString()+" busy"));return a.A.Ya}function D(a){if(!a.A.$a&&(a.A.ab=!0,a.A.ab)){var b=a.xb;a.xb=null;b&&b()}}function jb(a,b){b&&(a.A.ab?b():a.xb=b);return a.A.ab}function kb(a,b){a.A.$a=!0;a.ia(b)}
var lb="undefined"!==typeof ArrayBuffer,mb=[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 lb="undefined"!==typeof ArrayBuffer,mb=[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 nb(a){y.call(this,"Panel",a,nb)}Wa(nb);m=nb.prototype;m.oa=function(a,b,c,d){return this.u&&this.u.oa(a,b,c,d)||this.b&&this.b.oa(a,b,c,d)||this.ya&&this.ya.oa(a,b,c,d)||this.G&&this.G.oa(a,b,c,d)?!0:this.parent.oa.call(this,a,b,c,d)};m.Ka=function(a,b,c,d){this.u=a;this.B=b;this.b=c;this.G=d;this.ya=ob(a,"Keyboard")};m.Ea=function(a,b){b||pb();return!0};m.Ha=function(){return!0};m.Ba=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 nb(a){y.call(this,"Panel",a,nb)}Wa(nb);m=nb.prototype;m.pa=function(a,b,c,d){return this.u&&this.u.pa(a,b,c,d)||this.b&&this.b.pa(a,b,c,d)||this.ya&&this.ya.pa(a,b,c,d)||this.G&&this.G.pa(a,b,c,d)?!0:this.parent.pa.call(this,a,b,c,d)};m.Ka=function(a,b,c,d){this.u=a;this.B=b;this.b=c;this.G=d;this.ya=ob(a,"Keyboard")};m.Ea=function(a,b){b||pb();return!0};m.Ha=function(){return!0};m.Ba=function(){};
function pb(){for(var a=!1,b=B(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=A(d),f;a:{f=e.id;if(void 0!==f)for(var h=void 0,h=0;h<Na.length;h++)if(Na[h].id===f){f=Na[h];break a}f=null}f||(a=!0,f=new nb(e));ab(f,d);a&&C(f)}}Ja(pb); function pb(){for(var a=!1,b=B(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=A(d),f;a:{f=e.id;if(void 0!==f)for(var h=void 0,h=0;h<Na.length;h++)if(Na[h].id===f){f=Na[h];break a}f=null}f||(a=!0,f=new nb(e));ab(f,d);a&&D(f)}}Ja(pb);
function qb(a,b,c){y.call(this,"Bus",a,qb);this.b=b;this.G=c;this.I=a.busWidth||16;this.N=Math.pow(2,this.I);this.w=this.N-1|0;this.ga=16>=this.I?10:20>=this.I?12:24>=this.I?14:15;this.Aa=1<<this.ga;this.X=this.Aa>>2;this.B=this.Aa-1;this.K=this.N/this.Aa|0;this.J=this.K-1;this.u=[];this.C=[];this.F=this.H=!1;this.Z=[];this.ba=[];a=new E;rb(a,this.G);this.U=Array(this.K);for(b=0;b<this.K;b++)this.U[b]=a;C(this)}Wa(qb);m=qb.prototype;m.reset=function(){};m.Ea=function(a,b){b||this.reset();return!0}; function qb(a,b,c){y.call(this,"Bus",a,qb);this.b=b;this.G=c;this.I=a.busWidth||16;this.N=Math.pow(2,this.I);this.w=this.N-1|0;this.ha=16>=this.I?10:20>=this.I?12:24>=this.I?14:15;this.Aa=1<<this.ha;this.X=this.Aa>>2;this.B=this.Aa-1;this.K=this.N/this.Aa|0;this.J=this.K-1;this.u=[];this.C=[];this.F=this.H=!1;this.Z=[];this.ba=[];a=new E;rb(a,this.G);this.U=Array(this.K);for(b=0;b<this.K;b++)this.U[b]=a;D(this)}Wa(qb);m=qb.prototype;m.reset=function(){};m.Ea=function(a,b){b||this.reset();return!0};
function sb(a,b,c,d){for(var e=b,f=c,h=e>>>a.ga;0<f&&h<a.U.length;){var g=a.U[h],l=h*a.Aa,k=a.Aa-(e-l);k>f&&(k=f);if(g&&g.size){if(g.type==d){if(e+f<=g.D)return g.tb+=g.D-e,g.D=e,!0;if(e>=g.D+g.tb){k=g.size-(e-l);k>f&&(k=f);g.tb=e-g.D+k;e=l+a.Aa;f-=k;h++;continue}}return tb(1,e,f)}e=new E(e,k,a.Aa,d);rb(e,a.G,g);a.U[h++]=e;e=l+a.Aa;f-=k}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+ub[d]+" at "+t(b)),!0):tb(2,b,c)}m.W=function(a){return this.U[(a&this.w)>>>this.ga].ib(a&this.B,a)}; function sb(a,b,c,d){for(var e=b,f=c,h=e>>>a.ha;0<f&&h<a.U.length;){var g=a.U[h],l=h*a.Aa,k=a.Aa-(e-l);k>f&&(k=f);if(g&&g.size){if(g.type==d){if(e+f<=g.D)return g.ub+=g.D-e,g.D=e,!0;if(e>=g.D+g.ub){k=g.size-(e-l);k>f&&(k=f);g.ub=e-g.D+k;e=l+a.Aa;f-=k;h++;continue}}return tb(1,e,f)}e=new E(e,k,a.Aa,d);rb(e,a.G,g);a.U[h++]=e;e=l+a.Aa;f-=k}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+ub[d]+" at "+t(b)),!0):tb(2,b,c)}m.W=function(a){return this.U[(a&this.w)>>>this.ha].ib(a&this.B,a)};
function vb(a,b){return a.U[(b&a.w)>>>a.ga].rb(b&a.B,b)}m.La=function(a){var b=a&this.B,c=(a&this.w)>>>this.ga;return b!=this.B?this.U[c].bc(b,a):this.U[c++].ib(b,a)|this.U[c&this.J].ib(0,a+1)<<8};function wb(a,b){var c=b&a.B,d=(b&a.w)>>>a.ga;return c!=a.B?a.U[d].Lb(c,b):a.U[d++].rb(c,b)|a.U[d&a.J].rb(0,b+1)<<8}m.ka=function(a,b){this.U[(a&this.w)>>>this.ga].kb(a&this.B,b&255,a)};function xb(a,b,c){a.U[(b&a.w)>>>a.ga].ub(b&a.B,c&255,b)} function vb(a,b){return a.U[(b&a.w)>>>a.ha].sb(b&a.B,b)}m.La=function(a){var b=a&this.B,c=(a&this.w)>>>this.ha;return b!=this.B?this.U[c].cc(b,a):this.U[c++].ib(b,a)|this.U[c&this.J].ib(0,a+1)<<8};function wb(a,b){var c=b&a.B,d=(b&a.w)>>>a.ha;return c!=a.B?a.U[d].Lb(c,b):a.U[d++].sb(c,b)|a.U[d&a.J].sb(0,b+1)<<8}m.ma=function(a,b){this.U[(a&this.w)>>>this.ha].kb(a&this.B,b&255,a)};function xb(a,b,c){a.U[(b&a.w)>>>a.ha].vb(b&a.B,c&255,b)}
m.Cb=function(a,b){var c=a&this.B,d=(a&this.w)>>>this.ga;c!=this.B?this.U[d].dc(c,b&65535,a):(this.U[d++].kb(c,b&255,a),this.U[d&this.J].kb(0,b>>8&255,a+1))};function yb(a,b){if(void 0===b)return a.F=!a.F,a.F;void 0===a.u[b]&&(a.u[b]=[null,!1]);a.u[b][1]=!a.u[b][1];return a.u[b][1]} m.Cb=function(a,b){var c=a&this.B,d=(a&this.w)>>>this.ha;c!=this.B?this.U[d].ec(c,b&65535,a):(this.U[d++].kb(c,b&255,a),this.U[d&this.J].kb(0,b>>8&255,a+1))};function yb(a,b){if(void 0===b)return a.F=!a.F,a.F;void 0===a.u[b]&&(a.u[b]=[null,!1]);a.u[b][1]=!a.u[b][1];return a.u[b][1]}
function zb(a,b,c){for(var d=1,e=0,f=0;0<d;){var h=a.u[b],g=a.Z[b]||1,l=1==g?255:2==g?65535:-1,k=l;void 0!==h?(h[0]&&(k=h[0](b,c),void 0===k?k=l:k&=l),a.G&&a.F!=h[1]&&Ab(a.G,b,k)):a.G&&(cb(a.G,a,b,null,c),a.F&&Ab(a.G,b,k));e|=k<<f;f+=g<<3;b+=g;d-=g}return e}function Bb(a,b){if(void 0===b)return a.H=!a.H,a.H;void 0===a.C[b]&&(a.C[b]=[null,!1]);a.C[b][1]=!a.C[b][1];return a.C[b][1]} function zb(a,b,c){for(var d=1,e=0,f=0;0<d;){var h=a.u[b],g=a.Z[b]||1,l=1==g?255:2==g?65535:-1,k=l;void 0!==h?(h[0]&&(k=h[0](b,c),void 0===k?k=l:k&=l),a.G&&a.F!=h[1]&&Ab(a.G,b,k)):a.G&&(cb(a.G,a,b,null,c),a.F&&Ab(a.G,b,k));e|=k<<f;f+=g<<3;b+=g;d-=g}return e}function Bb(a,b){if(void 0===b)return a.H=!a.H,a.H;void 0===a.C[b]&&(a.C[b]=[null,!1]);a.C[b][1]=!a.C[b][1];return a.C[b][1]}
function Cb(a,b,c,d){for(var e=1,f=0;0<e;){var h=a.C[b],g=a.ba[b]||1,l=1==g?255:2==g?65535:-1,l=(c>>>=f)&l;if(void 0!==h){if(h[0])h[0](b,l,d);a.G&&a.H!=h[1]&&Db(a.G,b,l)}else a.G&&(cb(a.G,a,b,l,d),a.H&&Db(a.G,b,l));f+=g<<3;b+=g;e-=g}}function tb(a,b,c){w("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}var Nb;if(lb){var Ob=new ArrayBuffer(2);(new DataView(Ob)).setUint16(0,256,!0);Nb=256===(new Uint16Array(Ob))[0]}else Nb=!1;var Pb=Nb; function Cb(a,b,c,d){for(var e=1,f=0;0<e;){var h=a.C[b],g=a.ba[b]||1,l=1==g?255:2==g?65535:-1,l=(c>>>=f)&l;if(void 0!==h){if(h[0])h[0](b,l,d);a.G&&a.H!=h[1]&&Db(a.G,b,l)}else a.G&&(cb(a.G,a,b,l,d),a.H&&Db(a.G,b,l));f+=g<<3;b+=g;e-=g}}function tb(a,b,c){x("Memory block error ("+a+": "+r(b)+","+r(c)+")");return!1}var Eb;if(lb){var Ob=new ArrayBuffer(2);(new DataView(Ob)).setUint16(0,256,!0);Eb=256===(new Uint16Array(Ob))[0]}else Eb=!1;var Pb=Eb;
function E(a,b,c,d){this.id=Qb+=2;this.b=null;this.D=a;this.tb=b;this.size=c||0;this.type=d||Rb;this.L=d==Sb;rb(this);this.Fa=this.Qb=!1;if(c)if(lb)this.F=new ArrayBuffer(c),this.H=new DataView(this.F,0,c),this.B=new Uint8Array(this.F,0,c),this.J=new Uint16Array(this.F,0,c>>1),this.b=new Int32Array(this.F,0,c>>2),Tb(this,Pb?Ub:Vb);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;Tb(this,Wb)}else Tb(this)}var Rb=0,Sb=2,ub=["NONE","RAM","ROM","VID","H/W"],Qb=0; function E(a,b,c,d){this.id=Qb+=2;this.b=null;this.D=a;this.ub=b;this.size=c||0;this.type=d||Rb;this.L=d==Sb;rb(this);this.Fa=this.Qb=!1;if(c)if(lb)this.F=new ArrayBuffer(c),this.H=new DataView(this.F,0,c),this.B=new Uint8Array(this.F,0,c),this.J=new Uint16Array(this.F,0,c>>1),this.b=new Int32Array(this.F,0,c>>2),Tb(this,Pb?Ub:Vb);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;Tb(this,Wb)}else Tb(this)}var Rb=0,Sb=2,ub=["NONE","RAM","ROM","VID","H/W"],Qb=0;
E.prototype={constructor:E,parent:null,save:function(){var a,b;if(lb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.H.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(lb)for(b=0;b<a.length;b++)this.H.setInt32(b<<2,a[b],!0);else this.b=a;return this.Fa=!0}return!1},Oa:function(a,b){b?0===this.C++&&Xb(this,Yb,!1):0===this.u++&&Zb(this,Yb,!1)},K:function(){this.G&&eb(this.G,129)&&this.G.message("attempt to read invalid block %"+q(this.D),!0); E.prototype={constructor:E,parent:null,save:function(){var a,b;if(lb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.H.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(lb)for(b=0;b<a.length;b++)this.H.setInt32(b<<2,a[b],!0);else this.b=a;return this.Fa=!0}return!1},Oa:function(a,b){b?0===this.C++&&Xb(this,Yb,!1):0===this.u++&&Zb(this,Yb,!1)},K:function(){this.G&&eb(this.G,129)&&this.G.message("attempt to read invalid block %"+r(this.D),!0);
return 255},w:function(a,b){this.G&&eb(this.G,129)&&this.G.message("attempt to write "+t(b)+" to invalid block %"+q(this.D),!0)},N:function(a,b){return this.ib(a++,b++)|this.ib(a,b)<<8},I:function(a,b,c){this.kb(a++,b&255,c++);this.kb(a,b>>8,c)},ca:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},qa: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},xa:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<<d)|b<<d;this.Fa=!0},Ia:function(a, return 255},w:function(a,b){this.G&&eb(this.G,129)&&this.G.message("attempt to write "+t(b)+" to invalid block %"+r(this.D),!0)},N:function(a,b){return this.ib(a++,b++)|this.ib(a,b)<<8},I:function(a,b,c){this.kb(a++,b&255,c++);this.kb(a,b>>8,c)},ca:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ra: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},xa:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<<d)|b<<d;this.Fa=!0},Ia: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.Fa=!0},Z:function(a,b){if(this.G&&null!=this.D){var c=this.G;$b(c,this.D+a,1,c.Z)&&c.ea(!0)}return this.rb(a,b)},ia:function(a,b){if(this.G&&null!=this.D){var c=this.G;$b(c,this.D+a,2,c.Z)&&c.ea(!0)}return this.Lb(a,b)},va:function(a,b,c){if(this.G&&null!=this.D){var d=this.G;$b(d,this.D+a,1,d.H)&&d.ea(!0)}this.L?this.w(a,b,c):this.ub(a,b,c)},Ca: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.Fa=!0},Z:function(a,b){if(this.G&&null!=this.D){var c=this.G;$b(c,this.D+a,1,c.Z)&&c.fa(!0)}return this.sb(a,b)},ja:function(a,b){if(this.G&&null!=this.D){var c=this.G;$b(c,this.D+a,2,c.Z)&&c.fa(!0)}return this.Lb(a,b)},va:function(a,b,c){if(this.G&&null!=this.D){var d=this.G;$b(d,this.D+a,1,d.H)&&d.fa(!0)}this.L?this.w(a,b,c):this.vb(a,b,c)},Ca:function(a,
b,c){if(this.G&&null!=this.D){var d=this.G;$b(d,this.D+a,2,d.H)&&d.ea(!0)}this.L?this.w(a,b,c):this.Mb(a,b,c)},X:function(a){return this.B[a]},ba:function(a){return this.B[a]},fa:function(a){return this.H.getUint16(a,!0)},pa:function(a){return a&1?this.B[a]|this.B[a+1]<<8:this.J[a>>1]},ta:function(a,b){this.B[a]=b;this.Fa=!0},wa:function(a,b){this.B[a]=b;this.Fa=!0},ya:function(a,b){this.H.setUint16(a,b,!0);this.Fa=!0},Da:function(a,b){a&1?(this.B[a]=b,this.B[a+1]=b>>8):this.J[a>>1]=b;this.Fa=!0}}; b,c){if(this.G&&null!=this.D){var d=this.G;$b(d,this.D+a,2,d.H)&&d.fa(!0)}this.L?this.w(a,b,c):this.Mb(a,b,c)},X:function(a){return this.B[a]},ba:function(a){return this.B[a]},ga:function(a){return this.H.getUint16(a,!0)},qa:function(a){return a&1?this.B[a]|this.B[a+1]<<8:this.J[a>>1]},ua:function(a,b){this.B[a]=b;this.Fa=!0},wa:function(a,b){this.B[a]=b;this.Fa=!0},ya:function(a,b){this.H.setUint16(a,b,!0);this.Fa=!0},Da:function(a,b){a&1?(this.B[a]=b,this.B[a+1]=b>>8):this.J[a>>1]=b;this.Fa=!0}};
function rb(a,b,c){a.G=b;a.u=a.C=0;c&&((a.u=c.u)&&Zb(a,Yb,!1),(a.C=c.C)&&Xb(a,Yb,!1))}function ac(a,b){b?0===--a.C&&(a.kb=a.L?a.w:a.ub,a.dc=a.L?a.I:a.Mb):0===--a.u&&(a.ib=a.rb,a.bc=a.Lb)}function Xb(a,b,c){c&&a.C||(a.kb=!a.L&&b[2]||a.w,a.dc=!a.L&&b[3]||a.I);if(c||void 0===c)a.ub=b[2]||a.w,a.Mb=b[3]||a.I}function Zb(a,b,c){c&&a.u||(a.ib=b[0]||a.K,a.bc=b[1]||a.N);if(c||void 0===c)a.rb=b[0]||a.K,a.Lb=b[1]||a.N}function Tb(a,b){b||(b=bc);Zb(a,b,void 0);Xb(a,b,void 0)} function rb(a,b,c){a.G=b;a.u=a.C=0;c&&((a.u=c.u)&&Zb(a,Yb,!1),(a.C=c.C)&&Xb(a,Yb,!1))}function ac(a,b){b?0===--a.C&&(a.kb=a.L?a.w:a.vb,a.ec=a.L?a.I:a.Mb):0===--a.u&&(a.ib=a.sb,a.cc=a.Lb)}function Xb(a,b,c){c&&a.C||(a.kb=!a.L&&b[2]||a.w,a.ec=!a.L&&b[3]||a.I);if(c||void 0===c)a.vb=b[2]||a.w,a.Mb=b[3]||a.I}function Zb(a,b,c){c&&a.u||(a.ib=b[0]||a.K,a.cc=b[1]||a.N);if(c||void 0===c)a.sb=b[0]||a.K,a.Lb=b[1]||a.N}function Tb(a,b){b||(b=bc);Zb(a,b,void 0);Xb(a,b,void 0)}
var bc=[],Wb=[E.prototype.ca,E.prototype.qa,E.prototype.xa,E.prototype.Ia],Yb=[E.prototype.Z,E.prototype.ia,E.prototype.va,E.prototype.Ca];if(lb)var Vb=[E.prototype.X,E.prototype.fa,E.prototype.ta,E.prototype.ya],Ub=[E.prototype.ba,E.prototype.pa,E.prototype.wa,E.prototype.Da]; var bc=[],Wb=[E.prototype.ca,E.prototype.ra,E.prototype.xa,E.prototype.Ia],Yb=[E.prototype.Z,E.prototype.ja,E.prototype.va,E.prototype.Ca];if(lb)var Vb=[E.prototype.X,E.prototype.ga,E.prototype.ua,E.prototype.ya],Ub=[E.prototype.ba,E.prototype.qa,E.prototype.wa,E.prototype.Da];
function cc(a,b){y.call(this,"CPU",a,cc,1);var c=a.cycles||b,d=a.multiplier||1;this.i={};this.i.hb=c;this.i.Bb=0;this.i.Ta=d;this.i.Ib=Math.round(this.i.hb/1E4)/100;this.i.Qa=this.i.Ib*this.i.Ta;this.A.ra=!1;this.A.Hb=!1;this.A.Pb=a.autoStart;this.A.Rb=!1;this.A.Za=!1;this.i.lb=this.i.eb=0;this.i.mb=a.csStart;this.i.cb=a.csInterval;this.i.fb=a.csStop;this.ba=this.Ua.bind(this);C(this)}Wa(cc);var dc=["power","reset"];m=cc.prototype; function cc(a,b){y.call(this,"CPU",a,cc,1);var c=a.cycles||b,d=a.multiplier||1;this.i={};this.i.hb=c;this.i.Bb=0;this.i.Ta=d;this.i.Ib=Math.round(this.i.hb/1E4)/100;this.i.Qa=this.i.Ib*this.i.Ta;this.A.sa=!1;this.A.Gb=!1;this.A.Pb=a.autoStart;this.A.Rb=!1;this.A.Za=!1;this.i.mb=this.i.eb=0;this.i.nb=a.csStart;this.i.cb=a.csInterval;this.i.fb=a.csStop;this.ba=this.Ua.bind(this);D(this)}Wa(cc);var dc=["power","reset"];m=cc.prototype;
m.Ka=function(a,b,c,d){this.u=a;this.B=b;this.G=d;for(b=0;b<dc.length;b++)(c=this.L[dc[b]])&&this.u.oa(null,dc[b],c);this.K=(b=ob(a,"Video"))&&Math.max(b.yc,b.Xb)||60;this.C=ob(a,"ChipSet");a=ec(a,"autoStart");null!=a&&(this.A.Pb="true"==a?!0:"false"==a?!1:!!a);C(this)};m.reset=function(){this.i.Bb=0};m.save=function(){return null};m.restore=function(){return!1}; m.Ka=function(a,b,c,d){this.u=a;this.B=b;this.G=d;for(b=0;b<dc.length;b++)(c=this.L[dc[b]])&&this.u.pa(null,dc[b],c);this.K=(b=ob(a,"Video"))&&Math.max(b.zc,b.ac)||60;this.C=ob(a,"ChipSet");a=ec(a,"autoStart");null!=a&&(this.A.Pb="true"==a?!0:"false"==a?!1:!!a);D(this)};m.reset=function(){this.i.Bb=0};m.save=function(){return null};m.restore=function(){return!1};
m.Ea=function(a,b){if(!b){if(a&&this.restore){fc(this);if(!this.restore(a))return!1;gc(this)}else this.reset();if(this.G){var c=this.G;c.g("Type ? for help with PC8080 Debugger commands");c.Ba();if(c.Da){var d=c.Da;c.Da=null;sc(c,d)}}else this.g("No debugger detected")}tc(this);return!0};m.Ha=function(a){return a?this.save():!0};function uc(a){(a.A.Pb||!a.G&&void 0===a.L.run)&&a.Ua(!0)}m.Tb=function(){return 0}; m.Ea=function(a,b){if(!b){if(a&&this.restore){fc(this);if(!this.restore(a))return!1;gc(this)}else this.reset();if(this.G){var c=this.G;c.g("Type ? for help with PC8080 Debugger commands");c.Ba();if(c.Da){var d=c.Da;c.Da=null;hc(c,d)}}else this.g("No debugger detected")}tc(this);return!0};m.Ha=function(a){return a?this.save():!0};function uc(a){(a.A.Pb||!a.G&&void 0===a.L.run)&&a.Ua(!0)}m.Tb=function(){return 0};
function gc(a){void 0===a.i.mb&&(a.i.mb=0);void 0===a.i.cb&&(a.i.cb=-1);void 0===a.i.fb&&(a.i.fb=-1);a.A.Za=0<=a.i.mb&&0<a.i.cb;a.A.Za&&(a.i.lb=0,a.i.eb=a.i.mb-a.I)}function vc(a,b){if(a.A.Za){var c=!1;a.i.lb=a.i.lb+a.Tb()|0;a.i.eb-=b;0>=a.i.eb&&(a.i.eb+=a.i.cb,c=!0);0<=a.i.fb&&a.i.fb<=wc(a)&&(a.i.cb=a.i.fb=-1,gc(a),a.ea(),c=!0);c&&a.g(wc(a)+" cycles: checksum="+q(a.i.lb))}} function gc(a){void 0===a.i.nb&&(a.i.nb=0);void 0===a.i.cb&&(a.i.cb=-1);void 0===a.i.fb&&(a.i.fb=-1);a.A.Za=0<=a.i.nb&&0<a.i.cb;a.A.Za&&(a.i.mb=0,a.i.eb=a.i.nb-a.I)}function vc(a,b){if(a.A.Za){var c=!1;a.i.mb=a.i.mb+a.Tb()|0;a.i.eb-=b;0>=a.i.eb&&(a.i.eb+=a.i.cb,c=!0);0<=a.i.fb&&a.i.fb<=wc(a)&&(a.i.cb=a.i.fb=-1,gc(a),a.fa(),c=!0);c&&a.g(wc(a)+" cycles: checksum="+r(a.i.mb))}}
m.oa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.L[b]=c;a=!0;break;case "run":this.L[b]=c;c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.A.ma)a=!0;else{var b=null,c,g=Za(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.A.ab);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.A.ma);c++);c==g.length&&(b=a);w("The "+b.type+" component ("+b.id+") is not "+(b.A.ab?"powered yet":"ready yet"+(b.wb?" (waiting for notification)":""))+".");a=!1}a&&(d.A.ra?d.ea(!0):d.Ua(!0))};a= m.pa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.L[b]=c;a=!0;break;case "run":this.L[b]=c;c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.A.na)a=!0;else{var b=null,c,g=Za(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.A.ab);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.A.na);c++);c==g.length&&(b=a);x("The "+b.type+" component ("+b.id+") is not "+(b.A.ab?"powered yet":"ready yet"+(b.xb?" (waiting for notification)":""))+".");a=!1}a&&(d.A.sa?d.fa(!0):d.Ua(!0))};a=
!0;break;case "speed":this.L[b]=c;a=!0;break;case "setSpeed":this.L[b]=c,c.onclick=function(){xc(d,d.i.Ta<<1,!0)},c.textContent=this.i.Qa.toFixed(2)+"Mhz",a=!0}return a};function yc(a,b,c){a.I+=b;c&&(a.F=a.b=0)} !0;break;case "speed":this.L[b]=c;a=!0;break;case "setSpeed":this.L[b]=c,c.onclick=function(){xc(d,d.i.Ta<<1,!0)},c.textContent=this.i.Qa.toFixed(2)+"Mhz",a=!0}return a};function yc(a,b,c){a.I+=b;c&&(a.F=a.b=0)}
function zc(a,b){var c=30;c<a.K&&(c=a.K);2>c&&(c=2);var d=1;b&&1<a.i.Ta&&a.i.Pa&&(d=a.i.Pa/a.i.Ib);a.i.Yb=Math.round(1E3/30);a.i.mc=Math.floor(a.i.hb/c*d);a.i.Jb=Math.floor(a.i.hb/30*d);a.i.$b=Math.floor(a.i.hb/a.K*d);a.i.Zb=Math.floor(a.i.hb/2*d);b||(a.i.gb=a.i.Jb,a.i.ob=a.i.$b,a.i.nb=a.i.Zb);a.i.Kb=0}function wc(a){return a.I+a.H+a.F-a.b}function fc(a){a.i.Pa=0;a.I=a.H=a.F=a.b=0;gc(a);xc(a,1)} function zc(a,b){var c=30;c<a.K&&(c=a.K);2>c&&(c=2);var d=1;b&&1<a.i.Ta&&a.i.Pa&&(d=a.i.Pa/a.i.Ib);a.i.Yb=Math.round(1E3/30);a.i.nc=Math.floor(a.i.hb/c*d);a.i.Jb=Math.floor(a.i.hb/30*d);a.i.$b=Math.floor(a.i.hb/a.K*d);a.i.Zb=Math.floor(a.i.hb/2*d);b||(a.i.gb=a.i.Jb,a.i.pb=a.i.$b,a.i.ob=a.i.Zb);a.i.Kb=0}function wc(a){return a.I+a.H+a.F-a.b}function fc(a){a.i.Pa=0;a.I=a.H=a.F=a.b=0;gc(a);xc(a,1)}
function xc(a,b,c){var d=!1;if(void 0!==b){.8>a.i.Pa/a.i.Qa?b=1:d=!0;a.i.Ta=b;b=a.i.Ib*a.i.Ta;if(a.i.Qa!=b){a.i.Qa=b;b=a.i.Qa.toFixed(2)+"Mhz";var e=a.L.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.u&&a.u.sb()}yc(a,a.H);a.H=0;a.i.bb=ka();a.i.Sa=0;zc(a);return d} function xc(a,b,c){var d=!1;if(void 0!==b){.8>a.i.Pa/a.i.Qa?b=1:d=!0;a.i.Ta=b;b=a.i.Ib*a.i.Ta;if(a.i.Qa!=b){a.i.Qa=b;b=a.i.Qa.toFixed(2)+"Mhz";var e=a.L.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.u&&a.u.tb()}yc(a,a.H);a.H=0;a.i.bb=ka();a.i.Sa=0;zc(a);return d}
m.Ua=function(a){if(hb(this,!0)){if(!this.A.ra){xc(this);this.u&&this.u.start(this.i.bb,wc(this));this.A.ra=!0;this.A.Hb=!0;this.C&&this.C.start();var b=this.L.run;b&&(b.textContent="Halt");this.u&&(this.u.Ba(!0),a&&this.u.sb(!0))}this.i.Kb>=this.i.hb&&zc(this,!0);this.i.pb=0;this.i.Ab=ka();this.i.Sa&&(a=this.i.Ab-this.i.Sa,a>this.i.Yb&&(this.i.bb+=a,this.i.bb>this.i.Ab&&(this.i.bb=this.i.Ab)));try{do{this.jb(this.A.Za?1:this.i.mc);var c=this.F-this.b;this.H+=c;this.i.pb+=c;yc(this,0,!0);vc(this, m.Ua=function(a){if(fb(this,!0)){if(!this.A.sa){xc(this);this.u&&this.u.start(this.i.bb,wc(this));this.A.sa=!0;this.A.Gb=!0;this.C&&this.C.start();var b=this.L.run;b&&(b.textContent="Halt");this.u&&(this.u.Ba(!0),a&&this.u.tb(!0))}this.i.Kb>=this.i.hb&&zc(this,!0);this.i.qb=0;this.i.Ab=ka();this.i.Sa&&(a=this.i.Ab-this.i.Sa,a>this.i.Yb&&(this.i.bb+=a,this.i.bb>this.i.Ab&&(this.i.bb=this.i.Ab)));try{do{this.jb(this.A.Za?1:this.i.nc);var c=this.F-this.b;this.H+=c;this.i.qb+=c;yc(this,0,!0);vc(this,
c);this.i.ob-=c;0>=this.i.ob&&(this.i.ob+=this.i.$b,this.u&&Ac(this.u,this.i.Bb++),this.i.Bb>this.K&&(this.i.Bb=0));this.i.nb-=c;0>=this.i.nb&&(this.i.nb+=this.i.Zb,this.u&&this.u.Ba());this.i.gb-=c;if(0>=this.i.gb){this.i.gb+=this.i.Jb;break}}while(this.A.ra)}catch(e){this.ea();tc(this);this.u&&this.u.stop(ka(),wc(this));hb(this,!1);kb(this,e.stack||e.message);return}c=setTimeout;a=this.ba;this.i.Sa=ka();b=this.i.Yb;this.i.pb&&(b=Math.round(b*this.i.pb/this.i.Jb));var b=b-(this.i.Sa-this.i.Ab),d= c);this.i.pb-=c;0>=this.i.pb&&(this.i.pb+=this.i.$b,this.u&&Ac(this.u,this.i.Bb++),this.i.Bb>this.K&&(this.i.Bb=0));this.i.ob-=c;0>=this.i.ob&&(this.i.ob+=this.i.Zb,this.u&&this.u.Ba());this.i.gb-=c;if(0>=this.i.gb){this.i.gb+=this.i.Jb;break}}while(this.A.sa)}catch(e){this.fa();tc(this);this.u&&this.u.stop(ka(),wc(this));fb(this,!1);kb(this,e.stack||e.message);return}c=setTimeout;a=this.ba;this.i.Sa=ka();b=this.i.Yb;this.i.qb&&(b=Math.round(b*this.i.qb/this.i.Jb));var b=b-(this.i.Sa-this.i.Ab),d=
this.i.Sa-this.i.bb;d&&(this.i.Pa=Math.round(this.H/(10*d))/100,864E5<=d&&(this.I=0,xc(this)));if(0>b||this.i.Pa<this.i.Qa)b=0;this.i.Kb+=this.i.pb;this.i.Sa+=b;c(a,b)}else tc(this),this.u&&this.u.stop(ka(),wc(this))};m.jb=function(){return 0};m.ea=function(a){ib(this,!0);this.F-=this.b;this.b=0;yc(this,this.H);this.H=0;if(this.A.ra){this.A.ra=!1;this.C&&this.C.stop();var b=this.L.run;b&&(b.textContent="Run")}this.A.vb=a};function tc(a,b){a.u&&(Ac(a.u,-1),a.u.Ba(b))} this.i.Sa-this.i.bb;d&&(this.i.Pa=Math.round(this.H/(10*d))/100,864E5<=d&&(this.I=0,xc(this)));if(0>b||this.i.Pa<this.i.Qa)b=0;this.i.Kb+=this.i.qb;this.i.Sa+=b;c(a,b)}else tc(this),this.u&&this.u.stop(ka(),wc(this))};m.jb=function(){return 0};m.fa=function(a){ib(this,!0);this.F-=this.b;this.b=0;yc(this,this.H);this.H=0;if(this.A.sa){this.A.sa=!1;this.C&&this.C.stop();var b=this.L.run;b&&(b.textContent="Run")}this.A.wb=a};function tc(a,b){a.u&&(Ac(a.u,-1),a.u.Ba(b))}
function Bc(a){this.Ra=+a.model||8080;cc.call(this,a,1E6);this.N=Cc;fc(this);this.A.vb=this.A.gc=!1;this.Z=0;this.J=[];this.X=0;Dc(this)}Wa(Bc,cc);function Ec(a,b){a.J.push(b)}m=Bc.prototype;m.reset=function(){this.A.ra&&this.ea();Dc(this);fc(this);this.A.$a=!1;this.parent.reset.call(this)};function Dc(a){a.j=0;a.O=0;a.P=0;a.R=0;a.S=0;a.T=0;a.V=0;a.da=0;F(a,a.X);Fc(a,0);a.w=0}function Gc(a,b){a.X=b;F(a,b)} function Bc(a){this.Ra=+a.model||8080;cc.call(this,a,1E6);this.N=Cc;fc(this);this.A.wb=this.A.hc=!1;this.Z=0;this.J=[];this.X=0;Dc(this)}Wa(Bc,cc);function Ec(a,b){a.J.push(b)}m=Bc.prototype;m.reset=function(){this.A.sa&&this.fa();Dc(this);fc(this);this.A.$a=!1;this.parent.reset.call(this)};function Dc(a){a.j=0;a.O=0;a.P=0;a.R=0;a.S=0;a.T=0;a.V=0;a.ea=0;F(a,a.X);Fc(a,0);a.w=0}function Gc(a,b){a.X=b;F(a,b)}
m.Tb=function(){var a=this.j+this.O+this.P+this.R+this.S+this.T+this.V|0;return a=a+this.da+this.M+Hc(this)|0}; m.Tb=function(){var a=this.j+this.O+this.P+this.R+this.S+this.T+this.V|0;return a=a+this.ea+this.M+Hc(this)|0};
m.save=function(){var a=new Ic(this);G(a,0,[this.j,this.O,this.P,this.R,this.S,this.T,this.V,this.da,this.M,Hc(this)]);G(a,1,[this.w,this.I,this.i.Ta]);for(var b=this.B,c=0,d=[],e=0;e<b.K;e++){var f=b.U[e];if(f.Fa||f.Qb){d[c++]=e;var h=c++;a:if(f=f.save()){for(var g=0,l=0,k=[];g<f.length;){for(var n=f[g],p=g+1;p<f.length&&f[p]===n;)p++;k[l++]=p-g;k[l++]=n;g=p}if(k.length<f.length){f=k;break a}}d[h]=f}}G(a,2,d);return a.data()}; m.save=function(){var a=new Ic(this);H(a,0,[this.j,this.O,this.P,this.R,this.S,this.T,this.V,this.ea,this.M,Hc(this)]);H(a,1,[this.w,this.I,this.i.Ta]);for(var b=this.B,c=0,d=[],e=0;e<b.K;e++){var f=b.U[e];if(f.Fa||f.Qb){d[c++]=e;var h=c++;a:if(f=f.save()){for(var g=0,l=0,k=[];g<f.length;){for(var n=f[g],p=g+1;p<f.length&&f[p]===n;)p++;k[l++]=p-g;k[l++]=n;g=p}if(k.length<f.length){f=k;break a}}d[h]=f}}H(a,2,d);return a.data()};
m.restore=function(a){var b=a[0];this.j=b[0];this.O=b[1];this.P=b[2];this.R=b[3];this.S=b[4];this.T=b[5];this.V=b[6];this.da=b[7]&65535;F(this,b[8]);Fc(this,b[9]);b=a[1];this.w=b[0];this.I=b[1];xc(this,b[3]);a:{b=this.B;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.X){for(var f=0,h=Array(b.X),g=0;g<e.length-1;)for(var l=e[g++],k=e[g++];l--;)h[f++]=k;e=h}f=b.U[d];if(!f||!f.restore(e)){w("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.O=b[1];this.P=b[2];this.R=b[3];this.S=b[4];this.T=b[5];this.V=b[6];this.ea=b[7]&65535;F(this,b[8]);Fc(this,b[9]);b=a[1];this.w=b[0];this.I=b[1];xc(this,b[3]);a:{b=this.B;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.X){for(var f=0,h=Array(b.X),g=0;g<e.length-1;)for(var l=e[g++],k=e[g++];l--;)h[f++]=k;e=h}f=b.U[d];if(!f||!f.restore(e)){x("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
m.oa=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.L[b]=c;this.Z++;d=!0;break;default:d=this.parent.oa.call(this,a,b,c)}return d};function Jc(a){return a.O<<8|a.P}function Kc(a,b){a.O=b>>8&255;a.P=b&255}function Lc(a){return a.R<<8|a.S}function Mc(a,b){a.R=b>>8&255;a.S=b&255}function I(a){return a.T<<8|a.V} m.pa=function(a,b,c){var d=!1;switch(b){case "A":case "B":case "C":case "BC":case "D":case "E":case "DE":case "H":case "L":case "HL":case "SP":case "PC":case "PS":case "IF":case "SF":case "ZF":case "AF":case "PF":case "CF":this.L[b]=c;this.Z++;d=!0;break;default:d=this.parent.pa.call(this,a,b,c)}return d};function Jc(a){return a.O<<8|a.P}function Kc(a,b){a.O=b>>8&255;a.P=b&255}function Lc(a){return a.R<<8|a.S}function Mc(a,b){a.R=b>>8&255;a.S=b&255}function J(a){return a.T<<8|a.V}
function Nc(a,b){a.T=b>>8&255;a.V=b&255}function F(a,b){a.M=b&65535}function J(a){return a.Y&256?1:0}function Oc(a,b){a.Y=a.Y&255|b}function Pc(a){return mb[a.aa&255]?4:0}function Qc(a){return(a.aa^a.na)&16?16:0}function Rc(a){return a.Y&255?0:64}function Sc(a){return a.aa&128?128:0}function Hc(a){return a.sa&-214|Sc(a)|Rc(a)|Qc(a)|Pc(a)|J(a)}function Fc(a,b){a.Y=a.aa=a.na=0;b&1&&(a.Y|=256);b&4||(a.aa|=1);b&16&&(a.na|=16);b&64||(a.Y|=255);b&128&&(a.aa^=192);a.sa=a.sa&-726|b&512|2} function Nc(a,b){a.T=b>>8&255;a.V=b&255}function F(a,b){a.M=b&65535}function K(a){return a.Y&256?1:0}function Oc(a,b){a.Y=a.Y&255|b}function Pc(a){return mb[a.aa&255]?4:0}function Qc(a){return(a.aa^a.oa)&16?16:0}function Rc(a){return a.Y&255?0:64}function Sc(a){return a.aa&128?128:0}function Hc(a){return a.ta&-214|Sc(a)|Rc(a)|Qc(a)|Pc(a)|K(a)}function Fc(a,b){a.Y=a.aa=a.oa=0;b&1&&(a.Y|=256);b&4||(a.aa|=1);b&16&&(a.oa|=16);b&64||(a.Y|=255);b&128&&(a.aa^=192);a.ta=a.ta&-726|b&512|2}
function Tc(a,b){a.na=a.j^b;return a.aa=(a.Y=a.j+b)&255}function Uc(a,b){a.na=a.j^b;return a.aa=(a.Y=a.j+b+(a.Y&256?1:0))&255}function Vc(a,b){a.Y=a.aa=a.na=a.j&b;(a.j|b)&8&&(a.na^=16);return a.Y}function Wc(a,b){a.na=b^255;b=a.aa=b+255&255;a.Y=a.Y&-256|b;return b}function Xc(a,b){a.na=b;b=a.aa=b+1&255;a.Y=a.Y&-256|b;return b}function Yc(a,b){return a.aa=a.Y=a.na=a.j|b}function K(a,b){b^=255;a.na=a.j^b;return a.aa=(a.Y=a.j+b+1^256)&255} function Tc(a,b){a.oa=a.j^b;return a.aa=(a.Y=a.j+b)&255}function Uc(a,b){a.oa=a.j^b;return a.aa=(a.Y=a.j+b+(a.Y&256?1:0))&255}function Vc(a,b){a.Y=a.aa=a.oa=a.j&b;(a.j|b)&8&&(a.oa^=16);return a.Y}function Wc(a,b){a.oa=b^255;b=a.aa=b+255&255;a.Y=a.Y&-256|b;return b}function Xc(a,b){a.oa=b;b=a.aa=b+1&255;a.Y=a.Y&-256|b;return b}function Yc(a,b){return a.aa=a.Y=a.oa=a.j|b}function L(a,b){b^=255;a.oa=a.j^b;return a.aa=(a.Y=a.j+b+1^256)&255}
function Zc(a,b){b^=255;a.na=a.j^b;return a.aa=(a.Y=a.j+b+(a.Y&256?0:1)^256)&255}function rd(a,b){return a.aa=a.Y=a.na=a.j^b}m.W=function(a){return this.B.W(a)};m.ka=function(a,b){this.B.ka(a,b)};function L(a){var b=a.W(a.M);F(a,a.M+1);return b}function O(a){var b=a.B.La(a.M);F(a,a.M+2);return b}function P(a){var b=a.B.La(a.da);a.da=a.da+2&65535;return b}function Q(a,b){a.da=a.da-2&65535;a.B.Cb(a.da,b)} function Zc(a,b){b^=255;a.oa=a.j^b;return a.aa=(a.Y=a.j+b+(a.Y&256?0:1)^256)&255}function rd(a,b){return a.aa=a.Y=a.oa=a.j^b}m.W=function(a){return this.B.W(a)};m.ma=function(a,b){this.B.ma(a,b)};function M(a){var b=a.W(a.M);F(a,a.M+1);return b}function O(a){var b=a.B.La(a.M);F(a,a.M+2);return b}function P(a){var b=a.B.La(a.ea);a.ea=a.ea+2&65535;return b}function Q(a,b){a.ea=a.ea-2&65535;a.B.Cb(a.ea,b)}
function S(a,b,c,d){d=d||2;a.L[b]&&(void 0===c&&(kb(a,"Value for "+b+" is invalid"),a.ea()),c=!a.A.ra||a.A.Rb?q(c,d):"--------".substr(0,d),a.L[b].textContent!=c&&(a.L[b].textContent=c))} function S(a,b,c,d){d=d||2;a.L[b]&&(void 0===c&&(kb(a,"Value for "+b+" is invalid"),a.fa()),c=!a.A.sa||a.A.Rb?r(c,d):"--------".substr(0,d),a.L[b].textContent!=c&&(a.L[b].textContent=c))}
m.Ba=function(a){this.Z&&(a||!this.A.ra||this.A.Rb)&&(S(this,"A",this.j),S(this,"B",this.O),S(this,"C",this.P),S(this,"BC",Jc(this),4),S(this,"D",this.R),S(this,"E",this.S),S(this,"DE",Lc(this),4),S(this,"H",this.T),S(this,"L",this.V),S(this,"HL",I(this),4),S(this,"SP",this.da,4),S(this,"PC",this.M,4),a=Hc(this),S(this,"PS",a,4),S(this,"IF",a&512?1:0,1),S(this,"SF",a&128?1:0,1),S(this,"ZF",a&64?1:0,1),S(this,"AF",a&16?1:0,1),S(this,"PF",a&4?1:0,1),S(this,"CF",a&1?1:0,1));if(a=this.L.speed)a.textContent= m.Ba=function(a){this.Z&&(a||!this.A.sa||this.A.Rb)&&(S(this,"A",this.j),S(this,"B",this.O),S(this,"C",this.P),S(this,"BC",Jc(this),4),S(this,"D",this.R),S(this,"E",this.S),S(this,"DE",Lc(this),4),S(this,"H",this.T),S(this,"L",this.V),S(this,"HL",J(this),4),S(this,"SP",this.ea,4),S(this,"PC",this.M,4),a=Hc(this),S(this,"PS",a,4),S(this,"IF",a&512?1:0,1),S(this,"SF",a&128?1:0,1),S(this,"ZF",a&64?1:0,1),S(this,"AF",a&16?1:0,1),S(this,"PF",a&4?1:0,1),S(this,"CF",a&1?1:0,1));if(a=this.L.speed)a.textContent=
this.A.ra&&this.i.Pa?this.i.Pa.toFixed(2)+"Mhz":"Stopped"}; this.A.sa&&this.i.Pa?this.i.Pa.toFixed(2)+"Mhz":"Stopped"};
m.jb=function(a){this.A.vb=!0;var b=this.A.gc=this.G&&sd(this.G),c=a?this.A.Hb?0:1:-1;this.A.Hb=!1;this.F=this.b=a;do{if(this.w){var d;this.w&8&&this.sa&512?(d=199|(this.w&7)<<3,this.w&=-16,this.sa&=-513,this.N[d].call(this),d=!0):d=!1;if(d){if(!a){this.g("interrupt dispatched");break}}else if(this.w&16){this.b=0;break}}if(b){if(td(this.G,this.M,c)){this.ea();break}c=1}this.N[L(this)].call(this)}while(0<this.b);return this.A.vb?this.F-this.b:void 0===this.A.vb?0:-1}; m.jb=function(a){this.A.wb=!0;var b=this.A.hc=this.G&&sd(this.G),c=a?this.A.Gb?0:1:-1;this.A.Gb=!1;this.F=this.b=a;do{if(this.w){var d;this.w&8&&this.ta&512?(d=199|(this.w&7)<<3,this.w&=-16,this.ta&=-513,this.N[d].call(this),d=!0):d=!1;if(d){if(!a){this.g("interrupt dispatched");break}}else if(this.w&16){this.b=0;break}}if(b){if(td(this.G,this.M,c)){this.fa();break}c=1}this.N[M(this)].call(this)}while(0<this.b);return this.A.wb?this.F-this.b:void 0===this.A.wb?0:-1};
Ja(function(){for(var a=B(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Bc(d);ab(d,c)}});function ud(){this.b-=4}function vd(){F(this,O(this));this.b-=10}function wd(){F(this,P(this));this.b-=10}function xd(){var a=O(this);Q(this,this.M);F(this,a);this.b-=17} Ja(function(){for(var a=B(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Bc(d);ab(d,c)}});function ud(){this.b-=4}function vd(){F(this,O(this));this.b-=10}function wd(){F(this,P(this));this.b-=10}function xd(){var a=O(this);Q(this,this.M);F(this,a);this.b-=17}
var Cc=[ud,function(){Kc(this,O(this));this.b-=10},function(){this.ka(Jc(this),this.j);this.b-=7},function(){Kc(this,Jc(this)+1);this.b-=5},function(){this.O=Xc(this,this.O);this.b-=5},function(){this.O=Wc(this,this.O);this.b-=5},function(){this.O=L(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255|a>>8;Oc(this,a&256);this.b-=4},ud,function(){var a;Nc(this,a=I(this)+Jc(this));Oc(this,a>>8&256);this.b-=10},function(){this.j=this.W(Jc(this));this.b-=7},function(){Kc(this,Jc(this)-1);this.b-= var Cc=[ud,function(){Kc(this,O(this));this.b-=10},function(){this.ma(Jc(this),this.j);this.b-=7},function(){Kc(this,Jc(this)+1);this.b-=5},function(){this.O=Xc(this,this.O);this.b-=5},function(){this.O=Wc(this,this.O);this.b-=5},function(){this.O=M(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255|a>>8;Oc(this,a&256);this.b-=4},ud,function(){var a;Nc(this,a=J(this)+Jc(this));Oc(this,a>>8&256);this.b-=10},function(){this.j=this.W(Jc(this));this.b-=7},function(){Kc(this,Jc(this)-1);this.b-=
5},function(){this.P=Xc(this,this.P);this.b-=5},function(){this.P=Wc(this,this.P);this.b-=5},function(){this.P=L(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(a|this.j)>>1;Oc(this,a);this.b-=4},ud,function(){Mc(this,O(this));this.b-=10},function(){this.ka(Lc(this),this.j);this.b-=7},function(){Mc(this,Lc(this)+1);this.b-=5},function(){this.R=Xc(this,this.R);this.b-=5},function(){this.R=Wc(this,this.R);this.b-=5},function(){this.R=L(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255| 5},function(){this.P=Xc(this,this.P);this.b-=5},function(){this.P=Wc(this,this.P);this.b-=5},function(){this.P=M(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(a|this.j)>>1;Oc(this,a);this.b-=4},ud,function(){Mc(this,O(this));this.b-=10},function(){this.ma(Lc(this),this.j);this.b-=7},function(){Mc(this,Lc(this)+1);this.b-=5},function(){this.R=Xc(this,this.R);this.b-=5},function(){this.R=Wc(this,this.R);this.b-=5},function(){this.R=M(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255|
J(this);Oc(this,a&256);this.b-=4},ud,function(){var a;Nc(this,a=I(this)+Lc(this));Oc(this,a>>8&256);this.b-=10},function(){this.j=this.W(Lc(this));this.b-=7},function(){Mc(this,Lc(this)-1);this.b-=5},function(){this.S=Xc(this,this.S);this.b-=5},function(){this.S=Wc(this,this.S);this.b-=5},function(){this.S=L(this);this.b-=7},function(){var a=this.j<<8;this.j=(J(this)<<8|this.j)>>1;Oc(this,a&256);this.b-=4},ud,function(){Nc(this,O(this));this.b-=10},function(){var a=O(this);this.B.Cb(a,I(this));this.b-= K(this);Oc(this,a&256);this.b-=4},ud,function(){var a;Nc(this,a=J(this)+Lc(this));Oc(this,a>>8&256);this.b-=10},function(){this.j=this.W(Lc(this));this.b-=7},function(){Mc(this,Lc(this)-1);this.b-=5},function(){this.S=Xc(this,this.S);this.b-=5},function(){this.S=Wc(this,this.S);this.b-=5},function(){this.S=M(this);this.b-=7},function(){var a=this.j<<8;this.j=(K(this)<<8|this.j)>>1;Oc(this,a&256);this.b-=4},ud,function(){Nc(this,O(this));this.b-=10},function(){var a=O(this);this.B.Cb(a,J(this));this.b-=
16},function(){Nc(this,I(this)+1);this.b-=5},function(){this.T=Xc(this,this.T);this.b-=5},function(){this.T=Wc(this,this.T);this.b-=5},function(){this.T=L(this);this.b-=7},function(){var a=0,b=J(this);if(Qc(this)||9<(this.j&15))a|=6;if(b||154<=this.j)a|=96,b=1;this.j=Tc(this,a);Oc(this,b?256:0);this.b-=4},ud,function(){var a;Nc(this,a=I(this)+I(this));Oc(this,a>>8&256);this.b-=10},function(){var a;a=O(this);a=this.B.La(a);Nc(this,a);this.b-=16},function(){Nc(this,I(this)-1);this.b-=5},function(){this.V= 16},function(){Nc(this,J(this)+1);this.b-=5},function(){this.T=Xc(this,this.T);this.b-=5},function(){this.T=Wc(this,this.T);this.b-=5},function(){this.T=M(this);this.b-=7},function(){var a=0,b=K(this);if(Qc(this)||9<(this.j&15))a|=6;if(b||154<=this.j)a|=96,b=1;this.j=Tc(this,a);Oc(this,b?256:0);this.b-=4},ud,function(){var a;Nc(this,a=J(this)+J(this));Oc(this,a>>8&256);this.b-=10},function(){var a;a=O(this);a=this.B.La(a);Nc(this,a);this.b-=16},function(){Nc(this,J(this)-1);this.b-=5},function(){this.V=
Xc(this,this.V);this.b-=5},function(){this.V=Wc(this,this.V);this.b-=5},function(){this.V=L(this);this.b-=7},function(){this.j=~this.j&255;this.b-=4},ud,function(){this.da=O(this)&65535;this.b-=10},function(){this.ka(O(this),this.j);this.b-=13},function(){this.da=this.da+1&65535;this.b-=5},function(){var a=I(this);this.ka(a,Xc(this,this.W(a)));this.b-=10},function(){var a=I(this);this.ka(a,Wc(this,this.W(a)));this.b-=10},function(){this.ka(I(this),L(this));this.b-=10},function(){this.Y|=256;this.b-= Xc(this,this.V);this.b-=5},function(){this.V=Wc(this,this.V);this.b-=5},function(){this.V=M(this);this.b-=7},function(){this.j=~this.j&255;this.b-=4},ud,function(){this.ea=O(this)&65535;this.b-=10},function(){this.ma(O(this),this.j);this.b-=13},function(){this.ea=this.ea+1&65535;this.b-=5},function(){var a=J(this);this.ma(a,Xc(this,this.W(a)));this.b-=10},function(){var a=J(this);this.ma(a,Wc(this,this.W(a)));this.b-=10},function(){this.ma(J(this),M(this));this.b-=10},function(){this.Y|=256;this.b-=
4},ud,function(){var a;Nc(this,a=I(this)+this.da);Oc(this,a>>8&256);this.b-=10},function(){this.j=this.W(O(this));this.b-=13},function(){this.da=this.da-1&65535;this.b-=5},function(){this.j=Xc(this,this.j);this.b-=5},function(){this.j=Wc(this,this.j);this.b-=5},function(){this.j=L(this);this.b-=7},function(){Oc(this,J(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.O=this.P;this.b-=5},function(){this.O=this.R;this.b-=5},function(){this.O=this.S;this.b-=5},function(){this.O=this.T;this.b-= 4},ud,function(){var a;Nc(this,a=J(this)+this.ea);Oc(this,a>>8&256);this.b-=10},function(){this.j=this.W(O(this));this.b-=13},function(){this.ea=this.ea-1&65535;this.b-=5},function(){this.j=Xc(this,this.j);this.b-=5},function(){this.j=Wc(this,this.j);this.b-=5},function(){this.j=M(this);this.b-=7},function(){Oc(this,K(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.O=this.P;this.b-=5},function(){this.O=this.R;this.b-=5},function(){this.O=this.S;this.b-=5},function(){this.O=this.T;this.b-=
5},function(){this.O=this.V;this.b-=5},function(){this.O=this.W(I(this));this.b-=7},function(){this.O=this.j;this.b-=5},function(){this.P=this.O;this.b-=5},function(){this.b-=5},function(){this.P=this.R;this.b-=5},function(){this.P=this.S;this.b-=5},function(){this.P=this.T;this.b-=5},function(){this.P=this.V;this.b-=5},function(){this.P=this.W(I(this));this.b-=7},function(){this.P=this.j;this.b-=5},function(){this.R=this.O;this.b-=5},function(){this.R=this.P;this.b-=5},function(){this.b-=5},function(){this.R= 5},function(){this.O=this.V;this.b-=5},function(){this.O=this.W(J(this));this.b-=7},function(){this.O=this.j;this.b-=5},function(){this.P=this.O;this.b-=5},function(){this.b-=5},function(){this.P=this.R;this.b-=5},function(){this.P=this.S;this.b-=5},function(){this.P=this.T;this.b-=5},function(){this.P=this.V;this.b-=5},function(){this.P=this.W(J(this));this.b-=7},function(){this.P=this.j;this.b-=5},function(){this.R=this.O;this.b-=5},function(){this.R=this.P;this.b-=5},function(){this.b-=5},function(){this.R=
this.S;this.b-=5},function(){this.R=this.T;this.b-=5},function(){this.R=this.V;this.b-=5},function(){this.R=this.W(I(this));this.b-=7},function(){this.R=this.j;this.b-=5},function(){this.S=this.O;this.b-=5},function(){this.S=this.P;this.b-=5},function(){this.S=this.R;this.b-=5},function(){this.b-=5},function(){this.S=this.T;this.b-=5},function(){this.S=this.V;this.b-=5},function(){this.S=this.W(I(this));this.b-=7},function(){this.S=this.j;this.b-=5},function(){this.T=this.O;this.b-=5},function(){this.T= this.S;this.b-=5},function(){this.R=this.T;this.b-=5},function(){this.R=this.V;this.b-=5},function(){this.R=this.W(J(this));this.b-=7},function(){this.R=this.j;this.b-=5},function(){this.S=this.O;this.b-=5},function(){this.S=this.P;this.b-=5},function(){this.S=this.R;this.b-=5},function(){this.b-=5},function(){this.S=this.T;this.b-=5},function(){this.S=this.V;this.b-=5},function(){this.S=this.W(J(this));this.b-=7},function(){this.S=this.j;this.b-=5},function(){this.T=this.O;this.b-=5},function(){this.T=
this.P;this.b-=5},function(){this.T=this.R;this.b-=5},function(){this.T=this.S;this.b-=5},function(){this.b-=5},function(){this.T=this.V;this.b-=5},function(){this.T=this.W(I(this));this.b-=7},function(){this.T=this.j;this.b-=5},function(){this.V=this.O;this.b-=5},function(){this.V=this.P;this.b-=5},function(){this.V=this.R;this.b-=5},function(){this.V=this.S;this.b-=5},function(){this.V=this.T;this.b-=5},function(){this.b-=5},function(){this.V=this.W(I(this));this.b-=7},function(){this.V=this.j; this.P;this.b-=5},function(){this.T=this.R;this.b-=5},function(){this.T=this.S;this.b-=5},function(){this.b-=5},function(){this.T=this.V;this.b-=5},function(){this.T=this.W(J(this));this.b-=7},function(){this.T=this.j;this.b-=5},function(){this.V=this.O;this.b-=5},function(){this.V=this.P;this.b-=5},function(){this.V=this.R;this.b-=5},function(){this.V=this.S;this.b-=5},function(){this.V=this.T;this.b-=5},function(){this.b-=5},function(){this.V=this.W(J(this));this.b-=7},function(){this.V=this.j;
this.b-=5},function(){this.ka(I(this),this.O);this.b-=7},function(){this.ka(I(this),this.P);this.b-=7},function(){this.ka(I(this),this.R);this.b-=7},function(){this.ka(I(this),this.S);this.b-=7},function(){this.ka(I(this),this.T);this.b-=7},function(){this.ka(I(this),this.V);this.b-=7},function(){var a=this.M-1;if(this.J.length)for(var b=0;b<this.J.length;b++)if(this.J[b](a))return;this.w|=16;this.b-=7;this.G&&eb(this,-2147483648)?(F(this,a),this.G.ea()):this.sa&512||(this.G&&F(this,a),this.ea())}, this.b-=5},function(){this.ma(J(this),this.O);this.b-=7},function(){this.ma(J(this),this.P);this.b-=7},function(){this.ma(J(this),this.R);this.b-=7},function(){this.ma(J(this),this.S);this.b-=7},function(){this.ma(J(this),this.T);this.b-=7},function(){this.ma(J(this),this.V);this.b-=7},function(){var a=this.M-1;if(this.J.length)for(var b=0;b<this.J.length;b++)if(this.J[b](a))return;this.w|=16;this.b-=7;this.G&&eb(this,-2147483648)?(F(this,a),this.G.fa()):this.ta&512||(this.G&&F(this,a),this.fa())},
function(){this.ka(I(this),this.j);this.b-=7},function(){this.j=this.O;this.b-=5},function(){this.j=this.P;this.b-=5},function(){this.j=this.R;this.b-=5},function(){this.j=this.S;this.b-=5},function(){this.j=this.T;this.b-=5},function(){this.j=this.V;this.b-=5},function(){this.j=this.W(I(this));this.b-=7},function(){this.b-=5},function(){this.j=Tc(this,this.O);this.b-=4},function(){this.j=Tc(this,this.P);this.b-=4},function(){this.j=Tc(this,this.R);this.b-=4},function(){this.j=Tc(this,this.S);this.b-= function(){this.ma(J(this),this.j);this.b-=7},function(){this.j=this.O;this.b-=5},function(){this.j=this.P;this.b-=5},function(){this.j=this.R;this.b-=5},function(){this.j=this.S;this.b-=5},function(){this.j=this.T;this.b-=5},function(){this.j=this.V;this.b-=5},function(){this.j=this.W(J(this));this.b-=7},function(){this.b-=5},function(){this.j=Tc(this,this.O);this.b-=4},function(){this.j=Tc(this,this.P);this.b-=4},function(){this.j=Tc(this,this.R);this.b-=4},function(){this.j=Tc(this,this.S);this.b-=
4},function(){this.j=Tc(this,this.T);this.b-=4},function(){this.j=Tc(this,this.V);this.b-=4},function(){this.j=Tc(this,this.W(I(this)));this.b-=7},function(){this.j=Tc(this,this.j);this.b-=4},function(){this.j=Uc(this,this.O);this.b-=4},function(){this.j=Uc(this,this.P);this.b-=4},function(){this.j=Uc(this,this.R);this.b-=4},function(){this.j=Uc(this,this.S);this.b-=4},function(){this.j=Uc(this,this.T);this.b-=4},function(){this.j=Uc(this,this.V);this.b-=4},function(){this.j=Uc(this,this.W(I(this))); 4},function(){this.j=Tc(this,this.T);this.b-=4},function(){this.j=Tc(this,this.V);this.b-=4},function(){this.j=Tc(this,this.W(J(this)));this.b-=7},function(){this.j=Tc(this,this.j);this.b-=4},function(){this.j=Uc(this,this.O);this.b-=4},function(){this.j=Uc(this,this.P);this.b-=4},function(){this.j=Uc(this,this.R);this.b-=4},function(){this.j=Uc(this,this.S);this.b-=4},function(){this.j=Uc(this,this.T);this.b-=4},function(){this.j=Uc(this,this.V);this.b-=4},function(){this.j=Uc(this,this.W(J(this)));
this.b-=7},function(){this.j=Uc(this,this.j);this.b-=4},function(){this.j=K(this,this.O);this.b-=4},function(){this.j=K(this,this.P);this.b-=4},function(){this.j=K(this,this.R);this.b-=4},function(){this.j=K(this,this.S);this.b-=4},function(){this.j=K(this,this.T);this.b-=4},function(){this.j=K(this,this.V);this.b-=4},function(){this.j=K(this,this.W(I(this)));this.b-=7},function(){this.j=K(this,this.j);this.b-=4},function(){this.j=Zc(this,this.O);this.b-=4},function(){this.j=Zc(this,this.P);this.b-= this.b-=7},function(){this.j=Uc(this,this.j);this.b-=4},function(){this.j=L(this,this.O);this.b-=4},function(){this.j=L(this,this.P);this.b-=4},function(){this.j=L(this,this.R);this.b-=4},function(){this.j=L(this,this.S);this.b-=4},function(){this.j=L(this,this.T);this.b-=4},function(){this.j=L(this,this.V);this.b-=4},function(){this.j=L(this,this.W(J(this)));this.b-=7},function(){this.j=L(this,this.j);this.b-=4},function(){this.j=Zc(this,this.O);this.b-=4},function(){this.j=Zc(this,this.P);this.b-=
4},function(){this.j=Zc(this,this.R);this.b-=4},function(){this.j=Zc(this,this.S);this.b-=4},function(){this.j=Zc(this,this.T);this.b-=4},function(){this.j=Zc(this,this.V);this.b-=4},function(){this.j=Zc(this,this.W(I(this)));this.b-=7},function(){this.j=Zc(this,this.j);this.b-=4},function(){this.j=Vc(this,this.O);this.b-=4},function(){this.j=Vc(this,this.P);this.b-=4},function(){this.j=Vc(this,this.R);this.b-=4},function(){this.j=Vc(this,this.S);this.b-=4},function(){this.j=Vc(this,this.T);this.b-= 4},function(){this.j=Zc(this,this.R);this.b-=4},function(){this.j=Zc(this,this.S);this.b-=4},function(){this.j=Zc(this,this.T);this.b-=4},function(){this.j=Zc(this,this.V);this.b-=4},function(){this.j=Zc(this,this.W(J(this)));this.b-=7},function(){this.j=Zc(this,this.j);this.b-=4},function(){this.j=Vc(this,this.O);this.b-=4},function(){this.j=Vc(this,this.P);this.b-=4},function(){this.j=Vc(this,this.R);this.b-=4},function(){this.j=Vc(this,this.S);this.b-=4},function(){this.j=Vc(this,this.T);this.b-=
4},function(){this.j=Vc(this,this.V);this.b-=4},function(){this.j=Vc(this,this.W(I(this)));this.b-=7},function(){this.j=Vc(this,this.j);this.b-=4},function(){this.j=rd(this,this.O);this.b-=4},function(){this.j=rd(this,this.P);this.b-=4},function(){this.j=rd(this,this.R);this.b-=4},function(){this.j=rd(this,this.S);this.b-=4},function(){this.j=rd(this,this.T);this.b-=4},function(){this.j=rd(this,this.V);this.b-=4},function(){this.j=rd(this,this.W(I(this)));this.b-=7},function(){this.j=rd(this,this.j); 4},function(){this.j=Vc(this,this.V);this.b-=4},function(){this.j=Vc(this,this.W(J(this)));this.b-=7},function(){this.j=Vc(this,this.j);this.b-=4},function(){this.j=rd(this,this.O);this.b-=4},function(){this.j=rd(this,this.P);this.b-=4},function(){this.j=rd(this,this.R);this.b-=4},function(){this.j=rd(this,this.S);this.b-=4},function(){this.j=rd(this,this.T);this.b-=4},function(){this.j=rd(this,this.V);this.b-=4},function(){this.j=rd(this,this.W(J(this)));this.b-=7},function(){this.j=rd(this,this.j);
this.b-=4},function(){this.j=Yc(this,this.O);this.b-=4},function(){this.j=Yc(this,this.P);this.b-=4},function(){this.j=Yc(this,this.R);this.b-=4},function(){this.j=Yc(this,this.S);this.b-=4},function(){this.j=Yc(this,this.T);this.b-=4},function(){this.j=Yc(this,this.V);this.b-=4},function(){this.j=Yc(this,this.W(I(this)));this.b-=7},function(){this.j=Yc(this,this.j);this.b-=4},function(){K(this,this.O);this.b-=4},function(){K(this,this.P);this.b-=4},function(){K(this,this.R);this.b-=4},function(){K(this, this.b-=4},function(){this.j=Yc(this,this.O);this.b-=4},function(){this.j=Yc(this,this.P);this.b-=4},function(){this.j=Yc(this,this.R);this.b-=4},function(){this.j=Yc(this,this.S);this.b-=4},function(){this.j=Yc(this,this.T);this.b-=4},function(){this.j=Yc(this,this.V);this.b-=4},function(){this.j=Yc(this,this.W(J(this)));this.b-=7},function(){this.j=Yc(this,this.j);this.b-=4},function(){L(this,this.O);this.b-=4},function(){L(this,this.P);this.b-=4},function(){L(this,this.R);this.b-=4},function(){L(this,
this.S);this.b-=4},function(){K(this,this.T);this.b-=4},function(){K(this,this.V);this.b-=4},function(){K(this,this.W(I(this)));this.b-=7},function(){K(this,this.j);this.b-=4},function(){Rc(this)||(F(this,P(this)),this.b-=6);this.b-=5},function(){Kc(this,P(this));this.b-=10},function(){var a=O(this);Rc(this)||F(this,a);this.b-=10},vd,function(){var a=O(this);Rc(this)||(Q(this,this.M),F(this,a),this.b-=6);this.b-=11},function(){Q(this,Jc(this));this.b-=11},function(){this.j=Tc(this,L(this));this.b-= this.S);this.b-=4},function(){L(this,this.T);this.b-=4},function(){L(this,this.V);this.b-=4},function(){L(this,this.W(J(this)));this.b-=7},function(){L(this,this.j);this.b-=4},function(){Rc(this)||(F(this,P(this)),this.b-=6);this.b-=5},function(){Kc(this,P(this));this.b-=10},function(){var a=O(this);Rc(this)||F(this,a);this.b-=10},vd,function(){var a=O(this);Rc(this)||(Q(this,this.M),F(this,a),this.b-=6);this.b-=11},function(){Q(this,Jc(this));this.b-=11},function(){this.j=Tc(this,M(this));this.b-=
7},function(){Q(this,this.M);F(this,0);this.b-=11},function(){Rc(this)&&(F(this,P(this)),this.b-=6);this.b-=5},wd,function(){var a=O(this);Rc(this)&&F(this,a);this.b-=10},vd,function(){var a=O(this);Rc(this)&&(Q(this,this.M),F(this,a),this.b-=6);this.b-=11},xd,function(){this.j=Uc(this,L(this));this.b-=7},function(){Q(this,this.M);F(this,8);this.b-=11},function(){J(this)||(F(this,P(this)),this.b-=6);this.b-=5},function(){Mc(this,P(this));this.b-=10},function(){var a=O(this);J(this)||F(this,a);this.b-= 7},function(){Q(this,this.M);F(this,0);this.b-=11},function(){Rc(this)&&(F(this,P(this)),this.b-=6);this.b-=5},wd,function(){var a=O(this);Rc(this)&&F(this,a);this.b-=10},vd,function(){var a=O(this);Rc(this)&&(Q(this,this.M),F(this,a),this.b-=6);this.b-=11},xd,function(){this.j=Uc(this,M(this));this.b-=7},function(){Q(this,this.M);F(this,8);this.b-=11},function(){K(this)||(F(this,P(this)),this.b-=6);this.b-=5},function(){Mc(this,P(this));this.b-=10},function(){var a=O(this);K(this)||F(this,a);this.b-=
10},function(){var a=L(this);Cb(this.B,a,this.j,this.M+-2&65535);this.b-=10},function(){var a=O(this);J(this)||(Q(this,this.M),F(this,a),this.b-=6);this.b-=11},function(){Q(this,Lc(this));this.b-=11},function(){this.j=K(this,L(this));this.b-=7},function(){Q(this,this.M);F(this,16);this.b-=11},function(){J(this)&&(F(this,P(this)),this.b-=6);this.b-=5},wd,function(){var a=O(this);J(this)&&F(this,a);this.b-=10},function(){var a=L(this);this.j=zb(this.B,a,this.M+-2&65535)&255;this.b-=10},function(){var a= 10},function(){var a=M(this);Cb(this.B,a,this.j,this.M+-2&65535);this.b-=10},function(){var a=O(this);K(this)||(Q(this,this.M),F(this,a),this.b-=6);this.b-=11},function(){Q(this,Lc(this));this.b-=11},function(){this.j=L(this,M(this));this.b-=7},function(){Q(this,this.M);F(this,16);this.b-=11},function(){K(this)&&(F(this,P(this)),this.b-=6);this.b-=5},wd,function(){var a=O(this);K(this)&&F(this,a);this.b-=10},function(){var a=M(this);this.j=zb(this.B,a,this.M+-2&65535)&255;this.b-=10},function(){var a=
O(this);J(this)&&(Q(this,this.M),F(this,a),this.b-=6);this.b-=11},xd,function(){this.j=Zc(this,L(this));this.b-=7},function(){Q(this,this.M);F(this,24);this.b-=11},function(){Pc(this)||(F(this,P(this)),this.b-=6);this.b-=5},function(){Nc(this,P(this));this.b-=10},function(){var a=O(this);Pc(this)||F(this,a);this.b-=10},function(){var a=P(this);Q(this,I(this));Nc(this,a);this.b-=18},function(){var a=O(this);Pc(this)||(Q(this,this.M),F(this,a),this.b-=6);this.b-=11},function(){Q(this,I(this));this.b-= O(this);K(this)&&(Q(this,this.M),F(this,a),this.b-=6);this.b-=11},xd,function(){this.j=Zc(this,M(this));this.b-=7},function(){Q(this,this.M);F(this,24);this.b-=11},function(){Pc(this)||(F(this,P(this)),this.b-=6);this.b-=5},function(){Nc(this,P(this));this.b-=10},function(){var a=O(this);Pc(this)||F(this,a);this.b-=10},function(){var a=P(this);Q(this,J(this));Nc(this,a);this.b-=18},function(){var a=O(this);Pc(this)||(Q(this,this.M),F(this,a),this.b-=6);this.b-=11},function(){Q(this,J(this));this.b-=
11},function(){this.j=Vc(this,L(this));this.b-=7},function(){Q(this,this.M);F(this,32);this.b-=11},function(){Pc(this)&&(F(this,P(this)),this.b-=6);this.b-=5},function(){F(this,I(this));this.b-=5},function(){var a=O(this);Pc(this)&&F(this,a);this.b-=10},function(){var a=I(this);Nc(this,Lc(this));Mc(this,a);this.b-=5},function(){var a=O(this);Pc(this)&&(Q(this,this.M),F(this,a),this.b-=6);this.b-=11},xd,function(){this.j=rd(this,L(this));this.b-=7},function(){Q(this,this.M);F(this,40);this.b-=11}, 11},function(){this.j=Vc(this,M(this));this.b-=7},function(){Q(this,this.M);F(this,32);this.b-=11},function(){Pc(this)&&(F(this,P(this)),this.b-=6);this.b-=5},function(){F(this,J(this));this.b-=5},function(){var a=O(this);Pc(this)&&F(this,a);this.b-=10},function(){var a=J(this);Nc(this,Lc(this));Mc(this,a);this.b-=5},function(){var a=O(this);Pc(this)&&(Q(this,this.M),F(this,a),this.b-=6);this.b-=11},xd,function(){this.j=rd(this,M(this));this.b-=7},function(){Q(this,this.M);F(this,40);this.b-=11},
function(){Sc(this)||(F(this,P(this)),this.b-=6);this.b-=5},function(){var a=P(this);Fc(this,a&255|this.sa&-256);this.j=a>>8;this.b-=10},function(){var a=O(this);Sc(this)||F(this,a);this.b-=10},function(){this.sa&=-513;this.b-=4},function(){var a=O(this);Sc(this)||(Q(this,this.M),F(this,a),this.b-=6);this.b-=11},function(){Q(this,Hc(this)&255|this.j<<8);this.b-=11},function(){this.j=Yc(this,L(this));this.b-=7},function(){Q(this,this.M);F(this,48);this.b-=11},function(){Sc(this)&&(F(this,P(this)), function(){Sc(this)||(F(this,P(this)),this.b-=6);this.b-=5},function(){var a=P(this);Fc(this,a&255|this.ta&-256);this.j=a>>8;this.b-=10},function(){var a=O(this);Sc(this)||F(this,a);this.b-=10},function(){this.ta&=-513;this.b-=4},function(){var a=O(this);Sc(this)||(Q(this,this.M),F(this,a),this.b-=6);this.b-=11},function(){Q(this,Hc(this)&255|this.j<<8);this.b-=11},function(){this.j=Yc(this,M(this));this.b-=7},function(){Q(this,this.M);F(this,48);this.b-=11},function(){Sc(this)&&(F(this,P(this)),
this.b-=6);this.b-=5},function(){this.da=I(this)&65535;this.b-=5},function(){var a=O(this);Sc(this)&&F(this,a);this.b-=10},function(){this.sa|=512;this.b-=4},function(){var a=O(this);Sc(this)&&(Q(this,this.M),F(this,a),this.b-=6);this.b-=11},xd,function(){K(this,L(this));this.b-=7},function(){Q(this,this.M);F(this,56);this.b-=11}]; this.b-=6);this.b-=5},function(){this.ea=J(this)&65535;this.b-=5},function(){var a=O(this);Sc(this)&&F(this,a);this.b-=10},function(){this.ta|=512;this.b-=4},function(){var a=O(this);Sc(this)&&(Q(this,this.M),F(this,a),this.b-=6);this.b-=11},xd,function(){L(this,M(this));this.b-=7},function(){Q(this,this.M);F(this,56);this.b-=11}];
function T(a){y.call(this,"ChipSet",a,T,32768);var b=a.model;b&&!yd[b]&&w("Unrecognized ChipSet model: "+b);this.Ra=yd[b]||zd;a.sound&&(this.N=null,window&&(this.N=window.AudioContext||window.webkitAudioContext),this.N&&new this.N);C(this)}Wa(T);var zd=1978.1,yd={SI1978:zd};m=T.prototype;m.oa=function(){return!1}; function T(a){y.call(this,"ChipSet",a,T,32768);var b=a.model;b&&!yd[b]&&x("Unrecognized ChipSet model: "+b);this.Ra=yd[b]||zd;a.sound&&(this.N=null,window&&(this.N=window.AudioContext||window.webkitAudioContext),this.N&&new this.N);D(this)}Wa(T);var zd=1978.1,yd={SI1978:zd};m=T.prototype;m.pa=function(){return!1};
m.Ka=function(a,b,c,d){this.B=b;this.b=c;this.G=d;this.u=a;if(this.Ra==zd){var e;a=Ad;void 0===e&&(e=0);for(var f in a){c=b;d=+f+e;var h=a[f].bind(this);if(void 0!==h)for(var g=+f+e;g<=d;g++)void 0!==c.u[g]?w("Input port "+t(g)+" already registered"):c.u[g]=[h,!1]}var l;e=Bd;void 0===l&&(l=0);for(var k in e)if(f=b,a=+k+l,c=e[k].bind(this),void 0!==c)for(d=+k+l;d<=a;d++)void 0!==f.C[d]?w("Output port "+t(d)+" already registered"):f.C[d]=[c,!1]}}; m.Ka=function(a,b,c,d){this.B=b;this.b=c;this.G=d;this.u=a;if(this.Ra==zd){var e;a=Ad;void 0===e&&(e=0);for(var f in a){c=b;d=+f+e;var h=a[f].bind(this);if(void 0!==h)for(var g=+f+e;g<=d;g++)void 0!==c.u[g]?x("Input port "+t(g)+" already registered"):c.u[g]=[h,!1]}var l;e=Bd;void 0===l&&(l=0);for(var k in e)if(f=b,a=+k+l,c=e[k].bind(this),void 0!==c)for(d=+k+l;d<=a;d++)void 0!==f.C[d]?x("Output port "+t(d)+" already registered"):f.C[d]=[c,!1]}};
m.Ea=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.Ha=function(a){return a?this.save():!0};m.reset=function(){this.J=14;this.C=8;this.H=this.I=this.F=this.w=this.K=0};m.save=function(){var a=new Ic(this);this.Ra==zd&&G(a,0,[this.J,this.C,this.K,this.w,this.F,this.H,this.I]);return a.data()};m.restore=function(a){a=a[0];this.Ra==zd&&(this.J=a[0],this.C=a[1],this.K=a[2],this.w=a[3],this.F=a[4],this.H=a[5],this.I=a[6]);return!0};m.start=function(){};m.stop=function(){}; m.Ea=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.Ha=function(a){return a?this.save():!0};m.reset=function(){this.J=14;this.C=8;this.H=this.I=this.F=this.w=this.K=0};m.save=function(){var a=new Ic(this);this.Ra==zd&&H(a,0,[this.J,this.C,this.K,this.w,this.F,this.H,this.I]);return a.data()};m.restore=function(a){a=a[0];this.Ra==zd&&(this.J=a[0],this.C=a[1],this.K=a[2],this.w=a[3],this.F=a[4],this.H=a[5],this.I=a[6]);return!0};m.start=function(){};m.stop=function(){};
function Cd(a,b,c){a.C&=~b;c&&(a.C|=b)}m.ic=function(a,b){var c=this.J;bb(this,a,null,b,"STATUS0",c);return c};m.jc=function(a,b){var c=this.C;bb(this,a,null,b,"STATUS1",c);return c};m.kc=function(a,b){var c=this.K;bb(this,a,null,b,"STATUS2",c);return c};m.hc=function(a,b){var c=this.w>>8-this.F&255;bb(this,a,null,b,"SHIFT.RESULT",c);return c};m.pc=function(a,b,c){bb(this,a,b,c,"SHIFT.COUNT",null);this.F=b};m.rc=function(a,b,c){bb(this,a,b,c,"SOUND1",null);this.H=b}; function Cd(a,b,c){a.C&=~b;c&&(a.C|=b)}m.jc=function(a,b){var c=this.J;bb(this,a,null,b,"STATUS0",c);return c};m.kc=function(a,b){var c=this.C;bb(this,a,null,b,"STATUS1",c);return c};m.lc=function(a,b){var c=this.K;bb(this,a,null,b,"STATUS2",c);return c};m.ic=function(a,b){var c=this.w>>8-this.F&255;bb(this,a,null,b,"SHIFT.RESULT",c);return c};m.pc=function(a,b,c){bb(this,a,b,c,"SHIFT.COUNT",null);this.F=b};m.rc=function(a,b,c){bb(this,a,b,c,"SOUND1",null);this.H=b};
m.qc=function(a,b,c){bb(this,a,b,c,"SHIFT.DATA",null);this.w=b<<8|this.w>>8};m.sc=function(a,b,c){bb(this,a,b,c,"SOUND2",null);this.I=b};m.tc=function(a,b,c){bb(this,a,b,c,"WATCHDOG",null)};var Ad={0:T.prototype.ic,1:T.prototype.jc,2:T.prototype.kc,3:T.prototype.hc},Bd={2:T.prototype.pc,3:T.prototype.rc,4:T.prototype.qc,5:T.prototype.sc,6:T.prototype.tc};Ja(function(){for(var a=B(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new T(d);ab(d,c)}}); m.qc=function(a,b,c){bb(this,a,b,c,"SHIFT.DATA",null);this.w=b<<8|this.w>>8};m.sc=function(a,b,c){bb(this,a,b,c,"SOUND2",null);this.I=b};m.tc=function(a,b,c){bb(this,a,b,c,"WATCHDOG",null)};var Ad={0:T.prototype.jc,1:T.prototype.kc,2:T.prototype.lc,3:T.prototype.ic},Bd={2:T.prototype.pc,3:T.prototype.rc,4:T.prototype.qc,5:T.prototype.sc,6:T.prototype.tc};Ja(function(){for(var a=B(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new T(d);ab(d,c)}});
function Dd(a){y.call(this,"ROM",a,Dd);this.u=null;this.H=a.addr;this.C=a.size;this.I=a.writable;this.w=a.alias;this.F=a.file;this.J=ca(this.F);if(this.F){a=this.F;var b=da(this.J);"json"!=b&&"hex"!=b&&(a=pa()+"/api/v1/dump?file="+this.F+"&format=bytes&decimal=true");var c=this;oa(a,null,!0,function(a,b,f){Ed(c,a,b,f)})}}Wa(Dd);var Fd=[0,5];Dd.prototype.Ka=function(a,b,c,d){this.B=b;this.b=c;this.G=d;Gd(this)}; function Dd(a){y.call(this,"ROM",a,Dd);this.u=null;this.H=a.addr;this.C=a.size;this.I=a.writable;this.w=a.alias;this.F=a.file;this.J=ca(this.F);if(this.F){a=this.F;var b=da(this.J);"json"!=b&&"hex"!=b&&(a=pa()+"/api/v1/dump?file="+this.F+"&format=bytes&decimal=true");var c=this;oa(a,null,!0,function(a,b,f){Ed(c,a,b,f)})}}Wa(Dd);var Fd=[0,5];Dd.prototype.Ka=function(a,b,c,d){this.B=b;this.b=c;this.G=d;Gd(this)};
Dd.prototype.Ea=function(){if(this.Ja){if(this.G){var a=this.G,b=this.id,c=this.H,d=this.C,e=this.Ja,f=[],h;for(h in e){var g=e[h];"number"==typeof g&&(e[h]=g={o:g});var l=g.o,k=g.a;if(void 0!==l){var n=f,l=[l>>>0,h],p=ja(n,l,a.Ma);0>p&&n.splice(-(p+1),0,l)}k&&(g.a=k.replace(/''/g,'"'))}a.I.push({Ac:b,D:c,lc:d,Ja:e,Nb:f})}delete this.Ja}return!0};Dd.prototype.Ha=function(){return!0}; Dd.prototype.Ea=function(){if(this.Ja){if(this.G){var a=this.G,b=this.id,c=this.H,d=this.C,e=this.Ja,f=[],h;for(h in e){var g=e[h];"number"==typeof g&&(e[h]=g={o:g});var l=g.o,k=g.a;if(void 0!==l){var n=f,l=[l>>>0,h],p=ja(n,l,a.Ma);0>p&&n.splice(-(p+1),0,l)}k&&(g.a=k.replace(/''/g,'"'))}a.I.push({Bc:b,D:c,mc:d,Ja:e,Nb:f})}delete this.Ja}return!0};Dd.prototype.Ha=function(){return!0};
function Ed(a,b,c,d){if(d)a.ha("Unable to load system ROM (error "+d+": "+b+")");else{Ya(a.Fb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.u=f;else if(h)for(a.u=Array(4*h.length),d=c=0;c<h.length;c++)a.u[d++]=h[c]&255,a.u[d++]=h[c]>>8&255,a.u[d++]=h[c]>>16&255,a.u[d++]=h[c]>>24&255;else a.u=e;a.Ja=e.symbols;if(!a.u.length){w("Empty ROM: "+b);return}if(1==a.u.length){w(a.u[0]);return}}catch(g){a.ha("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm, function Ed(a,b,c,d){if(d)a.ia("Unable to load system ROM (error "+d+": "+b+")");else{Ya(a.Hb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.u=f;else if(h)for(a.u=Array(4*h.length),d=c=0;c<h.length;c++)a.u[d++]=h[c]&255,a.u[d++]=h[c]>>8&255,a.u[d++]=h[c]>>16&255,a.u[d++]=h[c]>>24&255;else a.u=e;a.Ja=e.symbols;if(!a.u.length){x("Empty ROM: "+b);return}if(1==a.u.length){x(a.u[0]);return}}catch(g){a.ia("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm,
" ").replace(/ +$/,"").split(" "),a.u=Array(b.length),e=0;e<b.length;e++)a.u[e]=ba(b[e],16);Gd(a)}} " ").replace(/ +$/,"").split(" "),a.u=Array(b.length),e=0;e<b.length;e++)a.u[e]=ba(b[e],16);Gd(a)}}
function Gd(a){if(!jb(a))if(!a.F)C(a);else if(a.u&&a.B){a.C||(a.C=a.u.length);if(a.u.length!=a.C)kb(a,"ROM size (0x"+q(a.u.length)+") does not match specified size ("+("0x"+q(a.C))+")");else if(Hd(a,a.H)){var b=[];"number"==typeof a.w?b.push(a.w):null!=a.w&&a.w.length&&(b=a.w);for(var c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.B,h=d.C,g=[],l=d.H>>>f.ga;0<h&&l<f.U.length;)g.push(f.U[l++]),h-=f.Aa;f=d.B;d=d.C;h=0;for(e>>>=f.ga;0<d&&e<f.U.length;){l=g[h++];if(!l)break;f.U[e++]=l;d-=f.Aa}}delete a.u}C(a)}} function Gd(a){if(!jb(a))if(!a.F)D(a);else if(a.u&&a.B){a.C||(a.C=a.u.length);if(a.u.length!=a.C)kb(a,"ROM size (0x"+r(a.u.length)+") does not match specified size ("+("0x"+r(a.C))+")");else if(Hd(a,a.H)){var b=[];"number"==typeof a.w?b.push(a.w):null!=a.w&&a.w.length&&(b=a.w);for(var c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.B,h=d.C,g=[],l=d.H>>>f.ha;0<h&&l<f.U.length;)g.push(f.U[l++]),h-=f.Aa;f=d.B;d=d.C;h=0;for(e>>>=f.ha;0<d&&e<f.U.length;){l=g[h++];if(!l)break;f.U[e++]=l;d-=f.Aa}}delete a.u}D(a)}}
function Hd(a,b){if(sb(a.B,b,a.C,a.I?1:Sb)){var c;for(c=0;c<a.u.length;c++)xb(a.B,b+c,a.u[c]);if(a.I&&256==b){for(c=0;c<Fd.length;c++)xb(a.B,Fd[c],118);Ec(a.b,function(a){return function(b){if(0<=Fd.indexOf(b)){var c=!1,h=a.b,g=a.G;if(5==b)switch(c=!0,h.P){case 2:Id(a,String.fromCharCode(h.S));break;case 9:for(var l=Lc(h),k="",n=255;n--;){var p=a.b.W(l++);if(36==p)break;k+=String.fromCharCode(p)}Id(a,k);break;default:c=!1}c?wd.call(h):g&&(a.g("\nCP/M vector "+t(b)),F(h,b),g.ea());b=!0}else b=!1;return b}}(a)); function Hd(a,b){if(sb(a.B,b,a.C,a.I?1:Sb)){var c;for(c=0;c<a.u.length;c++)xb(a.B,b+c,a.u[c]);if(a.I&&256==b){for(c=0;c<Fd.length;c++)xb(a.B,Fd[c],118);Ec(a.b,function(a){return function(b){if(0<=Fd.indexOf(b)){var c=!1,h=a.b,g=a.G;if(5==b)switch(c=!0,h.P){case 2:Id(a,String.fromCharCode(h.S));break;case 9:for(var l=Lc(h),k="",n=255;n--;){var p=a.b.W(l++);if(36==p)break;k+=String.fromCharCode(p)}Id(a,k);break;default:c=!1}c?wd.call(h):g&&(a.g("\nCP/M vector "+t(b)),F(h,b),g.fa());b=!0}else b=!1;return b}}(a));
Gc(a.b,b)}return!0}return!1}function Id(a,b){b=b.replace(/\r/g,"");a.za&&(a.za.value+=b,a.za.scrollTop=a.za.scrollHeight)}Ja(function(){for(var a=B(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Dd(d);ab(d,c)}});function Jd(a){y.call(this,"RAM",a,Jd);this.w=a.addr;this.C=a.size;this.u=!1}Wa(Jd);m=Jd.prototype;m.Ka=function(a,b,c,d){this.B=b;this.b=c;this.G=d;C(this)};m.Ea=function(a,b){b||this.reset();return!0};m.Ha=function(a){return a?this.save():!0}; Gc(a.b,b)}return!0}return!1}function Id(a,b){b=b.replace(/\r/g,"");a.za&&(a.za.value+=b,a.za.scrollTop=a.za.scrollHeight)}Ja(function(){for(var a=B(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Dd(d);ab(d,c)}});function Jd(a){y.call(this,"RAM",a,Jd);this.w=a.addr;this.C=a.size;this.u=!1}Wa(Jd);m=Jd.prototype;m.Ka=function(a,b,c,d){this.B=b;this.b=c;this.G=d;D(this)};m.Ea=function(a,b){b||this.reset();return!0};m.Ha=function(a){return a?this.save():!0};
m.reset=function(){!this.u&&this.C&&sb(this.B,this.w,this.C,1)&&(this.u=!0);this.u||w("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};Ja(function(){for(var a=B(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Jd(d);ab(d,c)}});function Kd(a){y.call(this,"Keyboard",a,Kd,65536);this.reset();C(this)}Wa(Kd);var Ld={"1p":49,"2p":50,coin:51,left:37,right:39,fire:32},Md={65:37,68:39,76:32};Kd.prototype.reset=function(){this.b={}}; m.reset=function(){!this.u&&this.C&&sb(this.B,this.w,this.C,1)&&(this.u=!0);this.u||x("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};Ja(function(){for(var a=B(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Jd(d);ab(d,c)}});function Kd(a){y.call(this,"Keyboard",a,Kd,65536);this.reset();D(this)}Wa(Kd);var Ld={"1p":49,"2p":50,coin:51,left:37,right:39,fire:32},Md={65:37,68:39,76:32};Kd.prototype.reset=function(){this.b={}};
Kd.prototype.oa=function(a,b,c){var d=this;a=a+"-"+b;if(void 0===this.L[a])switch(b){case "kbd":return c.onkeydown=function(a){return Nd(d,a,!0)},c.onkeyup=function(a){return Nd(d,a,!1)},!0;default:if(void 0!==Ld[b])return this.L[a]=c,a=function(a,b){return function(){Od(a,b,!0)}}(this,b),b=function(a,b){return function(){Od(a,b,!1)}}(this,b),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1}; Kd.prototype.pa=function(a,b,c){var d=this;a=a+"-"+b;if(void 0===this.L[a])switch(b){case "kbd":return c.onkeydown=function(a){return Nd(d,a,!0)},c.onkeyup=function(a){return Nd(d,a,!1)},!0;default:if(void 0!==Ld[b])return this.L[a]=c,a=function(a,b){return function(){Od(a,b,!0)}}(this,b),b=function(a,b){return function(){Od(a,b,!1)}}(this,b),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};
Kd.prototype.Ka=function(a,b,c,d){this.G=d;this.C=ob(a,"ChipSet")};function Nd(a,b,c){var d=!0,e;a:{e=b.keyCode;e=Md[e]||e;for(var f in Ld)if(Ld[f]===e){e=f;break a}e=null}e&&(d=Od(a,e,c));d||b.preventDefault();return d}function Od(a,b,c){a.b[b]=c;if(a.C)switch(b){case "1p":Cd(a.C,4,c);break;case "2p":Cd(a.C,2,c);break;case "coin":Cd(a.C,1,c);break;case "left":Cd(a.C,32,c);break;case "right":Cd(a.C,64,c);break;case "fire":Cd(a.C,16,c)}return!1} Kd.prototype.Ka=function(a,b,c,d){this.G=d;this.C=ob(a,"ChipSet")};function Nd(a,b,c){var d=!0,e;a:{e=b.keyCode;e=Md[e]||e;for(var f in Ld)if(Ld[f]===e){e=f;break a}e=null}e&&(d=Od(a,e,c));d||b.preventDefault();return d}function Od(a,b,c){a.b[b]=c;if(a.C)switch(b){case "1p":Cd(a.C,4,c);break;case "2p":Cd(a.C,2,c);break;case "coin":Cd(a.C,1,c);break;case "left":Cd(a.C,32,c);break;case "right":Cd(a.C,64,c);break;case "fire":Cd(a.C,16,c)}return!1}
Ja(function(){for(var a=B(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Kd(d);ab(d,c)}}); Ja(function(){for(var a=B(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Kd(d);ab(d,c)}});
function Pd(a,b,c,d,e){var f=this;this.zb=wa("Gecko/");var h=["","moz","ms","webkit"];y.call(this,"Video",a,Pd,262144);this.Z=a.screenWidth;this.X=a.screenHeight;this.va=a.bufferAddr;this.vc=a.bufferRAM;var g=a.bufferFormat;this.ca=g&&Qd[g.toLowerCase()]||Rd;this.Ma=a.bufferCols;this.Da=a.bufferRows;this.nc=this.ua=a.cellWidth||1;this.la=a.cellHeight||1;this.Va=null;this.Ia=a.bufferBits||1;this.wc=a.bufferLeft||0;if(this.F=a.bufferRotate)this.F=this.F%360,0<this.F&&(this.F-=360),-90!=this.F&&(this.ha("unsupported buffer rotation: "+ function Pd(a,b,c,d,e){var f=this;this.Ub=wa("Gecko/");var h=["","moz","ms","webkit"];y.call(this,"Video",a,Pd,262144);this.Z=a.screenWidth;this.X=a.screenHeight;this.va=a.bufferAddr;this.wc=a.bufferRAM;var g=a.bufferFormat;this.ca=g&&Qd[g.toLowerCase()]||Rd;this.Ma=a.bufferCols;this.Da=a.bufferRows;this.oc=this.la=a.cellWidth||1;this.da=a.cellHeight||1;this.Va=null;this.Ia=a.bufferBits||1;this.xc=a.bufferLeft||0;if(this.F=a.bufferRotate)this.F=this.F%360,0<this.F&&(this.F-=360),-90!=this.F&&(this.ia("unsupported buffer rotation: "+
this.F),this.F=0);this.Xb=a.interruptRate;this.yc=a.refreshRate||60;this.N=b;this.H=c;this.xa=(this.zc=d)||b||null;this.oc=this.Z;this.uc=this.X;this.xb=this.Z/this.Ma|0;this.yb=this.X/this.Da|0;1<this.la&&this.Da++;b=a.smoothing;(c=Ra.smoothing)&&(b="true"==c);if(null!=b)for(c=0;c<h.length;c++)if(d=(d=h[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.H[d]){this.H[d]=b;break}if(this.I=a.screenRotate)this.I=this.I%360,0<this.I&&(this.I-=360),-90!=this.I?(this.ha("unsupported screen rotation: "+ this.F),this.F=0);this.ac=a.interruptRate;this.zc=a.refreshRate||60;this.N=b;this.H=c;this.xa=(this.Ac=d)||b||null;this.uc=this.Z;this.vc=this.X;this.yb=this.Z/this.Ma|0;this.zb=this.X/this.Da|0;1<this.da&&this.Da++;b=a.smoothing;(c=Ra.smoothing)&&(b="true"==c);if(null!=b)for(c=0;c<h.length;c++)if(d=(d=h[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.H[d]){this.H[d]=b;break}if(this.I=a.screenRotate)this.I=this.I%360,0<this.I&&(this.I-=360),-90!=this.I?(this.ia("unsupported screen rotation: "+
this.I),this.I=0):(this.H.translate(0,this.X),this.H.rotate(this.I*Math.PI/180),this.H.scale(this.X/this.Z,this.Z/this.X));if(this.w=e)if(this.w.Xa=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.w.Xa){for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){Sd(f,document.fullscreenElement||document.msFullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement?!0:!1)},!1); this.I),this.I=0):(this.H.translate(0,this.X),this.H.rotate(this.I*Math.PI/180),this.H.scale(this.X/this.Z,this.Z/this.X));if(this.w=e)if(this.w.Xa=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.w.Xa){for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){Sd(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(){Sd(f,null)},!1);break}}if(this.fa=a.fontROM)"json"!=da(this.fa)&&(this.fa=pa()+"/api/v1/dump?file="+this.fa+"&format=bytes"),oa(this.fa,null,!0,function(a,b,c){Td(f,a,b,c)})}Wa(Pd);var Rd=0,Qd={vt100:2}; break}for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenerror","on"+d in document){document.addEventListener(d,function(){Sd(f,null)},!1);break}}if(this.ga=a.fontROM)"json"!=da(this.ga)&&(this.ga=pa()+"/api/v1/dump?file="+this.ga+"&format=bytes"),oa(this.ga,null,!0,function(a,b,c){Td(f,a,b,c)})}Wa(Pd);var Rd=0,Qd={vt100:2};
Pd.prototype.Ka=function(a,b,c,d){this.u=a;this.B=b;this.b=c;this.G=d;this.ca||(this.C=ob(a,"ChipSet"))&&this.C.Ra==zd&&(this.ca=1);this.J=this.Ma*this.ua;this.ba=this.Da*this.la;b=this.J;c=this.ba;this.F&&(b=this.ba,c=this.J);this.Na=(this.J*this.Ia>>3)*this.ba;if(this.vc||sb(this.B,this.va,this.Na,3))1<this.ua?Ud(this,this.Ma*this.Da):(this.Ub=this.H.createImageData(b,c),this.Wb=16/this.Ia|0,Ud(this,this.Na>>1)),this.K=document.createElement("canvas"),this.K.width=b,this.K.height=c,this.Wa=this.K.getContext("2d"), Pd.prototype.Ka=function(a,b,c,d){this.u=a;this.B=b;this.b=c;this.G=d;this.ca||(this.C=ob(a,"ChipSet"))&&this.C.Ra==zd&&(this.ca=1);this.J=this.Ma*this.la;this.ba=this.Da*this.da;b=this.J;c=this.ba;this.F&&(b=this.ba,c=this.J);this.Na=(this.J*this.Ia>>3)*this.ba;if(this.wc||sb(this.B,this.va,this.Na,3))1<this.la?Ud(this,this.Ma*this.Da):(this.Vb=this.H.createImageData(b,c),this.Xb=16/this.Ia|0,Ud(this,this.Na>>1)),this.K=document.createElement("canvas"),this.K.width=b,this.K.height=c,this.Wa=this.K.getContext("2d"),
this.pa={},this.Ca=1<<this.Ia,this.qa=Array(this.Ca+2),this.qa[0]=[0,0,0,255],this.qa[1]=[255,255,255,255],1==this.ca&&(this.qa[this.Ca+0]=[255,255,0,255],this.qa[this.Ca+1]=[0,255,0,255]),2==this.ca&&(this.xc=60,this.ta=Array(this.Ma));(this.ya=ob(a,"Keyboard"))&&this.N&&this.ya.oa(this.zc?"textarea":"canvas","kbd",this.xa);this.fa||C(this)}; this.qa={},this.Ca=1<<this.Ia,this.ra=Array(this.Ca+2),this.ra[0]=[0,0,0,255],this.ra[1]=[255,255,255,255],1==this.ca&&(this.ra[this.Ca+0]=[255,255,0,255],this.ra[this.Ca+1]=[0,255,0,255]),2==this.ca&&(this.yc=60,this.lb=!1,this.ua=Array(this.Ma));(this.ya=ob(a,"Keyboard"))&&this.N&&this.ya.pa(this.Ac?"textarea":"canvas","kbd",this.xa);this.ga||D(this)};
function Td(a,b,c,d){if(d)a.ha("Unable to load font ROM (error "+d+": "+b+")");else{Ya(a.Fb,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(2048==f.length)Vd(a,f);else{a.ha("Unrecognized font data length ("+f.length+")");return}}catch(h){a.ha("Font ROM data error: "+h.message);return}(a.H||a.G)&&C(a)}}function Vd(a,b){a.Va=b;a.pa[96]=Wd(a,a.ua,a.la);a.pa[64]=Wd(a,2*a.ua,a.la);a.pa[32]=a.pa[0]=Wd(a,2*a.ua,2*a.la)} function Td(a,b,c,d){if(d)a.ia("Unable to load font ROM (error "+d+": "+b+")");else{Ya(a.Hb,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){x("Empty font ROM: "+b);return}if(1==f.length){x(f[0]);return}if(2048==f.length)Vd(a,f);else{a.ia("Unrecognized font data length ("+f.length+")");return}}catch(h){a.ia("Font ROM data error: "+h.message);return}(a.H||a.G)&&D(a)}}
function Wd(a,b,c){var d=8>=a.nc?8:16,e=8<d?15:0,f=a.Va.length/d,h={ua:b,la:c};h.canvas=document.createElement("canvas");h.canvas.width=16*b;h.canvas.height=f/16*c;h.context=h.canvas.getContext("2d");for(var g=h.context.createImageData(b,c),l=0;l<f;l++){for(var k=0,n=k;k<a.la;k++)for(var p=a.Va[l*d+(e+k&d-1)],v=0;v<c/a.la;v++){for(var u=0,r=u;u<a.ua;u++)for(var D=p&128>>(7<u?7:u),x=0;x<b/a.ua;x++)Xd(a,g,r,n,D?1:0),r++;n++}h.context.putImageData(g,(l&15)*b,(l>>4)*c)}return h}Pd.prototype.Ea=function(){return!0}; function Vd(a,b){a.Va=b;a.qa[96]=[Wd(a,a.la,a.da),Wd(a,a.la,a.da,a.lb)];a.qa[64]=[Wd(a,2*a.la,a.da),Wd(a,2*a.la,a.da,a.lb)];a.qa[32]=a.qa[0]=[Wd(a,2*a.la,2*a.da),Wd(a,2*a.la,2*a.da,a.lb)]}
Pd.prototype.oa=function(a,b,c){var d=this;switch(b){case "fullScreen":return this.L[b]=c,this.w&&this.w.Xa?c.onclick=function(){d.Xa()}:c.parentNode.removeChild(c),!0}return!1}; function Wd(a,b,c,d){var e=8>=a.oc?8:16,f=8<e?15:0,h=a.Va.length/e;d=!1===d;var g={la:b,da:c};g.canvas=document.createElement("canvas");g.canvas.width=16*b;g.canvas.height=h/16*c;g.context=g.canvas.getContext("2d");for(var l=g.context.createImageData(b,c),k=0;k<h;k++){for(var n=0,p=n;n<a.da;n++)for(var v=a.Va[k*e+(f+n&e-1)],u=0;u<c/a.da;u++){for(var q=0,C=q;q<a.la;q++)for(var w=v&128>>(7<q?7:q),G=0;G<b/a.la;G++)d&&(w=!w),Xd(a,l,C,p,w?1:0),C++;p++}g.context.putImageData(l,(k&15)*b,(k>>4)*c)}return g}
Pd.prototype.Xa=function(){var a=!1;if(this.w){if(this.w.Xa){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.Z/this.X;b>c&&(a=Math.round(c/b*100)+"%")}this.zb?(this.N.style.width=a,this.N.style.width=a,this.N.style.display="block",this.N.style.margin="auto"):(this.w.style.width=a,this.w.style.height="auto");this.w.style.backgroundColor="black";this.w.Xa();a=!0}this.xa&&this.xa.focus()}return a}; Pd.prototype.Ea=function(){return!0};Pd.prototype.pa=function(a,b,c){var d=this;switch(b){case "fullScreen":return this.L[b]=c,this.w&&this.w.Xa?c.onclick=function(){d.Xa()}:c.parentNode.removeChild(c),!0}return!1};
function Sd(a,b){!b&&a.w&&(a.zb?a.N.style.width=a.N.style.height="":a.w.style.width=a.w.style.height="");db(a,"notifyFullScreen("+b+")",!0)}function Ud(a,b){a.Vb=b;a.wa=!1;if(void 0===a.ia||a.ia.length!=a.Vb)a.ia=Array(a.Vb)}function Xd(a,b,c,d,e){d=a.F?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.ca&&(208<=c&&236>c?e=a.Ca+0:28<=c&&72>c&&(e=a.Ca+1));a=a.qa[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]} Pd.prototype.Xa=function(){var a=!1;if(this.w){if(this.w.Xa){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.Z/this.X;b>c&&(a=Math.round(c/b*100)+"%")}this.Ub?(this.N.style.width=a,this.N.style.width=a,this.N.style.display="block",this.N.style.margin="auto"):(this.w.style.width=a,this.w.style.height="auto");this.w.style.backgroundColor="black";this.w.Xa();a=!0}this.xa&&this.xa.focus()}return a};
function Sd(a,b){!b&&a.w&&(a.Ub?a.N.style.width=a.N.style.height="":a.w.style.width=a.w.style.height="");db(a,"notifyFullScreen("+b+")",!0)}function Ud(a,b){a.Wb=b;a.wa=!1;if(void 0===a.ja||a.ja.length!=a.Wb)a.ja=Array(a.Wb)}function Xd(a,b,c,d,e){d=a.F?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.ca&&(208<=c&&236>c?e=a.Ca+0:28<=c&&72>c&&(e=a.Ca+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]}
Ja(function(){for(var a=B(document,"pc8080","video"),b=0;b<a.length;b++){var c=a[b],d=A(c),e=document.createElement("canvas");if(void 0===e||!e.getContext){c.innerHTML="<br/>Missing &lt;canvas&gt; support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=qa().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= Ja(function(){for(var a=B(document,"pc8080","video"),b=0;b<a.length;b++){var c=a[b],d=A(c),e=document.createElement("canvas");if(void 0===e||!e.getContext){c.innerHTML="<br/>Missing &lt;canvas&gt; support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=qa().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height=
(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ra.aspect);f&&.3<=f&&3.33>=f&&(Ga("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");wa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new Pd(d,e,h,f,c);ab(d,c)}}); (a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ra.aspect);f&&.3<=f&&3.33>=f&&(Ga("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");wa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new Pd(d,e,h,f,c);ab(d,c)}});
function Yd(a){y.call(this,"Debugger",a,Yd);this.style=Zd;this.ca=this.ya=this.K=0;this.X=U();this.Na=U();this.F=-1;this.w=[];this.ia=!1;this.fa=U();this.I=[];this.pa={};this.C=this.Z=this.H=[];$d(this);this.va=0;ae(this);this.Ca=[];be(this,a.messages);this.Da=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return sc(b,a)}):void 0===global.$&&(global.$=function(a){return sc(b,a)})}Wa(Yd); function Yd(a){y.call(this,"Debugger",a,Yd);this.style=Zd;this.ca=this.ya=this.K=0;this.X=U();this.Na=U();this.F=-1;this.w=[];this.ja=!1;this.ga=U();this.I=[];this.qa={};this.C=this.Z=this.H=[];$d(this);this.va=0;ae(this);this.Ca=[];be(this,a.messages);this.Da=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return hc(b,a)}):void 0===global.$&&(global.$=function(a){return hc(b,a)})}Wa(Yd);
var ce={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",ln:"list nearest symbol(s)",m:"messages","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble",v:"print version","var":"assign variable"},Zd=8080,de="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(" "), var ce={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",ln:"list nearest symbol(s)",m:"messages","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble",v:"print version","var":"assign variable"},Zd=8080,de="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(" "),
ee="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(" "),fe="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),ge=[[45],[42,2067,32],[71,2131,18193],[29,2067],[28,17],[22,17],[44,17,32],[63],[45,32768], ee="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(" "),fe="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),ge=[[45],[42,2067,32],[71,2131,18193],[29,2067],[28,17],[22,17],[44,17,32],[63],[45,32768],
[21,18963,2067],[40,18193,2131],[23,2067],[28,273],[22,273],[44,273,32],[64],[45,32768],[42,2323,32],[71,2387,18193],[29,2323],[28,529],[22,529],[44,529,32],[52],[45,32768],[21,18963,2323],[40,18193,2387],[23,2323],[28,785],[22,785],[44,785,32],[53],[45,32768],[42,2579,32],[68,115,18963],[29,2579],[28,1041],[22,1041],[44,1041,32],[20],[45,32768],[21,18963,2579],[41,18963,115],[23,2579],[28,1297],[22,1297],[44,1297,32],[16,18193],[45,32768],[42,2835,32],[70,115,18193],[29,2835],[28,1617],[22,1617], [21,18963,2067],[40,18193,2131],[23,2067],[28,273],[22,273],[44,273,32],[64],[45,32768],[42,2323,32],[71,2387,18193],[29,2323],[28,529],[22,529],[44,529,32],[52],[45,32768],[21,18963,2323],[40,18193,2387],[23,2323],[28,785],[22,785],[44,785,32],[53],[45,32768],[42,2579,32],[68,115,18963],[29,2579],[28,1041],[22,1041],[44,1041,32],[20],[45,32768],[21,18963,2579],[41,18963,115],[23,2579],[28,1297],[22,1297],[44,1297,32],[16,18193],[45,32768],[42,2835,32],[70,115,18193],[29,2835],[28,1617],[22,1617],
@ -120,92 +121,92 @@ ee="NONE ADC ADC ADD ADD AND AND CALL CALLC CALLS CALLNC CALLNZ CALLNS CALLP CAL
[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], [5,18193,1041],[5,18193,1297],[5,18193,1617],[5,18193,1809],[76,18193,17],[76,18193,273],[76,18193,529],[76,18193,785],[76,18193,1041],[76,18193,1297],[76,18193,1617],[76,18193,1809],[46,18193,17],[46,18193,273],[46,18193,529],[46,18193,785],[46,18193,1041],[46,18193,1297],[46,18193,1617],[46,18193,1809],[18,18193,17],[18,18193,273],[18,18193,529],[18,18193,785],[18,18193,1041],[18,18193,1297],[18,18193,1617],[18,18193,1809],[58],[50,2067],[34,51],[30,51],[11,51],[51,2067],[4,18193,33],[65,128],[62],
[54],[38,51],[30,32819],[15,51],[7,51],[1,18193,33],[65,128],[57],[50,2323],[33,51],[48,33,18193],[10,51],[51,2323],[74,18193,33],[65,128],[55],[54,32768],[31,51],[27,18193,33],[8,51],[7,32819],[67,18193,33],[65,128],[61],[50,2579],[37,51],[78,19283,18963],[14,51],[51,2579],[6,18193,33],[65,128],[60],[49,2579],[36,51],[75,18963,18707],[13,51],[7,32819],[77,18193,33],[65,128],[59],[50,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, [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]],he={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=Yd.prototype; 18193,33],[65,128]],he={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=Yd.prototype;
m.Ka=function(a,b,c,d){this.B=b;this.b=c;this.u=a;(a=ec(a,"messages"))&&be(this,a);this.Ia=ge;ie(this,function(a){a:{var b=d.B.U,c=a[0],g=a=0,l=b.length;if(c){a=X(Y(d,c));if(-1===a){d.g("invalid address: "+c);break a}g=a>>>d.B.ga;l=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,k=0;l--;){var n=b[g];n.type==c?k++||d.g("..."):(c=n.type,k=ub[c],n&&d.g(q(n.id)+" %"+q(g<<d.B.ga)+" %%"+q(n.D)+" "+t(n.tb)+" "+t(n.size)+ m.Ka=function(a,b,c,d){this.B=b;this.b=c;this.u=a;(a=ec(a,"messages"))&&be(this,a);this.Ia=ge;ie(this,function(a){a:{var b=d.B.U,c=a[0],g=a=0,l=b.length;if(c){a=X(Y(d,c));if(-1===a){d.g("invalid address: "+c);break a}g=a>>>d.B.ha;l=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,k=0;l--;){var n=b[g];n.type==c?k++||d.g("..."):(c=n.type,k=ub[c],n&&d.g(r(n.id)+" %"+r(g<<d.B.ha)+" %%"+r(n.D)+" "+t(n.ub)+" "+t(n.size)+
" "+k),c!=Rb&&(c=-1),k=0);a+=d.B.Aa;g++}}});C(this)}; " "+k),c!=Rb&&(c=-1),k=0);a+=d.B.Aa;g++}}});D(this)};
m.oa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ta=this.L[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",sc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.F<d.w.length-1&&(b=d.w[++d.F]):40==a.keyCode&&(0<d.F?b=d.w[--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.L[b]=c,Ca(c,function(){if(d.ta){var a=d.ta.value;d.ta.value= m.pa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ua=this.L[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",hc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.F<d.w.length-1&&(b=d.w[++d.F]):40==a.keyCode&&(0<d.F?b=d.w[--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.L[b]=c,Ca(c,function(){if(d.ua){var a=d.ua.value;d.ua.value=
"";sc(d,a,!0);return!0}return!1}),!0;case "step":return this.L[b]=c,Ca(c,function(a){var b=!1;ib(d,!0)||(hb(d,!0),b=d.jb(a?1:0),hb(d,!1));return b}),!0}return!1};m.sb=function(){this.ta&&this.ta.focus()};function X(a){a=a&&a.D;null==a&&(a=-1);return a}m.W=function(a,b){var c=255,d=X(a);-1!==d&&(c=vb(this.B,d),b&&je(a,b));return c};m.La=function(a,b){var c=65535,d=X(a);-1!==d&&(c=wb(this.B,d),b&&je(a,b));return c};m.ka=function(a,b,c){var d=X(a);-1!==d&&(xb(this.B,d,b),c&&je(a,c),tc(this.b,!0))}; "";hc(d,a,!0);return!0}return!1}),!0;case "step":return this.L[b]=c,Ca(c,function(a){var b=!1;ib(d,!0)||(fb(d,!0),b=d.jb(a?1:0),fb(d,!1));return b}),!0}return!1};m.tb=function(){this.ua&&this.ua.focus()};function X(a){a=a&&a.D;null==a&&(a=-1);return a}m.W=function(a,b){var c=255,d=X(a);-1!==d&&(c=vb(this.B,d),b&&je(a,b));return c};m.La=function(a,b){var c=65535,d=X(a);-1!==d&&(c=wb(this.B,d),b&&je(a,b));return c};m.ma=function(a,b,c){var d=X(a);-1!==d&&(xb(this.B,d,b),c&&je(a,c),tc(this.b,!0))};
m.Cb=function(a,b,c){var d=X(a);if(-1!==d){var e=this.B,f=d&e.B,h=(d&e.w)>>>e.ga;f!=e.B?e.U[h].Mb(f,b&65535,d):(e.U[h++].ub(f,b&255,d),e.U[h&e.J].ub(0,b>>8&255,d+1));c&&je(a,c);tc(this.b,!0)}};function U(a){return{D:a,Ga:!1}}function ke(a){return[a.D,a.Ga]}function le(a){return{D:a[0],Ga:a[1]}} m.Cb=function(a,b,c){var d=X(a);if(-1!==d){var e=this.B,f=d&e.B,h=(d&e.w)>>>e.ha;f!=e.B?e.U[h].Mb(f,b&65535,d):(e.U[h++].vb(f,b&255,d),e.U[h&e.J].vb(0,b>>8&255,d+1));c&&je(a,c);tc(this.b,!0)}};function U(a){return{D:a,Ga:!1}}function ke(a){return[a.D,a.Ga]}function le(a){return{D:a[0],Ga:a[1]}}
function Y(a,b,c){var d;c=(c?a.X:a.Na).D;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.I.length;c++){var f=a.I[c].Ja[d];if(void 0!==f){d=f.o;void 0!==d&&(e=U(d));break}}if(d=e)return d;c=ne(a,b,void 0)}null!=c&&(d=U(c));return d}function oe(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.ec=pe(a,b.cc=c[2]))}function je(a,b){null!=a.D&&(a.D+=b||1)}function Z(a){return q(a,4)} function Y(a,b,c){var d;c=(c?a.X:a.Na).D;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.I.length;c++){var f=a.I[c].Ja[d];if(void 0!==f){d=f.o;void 0!==d&&(e=U(d));break}}if(d=e)return d;c=ne(a,b,void 0)}null!=c&&(d=U(c));return d}function oe(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.fc=pe(a,b.dc=c[2]))}function je(a,b){null!=a.D&&(a.D+=b||1)}function Z(a){return r(a,4)}
function qe(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.W(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}function be(a,b){a.G=a;a.ja=a.fc=536870912;a.wa=null;a.xa=[];var c=pe(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in he)0<=ma(c,d)&&(a.ja|=he[d],a.g(d+" messages enabled"))}function ie(a,b){for(var c in he)if(64==he[c]){a.Ca[c]=b;break}} function qe(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.W(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}function be(a,b){a.G=a;a.ka=a.gc=536870912;a.wa=null;a.xa=[];var c=pe(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in he)0<=ma(c,d)&&(a.ka|=he[d],a.g(d+" messages enabled"))}function ie(a,b){for(var c in he)if(64==he[c]){a.Ca[c]=b;break}}
function re(a,b){var c;a=a.toUpperCase();null==b?c=ma(fe,a):(c=ma(fe,a.substr(b,2)),0>c&&(c=ma(fe,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?q(d,c):"??"} function re(a,b){var c;a=a.toUpperCase();null==b?c=ma(fe,a):(c=ma(fe,a.substr(b,2)),0>c&&(c=ma(fe,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?r(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.O;break;case 1:c=d.P;break;case 8:c=Jc(d);break;case 2:c=d.R;break;case 3:c=d.S;break;case 9:c=Lc(d);break;case 4:c=d.T;break;case 5:c=d.V;break;case 10:c=I(d);break;case 6:c=d.W(I(d));break;case 11:c=d.da;break;case 12:c=d.M;break;case 13:c=Hc(d);break;case 14:c=Hc(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.O;break;case 1:c=d.P;break;case 8:c=Jc(d);break;case 2:c=d.R;break;case 3:c=d.S;break;case 9:c=Lc(d);break;case 4:c=d.T;break;case 5:c=d.V;break;case 10:c=J(d);break;case 6:c=d.W(J(d));break;case 11:c=d.ea;break;case 12:c=d.M;break;case 13:c=Hc(d);break;case 14:c=Hc(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+fe[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ba(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Y(a,e))?(d=e+' "'+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=Y(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+fe[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ba(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Y(a,e))?(d=e+' "'+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=Y(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 "+Z(U(this.b.M).D));if(this.ja&1073741824)this.xa.push(a);else if(!this.wa||a!=this.wa)if(this.wa=a,this.ja&-2147483648&&(this.ea(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.i.gb=0;c.F-=c.b;c.b=0;tc(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(U(this.b.M).D));if(this.ka&1073741824)this.xa.push(a);else if(!this.wa||a!=this.wa)if(this.wa=a,this.ka&-2147483648&&(this.fa(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.i.gb=0;c.F-=c.b;c.b=0;tc(c)}};
function cb(a,b,c,d,e,f,h,g){g|=256;null!=f&&(a.ja&g)!=g||a.message(b.Eb+"."+(null!=d?"outPort":"inPort")+"("+t(c)+","+(f?f:"unknown")+(null!=d?",0x"+q(d,2):"")+")"+(null!=h?": 0x"+q(h,2):"")+(null!=e?" at "+Z(e):""))} function cb(a,b,c,d,e,f,h,g){g|=256;null!=f&&(a.ka&g)!=g||a.message(b.Eb+"."+(null!=d?"outPort":"inPort")+"("+t(c)+","+(f?f:"unknown")+(null!=d?",0x"+r(d,2):"")+")"+(null!=h?": 0x"+r(h,2):"")+(null!=e?" at "+Z(e):""))}
function ae(a){var b;if(sd(a)){if(!a.N||!a.N.length){a.N=Array(1E3);for(b=0;b<a.N.length;b++)a.N[b]=U();a.qa=0;a.g("instruction history buffer allocated")}if(!a.J||!a.J.length)for(a.J=Array(256),b=0;b<a.J.length;b++)a.J[b]=[b,0]}else a.N&&a.N.length&&a.g("instruction history buffer freed"),a.qa=0,a.N=[],a.J=[]}m.Ua=function(a){if(!ve(this))return!1;this.b.Ua(a);return!0}; function ae(a){var b;if(sd(a)){if(!a.N||!a.N.length){a.N=Array(1E3);for(b=0;b<a.N.length;b++)a.N[b]=U();a.ra=0;a.g("instruction history buffer allocated")}if(!a.J||!a.J.length)for(a.J=Array(256),b=0;b<a.J.length;b++)a.J[b]=[b,0]}else a.N&&a.N.length&&a.g("instruction history buffer freed"),a.ra=0,a.N=[],a.J=[]}m.Ua=function(a){if(!ve(this))return!1;this.b.Ua(a);return!0};
m.jb=function(a,b,c){if(!ve(this))return!1;this.K=0;a||sd(this)&&td(this,this.b.M,0);try{var d=this.b.jb(a);0<d&&(this.K+=d,yc(this.b,d,!0),vc(this.b,d),this.ca++)}catch(e){"number"!=typeof e&&(this.K=0,kb(this.b,e.stack||e.message))}!1!==c&&tc(this.b);this.Ba(b||!1);return 0<this.K};m.ea=function(a){this.b&&this.b.ea(a)};m.Ba=function(a){void 0===a&&(a=!0);this.X=U(this.b.M);a&&1!=this.ba?we(this):xe(this)}; m.jb=function(a,b,c){if(!ve(this))return!1;this.K=0;a||sd(this)&&td(this,this.b.M,0);try{var d=this.b.jb(a);0<d&&(this.K+=d,yc(this.b,d,!0),vc(this.b,d),this.ca++)}catch(e){"number"!=typeof e&&(this.K=0,kb(this.b,e.stack||e.message))}!1!==c&&tc(this.b);this.Ba(b||!1);return 0<this.K};m.fa=function(a){this.b&&this.b.fa(a)};m.Ba=function(a){void 0===a&&(a=!0);this.X=U(this.b.M);a&&1!=this.ba?we(this):xe(this)};
function ve(a){var b;if(b=a.b&&jb(a.b))b=a.b,b.A.ma?b=!0:(b.g(b.toString()+" not powered"),b=!1);b&&!ib(a.b)?(a=a.b,a.A.$a?(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){ae(this);this.ca=this.ya=0;this.wa=null;this.K=0;this.X=U(this.b.M);this.A.ra=!1;ye(this);a||this.Ba()}; function ve(a){var b;if(b=a.b&&jb(a.b))b=a.b,b.A.na?b=!0:(b.g(b.toString()+" not powered"),b=!1);b&&!ib(a.b)?(a=a.b,a.A.$a?(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){ae(this);this.ca=this.ya=0;this.wa=null;this.K=0;this.X=U(this.b.M);this.A.sa=!1;ye(this);a||this.Ba()};
m.save=function(){var a=new Ic(this);G(a,0,ke(this.X));G(a,1,ke(this.fa));G(a,2,[this.w,this.ia,this.ja]);G(a,3,this.I);return a.data()};m.restore=function(a){var b=0;void 0!==a[2]&&(this.X=le(a[b++]),this.fa=le(a[b++]),this.w=a[b][0],"string"==typeof this.w&&(this.w=[this.w]),this.ia=a[b][1],this.ja|=a[b][2]);a[3]&&(this.I=a[3]);return!0};m.start=function(a,b){this.ba||this.g("running");this.A.ra=!0;this.xb=a;this.yb=b}; m.save=function(){var a=new Ic(this);H(a,0,ke(this.X));H(a,1,ke(this.ga));H(a,2,[this.w,this.ja,this.ka]);H(a,3,this.I);return a.data()};m.restore=function(a){var b=0;void 0!==a[2]&&(this.X=le(a[b++]),this.ga=le(a[b++]),this.w=a[b][0],"string"==typeof this.w&&(this.w=[this.w]),this.ja=a[b][1],this.ka|=a[b][2]);a[3]&&(this.I=a[3]);return!0};m.start=function(a,b){this.ba||this.g("running");this.A.sa=!0;this.lb=a;this.yb=b};
m.stop=function(a,b){if(this.A.ra){this.A.ra=!1;this.K=b-this.yb;if(!this.ba){var c="stopped";if(this.K){var d=a-this.xb,e=0<d?Math.round(1E3*this.K/d):0,c=c+" (";sd(this)&&(c+=this.ca+" opcodes, ",this.ya-=this.ca,this.ca=0);c+=this.K+" cycles, "+d+" ms, "+e+" hz)"}else eb(this,-2147483648)&&(c+=" (use the 't' command to execute blocked faults)");this.g(c)}this.Ba(!0);this.sb();ye(this,this.b.M)}};function sd(a){return 1<a.C.length||!!a.va} m.stop=function(a,b){if(this.A.sa){this.A.sa=!1;this.K=b-this.yb;if(!this.ba){var c="stopped";if(this.K){var d=a-this.lb,e=0<d?Math.round(1E3*this.K/d):0,c=c+" (";sd(this)&&(c+=this.ca+" opcodes, ",this.ya-=this.ca,this.ca=0);c+=this.K+" cycles, "+d+" ms, "+e+" hz)"}else eb(this,-2147483648)&&(c+=" (use the 't' command to execute blocked faults)");this.g(c)}this.Ba(!0);this.tb();ye(this,this.b.M)}};function sd(a){return 1<a.C.length||!!a.va}
function td(a,b,c){var d=a.b;if(0<c&&(a.va&&!--a.va||$b(a,b,1,a.C)))return!0;0<=c&&a.J.length&&(a.ca++,b=vb(a.B,b),null!=b&&(a.J[b][1]++,b=a.N[a.qa],b.D=d.M,b.Ga=!1,++a.qa==a.N.length&&(a.qa=0)));return!1}function Ab(a,b,c){a.g("break on input from port "+t(b)+": "+q(c));a.ea(!0)}function Db(a,b,c){a.g("break on output to port "+t(b)+": "+q(c));a.ea(!0)} function td(a,b,c){var d=a.b;if(0<c&&(a.va&&!--a.va||$b(a,b,1,a.C)))return!0;0<=c&&a.J.length&&(a.ca++,b=vb(a.B,b),null!=b&&(a.J[b][1]++,b=a.N[a.ra],b.D=d.M,b.Ga=!1,++a.ra==a.N.length&&(a.ra=0)));return!1}function Ab(a,b,c){a.g("break on input from port "+t(b)+": "+r(c));a.fa(!0)}function Db(a,b,c){a.g("break on output to port "+t(b)+": "+r(c));a.fa(!0)}
function $d(a){var b,c;a.C=["bp"];if(void 0!==a.Z)for(b=1;b<a.Z.length;b++){c=a.Z[b];var d=a.B;ac(d.U[X(c)>>>d.ga],!1)}a.Z=["br"];if(void 0!==a.H)for(b=1;b<a.H.length;b++)c=a.H[b],d=a.B,ac(d.U[X(c)>>>d.ga],!0);a.H=["bw"];a.Va=0}m.Oa=function(a,b,c){var d=!0;c||Xe(this,a,b,!1,!0);if(a!=this.C){var e=X(b);if(-1===e)this.g("invalid address: "+Z(b.D)),d=!1;else{var f=this.B;f.U[e>>>f.ga].Oa(e&f.B,a==this.H)}}d&&(a.push(b),c?b.Ga=!0:(Ye(this,a,a.length-1,"set"),ae(this)));return d}; function $d(a){var b,c;a.C=["bp"];if(void 0!==a.Z)for(b=1;b<a.Z.length;b++){c=a.Z[b];var d=a.B;ac(d.U[X(c)>>>d.ha],!1)}a.Z=["br"];if(void 0!==a.H)for(b=1;b<a.H.length;b++)c=a.H[b],d=a.B,ac(d.U[X(c)>>>d.ha],!0);a.H=["bw"];a.Va=0}m.Oa=function(a,b,c){var d=!0;c||Xe(this,a,b,!1,!0);if(a!=this.C){var e=X(b);if(-1===e)this.g("invalid address: "+Z(b.D)),d=!1;else{var f=this.B;f.U[e>>>f.ha].Oa(e&f.B,a==this.H)}}d&&(a.push(b),c?b.Ga=!0:(Ye(this,a,a.length-1,"set"),ae(this)));return d};
function Xe(a,b,c,d,e){var f=!1;c=X(c);for(var h=1;h<b.length;h++){var g=b[h];if(c==X(g)&&(!d||g.Ga)){f=!0;g.Ga||e||Ye(a,b,h,"cleared");b.splice(h,1);b!=a.C&&(d=a.B,ac(d.U[c>>>d.ga],b==a.H));g.Ga||ae(a);break}}return f}function Ze(a,b){for(var c=1;c<b.length;c++)Ye(a,b,c);return b.length-1}function Ye(a,b,c,d){c=b[c];a.g(b[0]+" "+Z(c.D)+(d?" "+d:c.cc?' "'+c.cc+'"':""))} function Xe(a,b,c,d,e){var f=!1;c=X(c);for(var h=1;h<b.length;h++){var g=b[h];if(c==X(g)&&(!d||g.Ga)){f=!0;g.Ga||e||Ye(a,b,h,"cleared");b.splice(h,1);b!=a.C&&(d=a.B,ac(d.U[c>>>d.ha],b==a.H));g.Ga||ae(a);break}}return f}function Ze(a,b){for(var c=1;c<b.length;c++)Ye(a,b,c);return b.length-1}function Ye(a,b,c,d){c=b[c];a.g(b[0]+" "+Z(c.D)+(d?" "+d:c.dc?' "'+c.dc+'"':""))}
function ye(a,b){if(void 0!==b)$b(a,b,1,a.C,!0),a.ba=0;else for(var c=1;c<a.C.length;c++){var d=a.C[c];if(d.Ga){if(!Xe(a,a.C,d,!0))break;c=0}}} function ye(a,b){if(void 0!==b)$b(a,b,1,a.C,!0),a.ba=0;else for(var c=1;c<a.C.length;c++){var d=a.C[c];if(d.Ga){if(!Xe(a,a.C,d,!0))break;c=0}}}
function $b(a,b,c,d,e){var f=!1;if(!a.Va++)for(var h=1;!f&&h<d.length;h++){var g=d[h];if(!e||g.Ga)for(var l=X(g),k=0;k<c;k++)if(b+k==l){var n,f=!0;g.Ga&&(Xe(a,d,g,!0),e=!0);if(n=g.ec){for(var f=!1,p=0;p<n.length;p++)if(!$e(a,n[p],!0)){if(n[p].indexOf("if")){f=!0;break}for(var v=p+1;v<n.length&&n[v].indexOf("else");v++)p++;if(v==n.length){f=!0;break}}a.b.A.ra||(f=!0)}if(f){e||Ye(a,d,h,"hit");break}}}a.Va--;return f} function $b(a,b,c,d,e){var f=!1;if(!a.Va++)for(var h=1;!f&&h<d.length;h++){var g=d[h];if(!e||g.Ga)for(var l=X(g),k=0;k<c;k++)if(b+k==l){var n,f=!0;g.Ga&&(Xe(a,d,g,!0),e=!0);if(n=g.fc){for(var f=!1,p=0;p<n.length;p++)if(!$e(a,n[p],!0)){if(n[p].indexOf("if")){f=!0;break}for(var v=p+1;v<n.length&&n[v].indexOf("else");v++)p++;if(v==n.length){f=!0;break}}a.b.A.sa||(f=!0)}if(f){e||Ye(a,d,h,"hit");break}}}a.Va--;return f}
function af(a,b,c,d){for(var e=U(b.D),f=a.W(b,1),h=a.Ia[f],g="",l=(8086!=a.style?de:ee)[h[0]],k=h.length-1,n=0,p,v=1;v<=k;v++){var u="";p=h[v];if(void 0!==p&&!(p&16384&&a.style==Zd)){var r=p&240;if(r){var D=p&15;D?n=D:p|=n;p&61440||(p|=1==v?8192:4096);if(r&32)a:{var u=a,r=p,D=b,x=" ";switch(r&15){case 1:x=q(u.W(D,1),2);break;case 2:x=q(u.W(D,1)<<24>>24,4);break;case 3:x=q(u.La(D,2),4);break;default:u="imm("+t(r)+")";break a}8086==u.style&&r&64?x="["+x+"]":r&16||(x=(u.style==Zd?"$":"0x")+x);u=x}else r& function af(a,b,c,d){for(var e=U(b.D),f=a.W(b,1),h=a.Ia[f],g="",l=(8086!=a.style?de:ee)[h[0]],k=h.length-1,n=0,p,v=1;v<=k;v++){var u="";p=h[v];if(void 0!==p&&!(p&16384&&a.style==Zd)){var q=p&240;if(q){var C=p&15;C?n=C:p|=n;p&61440||(p|=1==v?8192:4096);if(q&32)a:{var u=a,q=p,C=b,w=" ";switch(q&15){case 1:w=r(u.W(C,1),2);break;case 2:w=r(u.W(C,1)<<24>>24,4);break;case 3:w=r(u.La(C,2),4);break;default:u="imm("+t(q)+")";break a}8086==u.style&&q&64?w="["+w+"]":q&16||(w=(u.style==Zd?"$":"0x")+w);u=w}else q&
16?(u=(p&3840)>>8,r=fe[u],8086==a.style&&p&64&&(6==u&&(r="HL"),r="["+r+"]"),u=r):r&128&&(u=(f>>3&7).toString());if(!u||!u.length){g="INVALID";break}0<g.length&&(g+=",");g+=u||"???"}}}f="";h=Z(e.D)+" ";if(-1!==e.D&&-1!==b.D){do if(f+=q(a.W(e,1),2),null==e.D)break;while(e.D!=b.D)}h+=ha(f,10);h=h+(p&32768?"*":" ")+ha(l,7);g&&(h+=" "+g);c&&(h=ha(h,40)+";"+c,h=a.b.A.Za?h+("cycles="+wc(a.b).toString()+" cs="+q(a.b.i.lb)):h+(null!=d?"="+d.toString():""));return h} 16?(u=(p&3840)>>8,q=fe[u],8086==a.style&&p&64&&(6==u&&(q="HL"),q="["+q+"]"),u=q):q&128&&(u=(f>>3&7).toString());if(!u||!u.length){g="INVALID";break}0<g.length&&(g+=",");g+=u||"???"}}}f="";h=Z(e.D)+" ";if(-1!==e.D&&-1!==b.D){do if(f+=r(a.W(e,1),2),null==e.D)break;while(e.D!=b.D)}h+=ha(f,10);h=h+(p&32768?"*":" ")+ha(l,7);g&&(h+=" "+g);c&&(h=ha(h,40)+";"+c,h=a.b.A.Za?h+("cycles="+wc(a.b).toString()+" cs="+r(a.b.i.mb)):h+(null!=d?"="+d.toString():""));return h}
function bf(a,b){var c;switch(b){case "IF":c=a.b.sa&512;break;case "SF":c=Sc(a.b);break;case "ZF":c=Rc(a.b);break;case "AF":c=Qc(a.b);break;case "PF":c=Pc(a.b);break;case "CF":c=J(a.b);break;default:c=0}return b.charAt(0)+(c?"1":"0")+" "}function cf(a,b){return fe[b]+"="+se(a,b)+" "}function df(a){return cf(a,7)+cf(a,8)+cf(a,9)+cf(a,10)+cf(a,11)+bf(a,"IF")+bf(a,"SF")+bf(a,"ZF")+bf(a,"AF")+bf(a,"PF")+bf(a,"CF")} function bf(a,b){var c;switch(b){case "IF":c=a.b.ta&512;break;case "SF":c=Sc(a.b);break;case "ZF":c=Rc(a.b);break;case "AF":c=Qc(a.b);break;case "PF":c=Pc(a.b);break;case "CF":c=K(a.b);break;default:c=0}return b.charAt(0)+(c?"1":"0")+" "}function cf(a,b){return fe[b]+"="+se(a,b)+" "}function df(a){return cf(a,7)+cf(a,8)+cf(a,9)+cf(a,10)+cf(a,11)+bf(a,"IF")+bf(a,"SF")+bf(a,"ZF")+bf(a,"AF")+bf(a,"PF")+bf(a,"CF")}
var ef={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; var ef={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function ff(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 ff(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=[],l=[],k=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<k.length;){var n=k[e++],p=n.length,n=ia(n);if(!n){f=!0;break}n=gf(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}g.push(n);if(e==k.length)break;var n=k[e++],v=n.length;l.length&&ef[n]<ef[l[l.length-1]]&&ff(g,l,1);l.push(n);b=b.substr(p+v)}ff(g,l)&&1==g.length||(f=!0);f?c&&a.g("error parsing '"+h+"' at character "+(h.length-b.length)):(d=g.pop(),c&&hf(a,null, function ne(a,b,c){var d;if(b){b=me(a,b);for(var e=0,f=!1,h=b,g=[],l=[],k=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<k.length;){var n=k[e++],p=n.length,n=ia(n);if(!n){f=!0;break}n=gf(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}g.push(n);if(e==k.length)break;var n=k[e++],v=n.length;l.length&&ef[n]<ef[l[l.length-1]]&&ff(g,l,1);l.push(n);b=b.substr(p+v)}ff(g,l)&&1==g.length||(f=!0);f?c&&a.g("error parsing '"+h+"' at character "+(h.length-b.length)):(d=g.pop(),c&&hf(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?q(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)d=Y(a,c[1]),b=b.replace("["+c[1]+"]",d?q(a.La(d,0),4):"undefined");for(c=b;d=c.match(/\$([a-z]+)/i);){var e=null;switch(d[1].toLowerCase()){case "ops":e=a.ca-a.ya}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?r(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)d=Y(a,c[1]),b=b.replace("["+c[1]+"]",d?r(a.La(d,0),4):"undefined");for(c=b;d=c.match(/\$([a-z]+)/i);){var e=null;switch(d[1].toLowerCase()){case "ops":e=a.ca-a.ya}if(null==e)break;c=c.replace(d[0],e.toString())}return c}
function gf(a,b,c,d){var e;void 0!==b?(e=re(b),0<=e?e=te(a,e):(e=a.pa[b],void 0===e&&(e=ba(b))),void 0!==e||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return e} function gf(a,b,c,d){var e;void 0!==b?(e=re(b),0<=e?e=te(a,e):(e=a.qa[b],void 0===e&&(e=ba(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){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 l=d&255,k=8,n="";void 0===k?k=32:32<k&&(k=32);if(null==l||isNaN(l))for(;0<k--;)n="?"+n;else for(;0<k--;)n=(l&1?"1":"0")+n,l>>=1;h=n+"b"+h;d>>=8}d="0x"+q(c)+" "+c+". ("+h+")"}a.g((null!=b?b+": ":"")+d);return e}function jf(a,b){if(b)return hf(a,b,a.pa[b]);var c=0;for(b in a.pa)hf(a,b,a.pa[b]),c++;return 0<c}Yd.prototype.Ma=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0}; function hf(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 l=d&255,k=8,n="";void 0===k?k=32:32<k&&(k=32);if(null==l||isNaN(l))for(;0<k--;)n="?"+n;else for(;0<k--;)n=(l&1?"1":"0")+n,l>>=1;h=n+"b"+h;d>>=8}d="0x"+r(c)+" "+c+". ("+h+")"}a.g((null!=b?b+": ":"")+d);return e}function jf(a,b){if(b)return hf(a,b,a.qa[b]);var c=0;for(b in a.qa)hf(a,b,a.qa[b]),c++;return 0<c}Yd.prototype.Ma=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function kf(a,b,c){var d=[],e=X(b)>>>0;for(b=0;b<a.I.length;b++){var f=a.I[b],h=f.D>>>0,g=f.lc;if(e>=h&&e<h+g){e=ja(f.Nb,[e-h],a.Ma);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.I[b].Nb,h=0,g=null;0<=c&&c<f.length&&(h=f[c][0],g=f[c][1]);g&&(e=a.I[b].Ja[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=X(b)>>>0;for(b=0;b<a.I.length;b++){var f=a.I[b],h=f.D>>>0,g=f.mc;if(e>=h&&e<h+g){e=ja(f.Nb,[e-h],a.Ma);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.I[b].Nb,h=0,g=null;0<=c&&c<f.length&&(h=f[c][0],g=f[c][1]);g&&(e=a.I[b].Ja[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.J)if("clear"==b){for(c=0;c<a.J.length;c++)a.J[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.J.slice();e.sort(function(a,b){return b[1]-a[1]});var f=8086!=a.style?de:ee;for(c=0;c<e.length;c++){var h=e[c][0],g=e[c][1];g&&(a.g((f[a.Ia[h][0]]+" ").substr(0,5)+" ("+("0x"+q(h,2))+"): "+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.J)if("clear"==b){for(c=0;c<a.J.length;c++)a.J[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.J.slice();e.sort(function(a,b){return b[1]-a[1]});var f=8086!=a.style?de:ee;for(c=0;c<e.length;c++){var h=e[c][0],g=e[c][1];g&&(a.g((f[a.Ia[h][0]]+" ").substr(0,5)+" ("+("0x"+r(h,2))+"): "+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.pa[c[1]],!0;var d=ne(a,c[3]);return void 0!==d?(a.pa[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.qa[c[1]],!0;var d=ne(a,c[3]);return void 0!==d?(a.qa[c[1]]=d,!0):!1}a.g("invalid assignment:"+b);return!1}
function of(a,b,c){var d=null;if(b=Y(a,b,!0)){var e=kf(a,b,!0);if(e.length){var f,h;e[0]&&(h="",(f=b.D-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.D)&&(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 of(a,b,c){var d=null;if(b=Y(a,b,!0)){var e=kf(a,b,!0);if(e.length){var f,h;e[0]&&(h="",(f=b.D-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.D)&&(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=Zd;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.cb=c;break;case "start":a.b.i.mb=c;break;case "stop":a.b.i.fb=c;break;default:a.g("unknown cs option");return}void 0!==c&&gc(a.b);a.g("checksums "+(a.b.A.Za?"enabled":"disabled"));return;case "sp":void 0!==b[2]&&(xc(a.b,+b[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.i.Qa.toFixed(2)+"Mhz")+ function pf(a,b){switch(b[1]){case "8080":a.style=Zd;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.cb=c;break;case "start":a.b.i.nb=c;break;case "stop":a.b.i.fb=c;break;default:a.g("unknown cs option");return}void 0!==c&&gc(a.b);a.g("checksums "+(a.b.A.Za?"enabled":"disabled"));return;case "sp":void 0!==b[2]&&(xc(a.b,+b[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.i.Qa.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.O=g&255;break;case "BC":d.O=g>>8&255;case "C":d.P=g&255;break;case "D":d.R= 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.O=g&255;break;case "BC":d.O=g>>8&255;case "C":d.P=g&255;break;case "D":d.R=
g&255;break;case "DE":d.R=g>>8&255;case "E":d.S=g&255;break;case "H":d.T=g&255;break;case "HL":d.T=g>>8&255;case "L":d.V=g&255;break;case "SP":d.da=g&65535;break;case "PC":F(d,g);a.X=U(d.M);break;case "PS":Fc(d,g);break;case "PSW":Fc(d,g&255|d.sa&-256);d.j=g>>8;break;case "CF":d.Y=g?d.Y|256:d.Y&255;break;case "PF":g?Pc(d)||(d.aa^=1):Pc(d)&&(d.aa^=1);break;case "AF":d.na=g?~d.aa&16|d.na&-17:d.aa&16|d.na&-17;break;case "ZF":d.Y=g?d.Y&-256:d.Y|255;break;case "SF":g?Sc(d)||(d.aa^=192):Sc(d)&&(d.aa^=192); g&255;break;case "DE":d.R=g>>8&255;case "E":d.S=g&255;break;case "H":d.T=g&255;break;case "HL":d.T=g>>8&255;case "L":d.V=g&255;break;case "SP":d.ea=g&65535;break;case "PC":F(d,g);a.X=U(d.M);break;case "PS":Fc(d,g);break;case "PSW":Fc(d,g&255|d.ta&-256);d.j=g>>8;break;case "CF":d.Y=g?d.Y|256:d.Y&255;break;case "PF":g?Pc(d)||(d.aa^=1):Pc(d)&&(d.aa^=1);break;case "AF":d.oa=g?~d.aa&16|d.oa&-17:d.aa&16|d.oa&-17;break;case "ZF":d.Y=g?d.Y&-256:d.Y|255;break;case "SF":g?Sc(d)||(d.aa^=192):Sc(d)&&(d.aa^=192);
break;case "IF":d.sa=g?d.sa|512:d.sa&-513;break;default:a.g("unknown register: "+e);return}if(!h){a.g("invalid value: "+f);return}tc(d);a.g("updated registers:")}a.g(df(a));c&&(a.X=U(d.M),xe(a,Z(a.X.D)))}}function qf(a,b){b=ia(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=gf(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ba(c,function(){return hb(a,!0)&&a.jb(e,d,!1)},function(){tc(a.b);hb(a,!1)})} break;case "IF":d.ta=g?d.ta|512:d.ta&-513;break;default:a.g("unknown register: "+e);return}if(!h){a.g("invalid value: "+f);return}tc(d);a.g("updated registers:")}a.g(df(a));c&&(a.X=U(d.M),xe(a,Z(a.X.D)))}}function qf(a,b){b=ia(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=gf(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ba(c,function(){return fb(a,!0)&&a.jb(e,d,!1)},function(){tc(a.b);fb(a,!1)})}
function xe(a,b,c,d){if(b=Y(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Y(a,c,!0);if(!d||d.D<b.D)return;e=d.D-b.D;if(256<e){a.g("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=ib(a,!1)||a.ba?a.K:null;var h=null!=f?"cycles":null,g=kf(a,b),l=b.D;if(g[0]&&d&&(!c&&d||0>g[0].indexOf("+"))){var k=g[0]+":";g[2]&&(k+=" "+g[2]);a.g(k)}g[3]&&(h=g[3],f=null);f=af(a,b,h,f);a.g(f);a.X=b;e-=b.D-l;c++}}} function xe(a,b,c,d){if(b=Y(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Y(a,c,!0);if(!d||d.D<b.D)return;e=d.D-b.D;if(256<e){a.g("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=ib(a,!1)||a.ba?a.K:null;var h=null!=f?"cycles":null,g=kf(a,b),l=b.D;if(g[0]&&d&&(!c&&d||0>g[0].indexOf("+"))){var k=g[0]+":";g[2]&&(k+=" "+g[2]);a.g(k)}g[3]&&(h=g[3],f=null);f=af(a,b,h,f);a.g(f);a.X=b;e-=b.D-l;c++}}}
function pe(a,b,c,d){if(c)if(b){0>a.F&&a.w.length&&(a.F=0);if(0>a.F||b!=a.w[a.F])a.w.splice(0,0,b),a.F=0;a.F--}else a.ia?b="end":b=a.w[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(ia(b.substring(c,f))),c=f+1}}return a} function pe(a,b,c,d){if(c)if(b){0>a.F&&a.w.length&&(a.F=0);if(0>a.F||b!=a.w[a.F])a.w.splice(0,0,b),a.F=0;a.F--}else a.ja?b="end":b=a.w[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(ia(b.substring(c,f))),c=f+1}}return a}
function $e(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.ia&&(a.g("ended assemble at "+Z(a.fa.D)),a.X=a.fa,a.ia=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.wa=null;if(jb(a)&&0<b.length){a.ia&&(b="a "+Z(a.fa.D)+" "+b);var f=b.replace(/ +/g," ").split(" ");if(f&&f.length)for(var h=f[0],g=h.charAt(0),l=1;l<h.length;l++){var k=h.charAt(l);if("?"==g||"r"==g||"a">k||"z"<k){f[0]=h.substr(l);f.unshift(h.substr(0,l));break}}switch(f[0].charAt(0)){case "a":var n=Y(a,f[1],!0);if(n)if(a.fa= function $e(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.ja&&(a.g("ended assemble at "+Z(a.ga.D)),a.X=a.ga,a.ja=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.wa=null;if(jb(a)&&0<b.length){a.ja&&(b="a "+Z(a.ga.D)+" "+b);var f=b.replace(/ +/g," ").split(" ");if(f&&f.length)for(var h=f[0],g=h.charAt(0),l=1;l<h.length;l++){var k=h.charAt(l);if("?"==g||"r"==g||"a">k||"z"<k){f[0]=h.substr(l);f.unshift(h.substr(0,l));break}}switch(f[0].charAt(0)){case "a":var n=Y(a,f[1],!0);if(n)if(a.ga=
n,void 0===f[2])a.g("begin assemble at "+Z(n.D)),a.ia=!0,tc(a.b);else{var p;a.g("not supported yet");p=[];if(p.length){for(var v=0;v<p.length;v++)a.ka(n,p[v],1);a.g(af(a,a.fa))}}break;case "b":a:{var u=f[0],r=f[1],D=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]"), n,void 0===f[2])a.g("begin assemble at "+Z(n.D)),a.ja=!0,tc(a.b);else{var p;a.g("not supported yet");p=[];if(p.length){for(var v=0;v<p.length;v++)a.ma(n,p[v],1);a.g(af(a,a.ga))}}break;case "b":a:{var u=f[0],q=f[1],C=b;if("?"==q)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 x=u.charAt(1);if("l"==x){var M=0,M=M+Ze(a,a.C),M=M+Ze(a,a.Z);(M+=Ze(a,a.H))||a.g("no breakpoints")}else if("n"==x)a.va=gf(a,r),a.g("break after "+a.va+" instruction(s)");else if(void 0===r)a.g("missing breakpoint address");else{var z=U();if("*"!=r&&(z=Y(a,r,!0),!z))break a;r=t(z.D);"c"==x?null==z.D?($d(a),a.g("all breakpoints cleared")):Xe(a,a.C,z)||Xe(a,a.Z,z)|| 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 w=u.charAt(1);if("l"==w){var G=0,G=G+Ze(a,a.C),G=G+Ze(a,a.Z);(G+=Ze(a,a.H))||a.g("no breakpoints")}else if("n"==w)a.va=gf(a,q),a.g("break after "+a.va+" instruction(s)");else if(void 0===q)a.g("missing breakpoint address");else{var z=U();if("*"!=q&&(z=Y(a,q,!0),!z))break a;q=t(z.D);"c"==w?null==z.D?($d(a),a.g("all breakpoints cleared")):Xe(a,a.C,z)||Xe(a,a.Z,z)||
Xe(a,a.H,z)||a.g("breakpoint missing: "+Z(z.D)):"i"==x?a.g("breakpoint "+(yb(a.B,z.D)?"enabled":"cleared")+": port "+r+" (input)"):"o"==x?a.g("breakpoint "+(Bb(a.B,z.D)?"enabled":"cleared")+": port "+r+" (output)"):null!=z.D&&(oe(a,z,D),"p"==x?a.Oa(a.C,z):"r"==x?a.Oa(a.Z,z):"w"==x?a.Oa(a.H,z):a.g("unknown breakpoint command: "+x))}}}break;case "c":a.za&&(a.za.value="");break;case "d":a:{var N,V=f[0],R=f[1],na=f[2],Eb=f[3];if("?"==R){var xa="";for(N in he)a.Ca[N]&&(xa&&(xa+=","),xa+=N);xa+=",state,symbols"; Xe(a,a.H,z)||a.g("breakpoint missing: "+Z(z.D)):"i"==w?a.g("breakpoint "+(yb(a.B,z.D)?"enabled":"cleared")+": port "+q+" (input)"):"o"==w?a.g("breakpoint "+(Bb(a.B,z.D)?"enabled":"cleared")+": port "+q+" (output)"):null!=z.D&&(oe(a,z,C),"p"==w?a.Oa(a.C,z):"r"==w?a.Oa(a.Z,z):"w"==w?a.Oa(a.H,z):a.g("unknown breakpoint command: "+w))}}}break;case "c":a.za&&(a.za.value="");break;case "d":a:{var N,V=f[0],R=f[1],na=f[2],Fb=f[3];if("?"==R){var xa="";for(N in he)a.Ca[N]&&(xa&&(xa+=","),xa+=N);xa+=",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");xa.length&&a.g("dump extension commands:\n\t"+xa)}else if("state"==R){var ze=sf(a.u,!0);"console"==na?console.log(ze):(a.za&&(a.za.value=""),a.g(ze))}else if("symbols"==R)for(var $c=0;$c<a.I.length;$c++){var ad=a.I[$c],fb;for(fb in ad.Ja)if("."!=fb.charAt(0)){var Ae=ad.Ja[fb].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");xa.length&&a.g("dump extension commands:\n\t"+xa)}else if("state"==R){var ze=sf(a.u,!0);"console"==na?console.log(ze):(a.za&&(a.za.value=""),a.g(ze))}else if("symbols"==R)for(var $c=0;$c<a.I.length;$c++){var ad=a.I[$c],gb;for(gb in ad.Ja)if("."!=gb.charAt(0)){var Ae=ad.Ja[gb].o;
if(void 0!==Ae){var Be=ad.Ja[fb].l;Be&&(fb=Be);a.g(Z(Ae)+" "+fb)}}}else{if("d"==V){for(N in he)if(f[1]==N){var Ce=a.Ca[N];Ce?(f.shift(),f.shift(),Ce(f)):a.g("no dump registered for "+R);break a}R||(V=a.zb||"db")}else a.zb=V;if("dh"==V){var De=R,Ee=na,Fe="",Ge=0,W=a.qa,ya=a.N;if(ya.length){var aa=+De||a.Wa,gb=+Ee||10;isNaN(aa)?aa=gb:Fe="more ";aa>ya.length&&(a.g("note: only "+ya.length+" available"),aa=ya.length);W-=aa;0>W&&(null==ya[ya.length-1].D?(aa=W+aa,W=0):W+=ya.length);var bd=[];"call"==Ee&& if(void 0!==Ae){var Be=ad.Ja[gb].l;Be&&(gb=Be);a.g(Z(Ae)+" "+gb)}}}else{if("d"==V){for(N in he)if(f[1]==N){var Ce=a.Ca[N];Ce?(f.shift(),f.shift(),Ce(f)):a.g("no dump registered for "+R);break a}R||(V=a.zb||"db")}else a.zb=V;if("dh"==V){var De=R,Ee=na,Fe="",Ge=0,W=a.ra,ya=a.N;if(ya.length){var aa=+De||a.Wa,hb=+Ee||10;isNaN(aa)?aa=hb:Fe="more ";aa>ya.length&&(a.g("note: only "+ya.length+" available"),aa=ya.length);W-=aa;0>W&&(null==ya[ya.length-1].D?(aa=W+aa,W=0):W+=ya.length);var bd=[];"call"==Ee&&
(gb=1E5,bd=["CALL"]);for(void 0!==De&&a.g(aa+" instructions earlier:");0<gb&&W!=a.qa;){var He=ya[W++];if(null==He.D)break;var Fb=U(He.D),Mf=aa--,Ie=af(a,Fb,"history",Mf);(!bd.length||0<=Ie.indexOf(bd[0]))&&a.g(Ie);Fb.Db&&(W+=Fb.Db,gb-=Fb.Db,aa-=Fb.Db);W>=ya.length&&(W=0);a.Wa=aa;Ge++;gb--}}Ge||(a.g("no "+Fe+"history available"),a.Wa=void 0)}else{var hc=Y(a,R);if(hc){var ic=0;na&&("l"==na.charAt(0)&&(na=na.substr(1)||Eb),ic=gf(a,na)>>>0,65536<ic&&(ic=65536));for(var Oa="",jc="dd"==V?4:"dw"==V?2:1, (hb=1E5,bd=["CALL"]);for(void 0!==De&&a.g(aa+" instructions earlier:");0<hb&&W!=a.ra;){var He=ya[W++];if(null==He.D)break;var Gb=U(He.D),Mf=aa--,Ie=af(a,Gb,"history",Mf);(!bd.length||0<=Ie.indexOf(bd[0]))&&a.g(Ie);Gb.Db&&(W+=Gb.Db,hb-=Gb.Db,aa-=Gb.Db);W>=ya.length&&(W=0);a.Wa=aa;Ge++;hb--}}Ge||(a.g("no "+Fe+"history available"),a.Wa=void 0)}else{var ic=Y(a,R);if(ic){var jc=0;na&&("l"==na.charAt(0)&&(na=na.substr(1)||Fb),jc=gf(a,na)>>>0,65536<jc&&(jc=65536));for(var Oa="",kc="dd"==V?4:"dw"==V?2:1,
kc=jc*ic||128,Nf=kc+15>>4||1;Nf--&&0<kc;){var lc=0,cd=0,Gb,Hb="",dd="",R=Z(hc.D);for(Gb=16;0<Gb&&0<kc;Gb--){var mc=a.W(hc,1),lc=lc|mc<<(cd++<<3);cd==jc&&(Hb+=q(lc,2*jc),Hb+=1==jc?9==Gb?"-":" ":" ",lc=cd=0);dd+=32<=mc&&128>mc?String.fromCharCode(mc):".";kc--}Oa&&(Oa+="\n");Oa+=R+" "+Hb+(0==Gb?" "+dd:"")}Oa&&a.g(Oa);a.Na=hc}}}}break;case "e":if("else"==f[0])break;var nc=1,Je=255,Ke=a.W,Le=a.ka;"ew"==f[0]&&(nc=2,Je=65535,Ke=a.La,Le=a.Cb);var Me=nc<<1,Ne=f[1];if(null==Ne)a.g("edit memory commands:"), lc=kc*jc||128,Nf=lc+15>>4||1;Nf--&&0<lc;){var mc=0,cd=0,Hb,Ib="",dd="",R=Z(ic.D);for(Hb=16;0<Hb&&0<lc;Hb--){var nc=a.W(ic,1),mc=mc|nc<<(cd++<<3);cd==kc&&(Ib+=r(mc,2*kc),Ib+=1==kc?9==Hb?"-":" ":" ",mc=cd=0);dd+=32<=nc&&128>nc?String.fromCharCode(nc):".";lc--}Oa&&(Oa+="\n");Oa+=R+" "+Ib+(0==Hb?" "+dd:"")}Oa&&a.g(Oa);a.Na=ic}}}}break;case "e":if("else"==f[0])break;var oc=1,Je=255,Ke=a.W,Le=a.ma;"ew"==f[0]&&(oc=2,Je=65535,Ke=a.La,Le=a.Cb);var Me=oc<<1,Ne=f[1];if(null==Ne)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 oc=Y(a,Ne);if(oc)for(var pc=2;pc<f.length;pc++){var Ib=ne(a,f[pc]);if(void 0===Ib){a.g("unrecognized value: "+f[pc]);break}Ib&~Je&&a.g("warning: "+q(Ib)+" exceeds "+nc+"-byte value");var Of=Ke.call(a,oc);a.g("changing "+Z(oc.D)+" from 0x"+q(Of,Me)+" to 0x"+q(Ib,Me));Le.call(a,oc,Ib,nc)}}break;case "f":mf(a,f[1]);break;case "g":a:{var Oe=f[1],Pf=b;if(void 0!==Oe){var ed=Y(a,Oe,!0);if(!ed)break a; a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");else{var pc=Y(a,Ne);if(pc)for(var qc=2;qc<f.length;qc++){var Jb=ne(a,f[qc]);if(void 0===Jb){a.g("unrecognized value: "+f[qc]);break}Jb&~Je&&a.g("warning: "+r(Jb)+" exceeds "+oc+"-byte value");var Of=Ke.call(a,pc);a.g("changing "+Z(pc.D)+" from 0x"+r(Of,Me)+" to 0x"+r(Jb,Me));Le.call(a,pc,Jb,oc)}}break;case "f":mf(a,f[1]);break;case "g":a:{var Oe=f[1],Pf=b;if(void 0!==Oe){var ed=Y(a,Oe,!0);if(!ed)break a;
oe(a,ed,Pf);a.Oa(a.C,ed,!0)}a.Ua(!0)||c||a.g("cpu busy or unavailable, run command ignored")}break;case "h":a:{var fd;if(a.A.ra)fd="halting",a.ea();else{if(ib(a,!0))break a;fd="already halted"}c||a.g(fd)}break;case "i":if("if"==f[0]){var gd;var Jb=b.substr(2),Jb=ia(Jb);ne(a,Jb)?(c||a.g("true: "+Jb),gd=!0):(c||a.g("false: "+Jb),gd=!1);gd||(d=!1);break}var hd=f[1];if(hd&&"?"!=hd){var id=gf(a,hd);if(void 0!==id){var Qf=zb(a.B,id);a.g(t(id)+": "+("0x"+q(Qf,2)))}}else a.g("input commands:"),a.g("\ti [p]\tread port [p]"), oe(a,ed,Pf);a.Oa(a.C,ed,!0)}a.Ua(!0)||c||a.g("cpu busy or unavailable, run command ignored")}break;case "h":a:{var fd;if(a.A.sa)fd="halting",a.fa();else{if(ib(a,!0))break a;fd="already halted"}c||a.g(fd)}break;case "i":if("if"==f[0]){var gd;var Kb=b.substr(2),Kb=ia(Kb);ne(a,Kb)?(c||a.g("true: "+Kb),gd=!0):(c||a.g("false: "+Kb),gd=!1);gd||(d=!1);break}var hd=f[1];if(hd&&"?"!=hd){var id=gf(a,hd);if(void 0!==id){var Qf=zb(a.B,id);a.g(t(id)+": "+("0x"+r(Qf,2)))}}else a.g("input commands:"),a.g("\ti [p]\tread port [p]"),
a.g("warning: port accesses can affect hardware state");break;case "k":var Rf=f[0];if("?"==f[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var jd=0,Pe=U(),Kb=U(a.b.da);for(a.g("stack trace for "+Z(Kb.D));10>jd;){for(var Pa=null,Sf=256;65536>Kb.D>>>0;){Pe.D=a.La(Kb,2);if(null==Kb.D||!Sf--)break;for(var Tf=a,qc=Pe,Qe=null,Lb=qc.D,Re=Lb,kd=1;6>=kd&&Lb;kd++){if(2<kd){qc.D=Lb;var rc=af(Tf,qc);if(0<=rc.indexOf("CALL")){var Se=rc.indexOf(" "); a.g("warning: port accesses can affect hardware state");break;case "k":var Rf=f[0];if("?"==f[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var jd=0,Pe=U(),Lb=U(a.b.ea);for(a.g("stack trace for "+Z(Lb.D));10>jd;){for(var Pa=null,Sf=256;65536>Lb.D>>>0;){Pe.D=a.La(Lb,2);if(null==Lb.D||!Sf--)break;for(var Tf=a,rc=Pe,Qe=null,Mb=rc.D,Re=Mb,kd=1;6>=kd&&Mb;kd++){if(2<kd){rc.D=Mb;var sc=af(Tf,rc);if(0<=sc.indexOf("CALL")){var Se=sc.indexOf(" ");
if(Lb+(rc.indexOf(" ",Se+1)-Se-1)/2==Re){Qe=rc;break}}}Lb--}qc.D=Re;if(Pa=Qe)break}if(!Pa||null==Pa)break;var Te=null;if("ks"==Rf){var Ue=Pa.match(/[0-9A-F]+$/);Ue&&(Te=of(a,Ue[0]))}Pa=ha(Pa,50)+" ;"+(Te||"stack="+Z(Kb.D));a.g(Pa);jd++}jd||a.g("no return addresses found")}break;case "l":if("ln"==f[0]){of(a,f[1],!0);break}break;case "m":a:{var za,Aa=null,H=f[1];"?"==H&&(H=void 0);if(void 0!==H){var Ha=0;if("all"==H)Ha=1878917119,H=null;else if("on"==H)Aa=!0,H=null;else if("off"==H)Aa=!1,H=null;else{"keys"== if(Mb+(sc.indexOf(" ",Se+1)-Se-1)/2==Re){Qe=sc;break}}}Mb--}rc.D=Re;if(Pa=Qe)break}if(!Pa||null==Pa)break;var Te=null;if("ks"==Rf){var Ue=Pa.match(/[0-9A-F]+$/);Ue&&(Te=of(a,Ue[0]))}Pa=ha(Pa,50)+" ;"+(Te||"stack="+Z(Lb.D));a.g(Pa);jd++}jd||a.g("no return addresses found")}break;case "l":if("ln"==f[0]){of(a,f[1],!0);break}break;case "m":a:{var za,Aa=null,I=f[1];"?"==I&&(I=void 0);if(void 0!==I){var Ha=0;if("all"==I)Ha=1878917119,I=null;else if("on"==I)Aa=!0,I=null;else if("off"==I)Aa=!1,I=null;else{"keys"==
H&&(H="key");"kbd"==H&&(H="keyboard");for(za in he)if(H==za){Ha=he[za];Aa=!!(a.ja&Ha);break}if(!Ha){a.g("unknown message category: "+H);break a}}if(Ha)if("on"==f[2])a.ja|=Ha,Aa=!0;else if("off"==f[2]&&(a.ja&=~Ha,Aa=!1,1073741824==Ha)){for(var ld=0;ld<a.xa.length;ld++)a.g(a.xa[ld]);a.xa=[]}}var Uf=0,Ia="";for(za in he)if(!H||H==za){var Vf=!!(a.ja&he[za]);if(null===Aa||Aa==Vf)Ia&&(Ia+=","),++Uf%10||(Ia+="\n\t"),"key"==za&&(za="keys"),Ia+=za}void 0===H&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off"); I&&(I="key");"kbd"==I&&(I="keyboard");for(za in he)if(I==za){Ha=he[za];Aa=!!(a.ka&Ha);break}if(!Ha){a.g("unknown message category: "+I);break a}}if(Ha)if("on"==f[2])a.ka|=Ha,Aa=!0;else if("off"==f[2]&&(a.ka&=~Ha,Aa=!1,1073741824==Ha)){for(var ld=0;ld<a.xa.length;ld++)a.g(a.xa[ld]);a.xa=[]}}var Uf=0,Ia="";for(za in he)if(!I||I==za){var Vf=!!(a.ka&he[za]);if(null===Aa||Aa==Vf)Ia&&(Ia+=","),++Uf%10||(Ia+="\n\t"),"key"==za&&(za="keys"),Ia+=za}void 0===I&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");
a.g((null!==Aa?Aa?"messages on: ":"messages off: ":"message categories:\n\t")+(Ia||"none"));ae(a)}break;case "o":var md=f[1],Wf=f[2];if(md&&"?"!=md){var nd=gf(a,md,"port #"),od=gf(a,Wf);void 0!==nd&&void 0!==od&&(Cb(a.B,nd,od),a.g(t(nd)+": "+("0x"+q(od,2))))}else a.g("output commands:"),a.g("\to [p] [b]\twrite byte [b] to port [p]"),a.g("warning: port accesses can affect hardware state");break;case "p":if("print"==f[0]){qf(a,b.substr(5));break}var Ve="pr"==f[0]?1:0,Xf=1+Ve;if(a.ba)a.g("step in progress"); a.g((null!==Aa?Aa?"messages on: ":"messages off: ":"message categories:\n\t")+(Ia||"none"));ae(a)}break;case "o":var md=f[1],Wf=f[2];if(md&&"?"!=md){var nd=gf(a,md,"port #"),od=gf(a,Wf);void 0!==nd&&void 0!==od&&(Cb(a.B,nd,od),a.g(t(nd)+": "+("0x"+r(od,2))))}else a.g("output commands:"),a.g("\to [p] [b]\twrite byte [b] to port [p]"),a.g("warning: port accesses can affect hardware state");break;case "p":if("print"==f[0]){qf(a,b.substr(5));break}var Ve="pr"==f[0]?1:0,Xf=1+Ve;if(a.ba)a.g("step in progress");
else{var pd=U(a.b.M);switch(a.W(pd)){case 205:a.ba=Xf,je(pd,3)}a.ba?(a.Oa(a.C,pd,!0),a.Ua()||(a.u&&a.u.sb(),a.ba=0)):rf(a,Ve?"tr":"t")}break;case "r":if("reset"==b){a.u&&a.u.reset();break}we(a,f);break;case "s":pf(a,f);break;case "t":rf(a,f[0],f[1]);break;case "u":xe(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.Ra+",RELEASE"+(lb?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(qa());break;case "?":if(f[1]){qf(a,b.substr(1));break}var Mb="commands:", else{var pd=U(a.b.M);switch(a.W(pd)){case 205:a.ba=Xf,je(pd,3)}a.ba?(a.Oa(a.C,pd,!0),a.Ua()||(a.u&&a.u.tb(),a.ba=0)):rf(a,Ve?"tr":"t")}break;case "r":if("reset"==b){a.u&&a.u.reset();break}we(a,f);break;case "s":pf(a,f);break;case "t":rf(a,f[0],f[1]);break;case "u":xe(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.Ra+",RELEASE"+(lb?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(qa());break;case "?":if(f[1]){qf(a,b.substr(1));break}var Nb="commands:",
qd;for(qd in ce)Mb+="\n"+ha(qd,7)+ce[qd];sd(a)||(Mb+="\nnote: frequency/history disabled if no exec breakpoints");a.g(Mb);break;default:a.g("unknown command: "+b),d=!1}}}catch(We){a.g("debugger error: "+(We.stack||We.message)),d=!1}return d}function sc(a,b,c){b=pe(a,b,c);for(var d in b)if(!$e(a,b[d]))return!1;return!0}Ja(function(){for(var a=B(document,"pc8080","debugger"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Yd(d);ab(d,c)}}); qd;for(qd in ce)Nb+="\n"+ha(qd,7)+ce[qd];sd(a)||(Nb+="\nnote: frequency/history disabled if no exec breakpoints");a.g(Nb);break;default:a.g("unknown command: "+b),d=!1}}}catch(We){a.g("debugger error: "+(We.stack||We.message)),d=!1}return d}function hc(a,b,c){b=pe(a,b,c);for(var d in b)if(!$e(a,b[d]))return!1;return!0}Ja(function(){for(var a=B(document,"pc8080","debugger"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Yd(d);ab(d,c)}});
function Ic(a,b,c){this.id=a.id;this.key=tf(a,b,c);this.G=a.G;uf(this,a.ac)}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} function Ic(a,b,c){this.id=a.id;this.key=tf(a,b,c);this.G=a.G;uf(this,a.bc)}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}
Ic.prototype={constructor:Ic,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}}}; Ic.prototype={constructor:Ic,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&&G(a,"parms",b);a.b=!1}function vf(a){var b=!0;if(ta()){var c=JSON.stringify(a[a.id]);va(a.key,c)||(w("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){w(c.message||c),b=!1}return b}function xf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:ta()&&(b=ua(a.key))?(a[a.id]=b,a.b=!0):!1}function yf(a,b){return a[a.id][b]||null}function G(a,b,c){try{a[a.id][b]=c}catch(d){}} function uf(a,b){a[a.id]={};b&&H(a,"parms",b);a.b=!1}function vf(a){var b=!0;if(ta()){var c=JSON.stringify(a[a.id]);va(a.key,c)||(x("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){x(c.message||c),b=!1}return b}function xf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:ta()&&(b=ua(a.key))?(a[a.id]=b,a.b=!0):!1}function yf(a,b){return a[a.id][b]||null}function H(a,b,c){try{a[a.id][b]=c}catch(d){}}
function zf(a,b,c){y.call(this,"Computer",a,zf,67108864);this.A.ma=!1;Af(this,b);this.ba=ec(this,"autoPower",a);this.w=0;this.pa=a.busWidth||a.buswidth;this.u=Bf;this.X=null;this.J=this.ia=!1;this.qa=ec(this,"url")||"";(Math.random()+.1).toString(36);this.C=Cf(this);if(this.b=$a("CPU",this.id)){this.G=$a("Debugger",this.id);this.I=[];for(b=null;b=ob(this,"Video",b);)this.I.push(b);this.B=new qb({id:this.Fb+".bus",busWidth:this.pa},this.b,this.G);var d,e=Za(this.id);if((this.F=$a("Panel",this.id))&& function zf(a,b,c){y.call(this,"Computer",a,zf,67108864);this.A.na=!1;Af(this,b);this.ba=ec(this,"autoPower",a);this.w=0;this.qa=a.busWidth||a.buswidth;this.u=Bf;this.X=null;this.J=this.ja=!1;this.ra=ec(this,"url")||"";(Math.random()+.1).toString(36);this.C=Cf(this);if(this.b=$a("CPU",this.id)){this.G=$a("Debugger",this.id);this.I=[];for(b=null;b=ob(this,"Video",b);)this.I.push(b);this.B=new qb({id:this.Hb+".bus",busWidth:this.qa},this.b,this.G);var d,e=Za(this.id);if((this.F=$a("Panel",this.id))&&
this.F.za)for(b=0;b<e.length;b++)d=e[b],d.ha=this.F.ha,d.g=this.F.g,d.za=this.F.za;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.Ka&&d.Ka(this,this.B,this.b,this.G);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.N=d:this.u=parseInt(d,10));var f;if(a=ec(this,"state")||(f=!0,a.state))b=this.ca=a,f||(this.J=!0,this.u=Bf),this.u&&(this.Z=new Ic(this,"1.23.3"),xf(this.Z)? this.F.za)for(b=0;b<e.length;b++)d=e[b],d.ia=this.F.ia,d.g=this.F.g,d.za=this.F.za;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.Ka&&d.Ka(this,this.B,this.b,this.G);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.N=d:this.u=parseInt(d,10));var f;if(a=ec(this,"state")||(f=!0,a.state))b=this.ca=a,f||(this.J=!0,this.u=Bf),this.u&&(this.Z=new Ic(this,"1.23.3"),xf(this.Z)?
b=null:delete this.Z);!b&&this.u&&(b=Df(this))&&(this.J=!0);if(b){var h=this;oa(b,null,!0,function(a,b,c){c?(h.N=null,h.J=!1,h.ha("Unable to load machine state from server (error "+c+(b?": "+ia(b):"")+")")):(h.X=b,h.ia=!0);C(h)})}else C(this);this.L.power||(this.ba=!0);!c&&this.ba&&Ef(this,this.qb)}else w("Unable to find CPU component")}Wa(zf);var Bf=0;function Af(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){w(d.message+" ("+c+")")}}a.K=b} b=null:delete this.Z);!b&&this.u&&(b=Df(this))&&(this.J=!0);if(b){var h=this;oa(b,null,!0,function(a,b,c){c?(h.N=null,h.J=!1,h.ia("Unable to load machine state from server (error "+c+(b?": "+ia(b):"")+")")):(h.X=b,h.ja=!0);D(h)})}else D(this);this.L.power||(this.ba=!0);!c&&this.ba&&Ef(this,this.rb)}else x("Unable to find CPU component")}Wa(zf);var Bf=0;function Af(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){x(d.message+" ("+c+")")}}a.K=b}
function ec(a,b,c){var d=b.toLowerCase(),d=Ra[b]||Ra[d];void 0===d&&a.K&&(d=a.K[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Ef(a,b,c){for(var d=Za(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!jb(f)){jb(f,function(){Ef(a,b,c)});return}}b.call(a,c)} function ec(a,b,c){var d=b.toLowerCase(),d=Ra[b]||Ra[d];void 0===d&&a.K&&(d=a.K[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Ef(a,b,c){for(var d=Za(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!jb(f)){jb(f,function(){Ef(a,b,c)});return}}b.call(a,c)}
function Ff(a,b){var c=new Ic(a,"1.23.3","validate");if(xf(c)&&wf(c)){var d=yf(c,"timestamp"),e=b?yf(b,"timestamp"):"unknown";d!=e&&(a.ha("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 Ff(a,b){var c=new Ic(a,"1.23.3","validate");if(xf(c)&&wf(c)){var d=yf(c,"timestamp"),e=b?yf(b,"timestamp"):"unknown";d!=e&&(a.ia("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=zf.prototype;
m.qb=function(a){void 0===a&&(a=this.u||(this.X?1:Bf));if(!this.w){this.w++;var b=!1,c=!1;this.fa=!1;var d=this.Z||new Ic(this,"1.23.3");if(-1==a)b=!0;else if(a>Bf){if(xf(d,this.X)){this.H=new Ic(this,"1.23.3","failsafe");xf(this.H)&&(Gf(this,d),a=2,uf(this.H));G(this.H,"timestamp",la());vf(this.H);var e=this.u&&!this.J;if(1==a||ra("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.rb=function(a){void 0===a&&(a=this.u||(this.X?1:Bf));if(!this.w){this.w++;var b=!1,c=!1;this.ga=!1;var d=this.Z||new Ic(this,"1.23.3");if(-1==a)b=!0;else if(a>Bf){if(xf(d,this.X)){this.H=new Ic(this,"1.23.3","failsafe");xf(this.H)&&(Gf(this,d),a=2,uf(this.H));H(this.H,"timestamp",la());vf(this.H);var e=this.u&&!this.J;if(1==a||ra("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&&"no machine state"!=h?(this.ha("Error: "+h),"unable to verify user"==h&&(va("user",""),this.C=null)):this.g(f+": "+h),uf(d),xf(d)?(c=wf(d),e=!0):c=!1))}e&&Ff(this,c?d:null)}else 2==a&&d.clear()}else Ff(this);delete this.X;delete this.Z}e=Za(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.b&&(c=Hf(this,h,d,b,c));b=[d,a,c];-1!=a?Ef(this,this.Ob,b):this.Ob(b)}}; f&&"no machine state"!=h?(this.ia("Error: "+h),"unable to verify user"==h&&(va("user",""),this.C=null)):this.g(f+": "+h),uf(d),xf(d)?(c=wf(d),e=!0):c=!1))}e&&Ff(this,c?d:null)}else 2==a&&d.clear()}else Ff(this);delete this.X;delete this.Z}e=Za(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.b&&(c=Hf(this,h,d,b,c));b=[d,a,c];-1!=a?Ef(this,this.Ob,b):this.Ob(b)}};
function Hf(a,b,c,d,e){if(!b.A.ma){b.A.ma=!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&&(w("Unable to restore state for "+b.type),a.ca&&!a.ia?(c.clear(),a.u=Bf,window&&window.location.reload()):a.fa=!0,b.Ea(null),e=!1)}if(!d&&b.Sb)for(a=b.Sb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e} function Hf(a,b,c,d,e){if(!b.A.na){b.A.na=!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&&(x("Unable to restore state for "+b.type),a.ca&&!a.ja?(c.clear(),a.u=Bf,window&&window.location.reload()):a.ga=!0,b.Ea(null),e=!1)}if(!d&&b.Sb)for(a=b.Sb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
m.Ob=function(a){var b=a[0],c=0>a[1];a=a[2];this.ta=!0;this.A.ma=!0;var d=this.L.power;d&&(d.textContent="Shutdown");this.b&&(Hf(this,this.b,b,c,a),uc(this.b));this.fa&&(Gf(this,b),b.clear());!c&&this.H&&(this.H.clear(),delete this.H);this.w=0}; m.Ob=function(a){var b=a[0],c=0>a[1];a=a[2];this.ua=!0;this.A.na=!0;var d=this.L.power;d&&(d.textContent="Shutdown");this.b&&(Hf(this,this.b,b,c,a),uc(this.b));this.ga&&(Gf(this,b),b.clear());!c&&this.H&&(this.H.clear(),delete this.H);this.w=0};
function Gf(a,b){if(ra("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.C||"",d=b.toString(),e={app:"PC8080",ver:"1.23.3"};e.url=a.qa;e.user=c;e.type="bug";e.data=d;oa("http://www.pcjs.org/api/v1/report",e,!0)}} function Gf(a,b){if(ra("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.C||"",d=b.toString(),e={app:"PC8080",ver:"1.23.3"};e.url=a.ra;e.user=c;e.type="bug";e.data=d;oa("http://www.pcjs.org/api/v1/report",e,!0)}}
function sf(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new Ic(a,"1.23.3"),h=new Ic(a,"1.23.3","validate"),g=la();G(h,"timestamp",g);G(f,"timestamp",g);G(f,"version","1.23.3");G(f,"url",window?window.location.href:null);G(f,"browser",qa());a.b&&a.b.Ha&&(c&&a.b.ea(),d=a.b.Ha(b,c),"object"===typeof d&&G(f,a.b.id,d),c&&(a.b.A.ma=!1,!1===d&&(e=null)));for(var g=Za(a.id),l=0;l<g.length;l++){var k=g[l];k.A.ma&&(k.Ha&&(d=k.Ha(b,c),"object"===typeof d&&G(f,k.id,d)),c&&(k.A.ma=!1,!1===d&&(e=null)))}e&& function sf(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new Ic(a,"1.23.3"),h=new Ic(a,"1.23.3","validate"),g=la();H(h,"timestamp",g);H(f,"timestamp",g);H(f,"version","1.23.3");H(f,"url",window?window.location.href:null);H(f,"browser",qa());a.b&&a.b.Ha&&(c&&a.b.fa(),d=a.b.Ha(b,c),"object"===typeof d&&H(f,a.b.id,d),c&&(a.b.A.na=!1,!1===d&&(e=null)));for(var g=Za(a.id),l=0;l<g.length;l++){var k=g[l];k.A.na&&(k.Ha&&(d=k.Ha(b,c),"object"===typeof d&&H(f,k.id,d)),c&&(k.A.na=!1,!1===d&&(e=null)))}e&&
(c?(g=d=!1,b?(a.C&&If(a,a.C,f.toString()),vf(h)&&vf(f)||(e=null,d=g=!0)):a.u&&(d=!0,g=3==a.u),d&&f.clear(g)):e=f.toString());c&&(a.A.ma=!1,b=a.L.power)&&(b.textContent="Power");a.w=0;return e}m.reset=function(){this.B&&this.B.reset&&(db(this,"Resetting "+this.B.type),this.B.reset());for(var a=Za(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.B&&c.reset&&(db(this,"Resetting "+c.type),c.reset())}}; (c?(g=d=!1,b?(a.C&&If(a,a.C,f.toString()),vf(h)&&vf(f)||(e=null,d=g=!0)):a.u&&(d=!0,g=3==a.u),d&&f.clear(g)):e=f.toString());c&&(a.A.na=!1,b=a.L.power)&&(b.textContent="Power");a.w=0;return e}m.reset=function(){this.B&&this.B.reset&&(db(this,"Resetting "+this.B.type),this.B.reset());for(var a=Za(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.B&&c.reset&&(db(this,"Resetting "+c.type),c.reset())}};
m.start=function(a,b){for(var c=Za(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=Za(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=Za(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=Za(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
m.oa=function(a,b,c){var d=this;switch(b){case "power":return this.L[b]=c,c.onclick=function(){d.w||(d.A.ma?sf(d,!1,!0):Ef(d,d.qb))},!0;case "reset":return this.L[b]=c,c.onclick=function(){if(d.A.ma&&!d.w)if(d.u&&!d.N){var a=ra("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.ca?window&&window.location.reload():d.qb(Bf)}else d.reset(),d.b&&uc(d.b)},!0;case "save":if(ea(pa(),"pcjs.org")){c.parentNode.removeChild(c); m.pa=function(a,b,c){var d=this;switch(b){case "power":return this.L[b]=c,c.onclick=function(){d.w||(d.A.na?sf(d,!1,!0):Ef(d,d.rb))},!0;case "reset":return this.L[b]=c,c.onclick=function(){if(d.A.na&&!d.w)if(d.u&&!d.N){var a=ra("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.ca?window&&window.location.reload():d.rb(Bf)}else d.reset(),d.b&&uc(d.b)},!0;case "save":if(ea(pa(),"pcjs.org")){c.parentNode.removeChild(c);
break}this.L[b]=c;c.onclick=function(){var a=Cf(d,!0);if(a){var b=!!(d.u&&!d.N||d.ca),c=sf(d,b);b?If(d,a,c):d.ha("Resume disabled, machine state not saved")}};return!0}return!1}; break}this.L[b]=c;c.onclick=function(){var a=Cf(d,!0);if(a){var b=!!(d.u&&!d.N||d.ca),c=sf(d,b);b?If(d,a,c):d.ia("Resume disabled, machine state not saved")}};return!0}return!1};
function Cf(a,b){var c=a.C;c||(c=ua("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=Jf(a,c))||a.ha("The user ID is invalid."))):b&&a.ha("Browser local storage is not available"));return c} function Cf(a,b){var c=a.C;c||(c=ua("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=Jf(a,c))||a.ia("The user ID is invalid."))):b&&a.ia("Browser local storage is not available"));return c}
function Jf(a,b){a.C=null;var c=oa(pa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(va("user",c.data),a.C=c.data)}catch(e){w(e.message+" ("+d+")")}return a.C}function Df(a){var b=null;a.C&&(b=pa()+"/api/v1/user?req=load&user="+a.C+"&state="+tf(a,"1.23.3"));return b} function Jf(a,b){a.C=null;var c=oa(pa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(va("user",c.data),a.C=c.data)}catch(e){x(e.message+" ("+d+")")}return a.C}function Df(a){var b=null;a.C&&(b=pa()+"/api/v1/user?req=load&user="+a.C+"&state="+tf(a,"1.23.3"));return b}
function If(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=tf(a,"1.23.3");d.data=c;b=oa(pa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.ha("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.ha(c),va("user",""),a.C=null)}} function If(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=tf(a,"1.23.3");d.data=c;b=oa(pa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.ia("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.ia(c),va("user",""),a.C=null)}}
function ob(a,b,c){a=Za(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.sb=function(a){if(this.I.length){var b=0,c=0;a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.I[0];d.xa&&d.xa.focus();a&&window&&window.scrollTo(b,c)}};m.Ba=function(a){this.b&&this.b.Ba(a);this.F&&this.F.Ba(a)}; function ob(a,b,c){a=Za(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.tb=function(a){if(this.I.length){var b=0,c=0;a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.I[0];d.xa&&d.xa.focus();a&&window&&window.scrollTo(b,c)}};m.Ba=function(a){this.b&&this.b.Ba(a);this.F&&this.F.Ba(a)};
function Ac(a,b){for(var c=0;c<a.I.length;c++){var d=a.I[c],e=!0;if(0<=b){if(d.Xb)if(b&1)e=d.b,e.w=e.w&-8|10,e=!1;else{var f=d.b;f.w=f.w&-8|9}if(f=e&&d.wa){for(var f=d.B,h=d.Na,g=!0,l=d.va>>>f.ga;0<h&&l<f.U.length;)f.U[l].Fa&&(f.U[l].Fa=g=!1,f.U[l].Qb=!0),h-=f.Aa,l++;f=g}f&&(e=!1)}if(e)if(1<d.ua)switch(d.ca){case 2:for(var k=d.va,e=-1,f=0,h=60==d.xc?2:5,l=g=0;f<d.Da;){for(var n=0,p=k,v=e;;){var u=vb(d.B,p++);if(127==(u&127)){k=vb(d.B,p++);e=k&96;k=d.va|(k&31)<<8|vb(d.B,p);break}if(n<d.ta.length)d.ta[n++]= function Ac(a,b){for(var c=0;c<a.I.length;c++){var d=a.I[c],e=!0;if(0<=b){if(d.ac)if(b&1)e=d.b,e.w=e.w&-8|10,e=!1;else{var f=d.b;f.w=f.w&-8|9}if(f=e&&d.wa){for(var f=d.B,h=d.Na,g=!0,l=d.va>>>f.ha;0<h&&l<f.U.length;)f.U[l].Fa&&(f.U[l].Fa=g=!1,f.U[l].Qb=!0),h-=f.Aa,l++;f=g}f&&(e=!1)}if(e)if(1<d.la)switch(d.ca){case 2:for(var k=d.va,e=-1,f=0,h=60==d.yc?2:5,l=g=0;f<d.Da;){for(var n=0,p=k,v=e;;){var u=vb(d.B,p++);if(127==(u&127)){k=vb(d.B,p++);e=k&96;k=d.va|(k&31)<<8|vb(d.B,p);break}if(n<d.ua.length)d.ua[n++]=
u;else break}if(h)h--;else{for(;n<d.ta.length;)d.ta[n++]=0;for(p=0;p<n;p++){u=d.ta[p];if(!d.wa||u!==d.ia[g]){var r=d,D=d.Wa,x=u&127;if(u=r.pa[v]){var M=(x&15)*u.ua,x=(x>>4)*u.la,z=void 0,N=void 0,V=void 0,R=void 0,na=u.ua,Eb=u.la;D?(z=p*r.ua,N=f*r.la,V=r.ua,R=r.la):(z=p*r.xb,N=f*r.yb,V=r.xb,R=r.yb);u.ua>r.ua&&(z*=2,V*=2);u.la>r.la&&(0==v&&(x+=r.la),Eb=r.la);D?D.drawImage(u.canvas,M,x,na,Eb,z,N,V,R):(z+=0,N+=0,r.H.drawImage(u.canvas,M,x,na,Eb,z,N,V,R))}l++}g++}f++}}d.wa=!0;l&&d.Wa&&d.H.drawImage(d.K, u;else break}if(h)h--;else{for(;n<d.ua.length;)d.ua[n++]=0;for(p=0;p<n;p++){u=d.ua[p];if(!d.wa||u!==d.ja[g]){var q=d,C=d.Wa,w=u&127;if(u=q.qa[v][u&128?1:0]){var G=(w&15)*u.la,w=(w>>4)*u.da,z=void 0,N=void 0,V=void 0,R=void 0,na=u.la,Fb=u.da;C?(z=p*q.la,N=f*q.da,V=q.la,R=q.da):(z=p*q.yb,N=f*q.zb,V=q.yb,R=q.zb);u.la>q.la&&(z*=2,V*=2);u.da>q.da&&(0==v&&(w+=q.da),Fb=q.da);C?C.drawImage(u.canvas,G,w,na,Fb,z,N,V,R):(z+=0,N+=0,q.H.drawImage(u.canvas,G,w,na,Fb,z,N,V,R))}l++}g++}f++}}d.wa=!0;l&&d.Wa&&d.H.drawImage(d.K,
0,0,d.J,d.ba-d.la,0,0,d.oc,d.uc)}else{g=d.va;l=g+d.Na;k=v=n=0;e=d.J;p=0;f=d.ba;r=h=0;D=d.Ia;u=(1<<D)-1;d.wc&&(D=-D,r=16+D);for(;g<l;){M=wb(d.B,g);if(d.wa&&M===d.ia[n])v+=d.Wb;else{d.ia[n]=M;(x=r)&&(M=M>>8|(M&255)<<8);v<e&&(e=v);for(z=d.Wb;z--;)N=M>>x&u,Xd(d,d.Ub,v++,k,N),x+=D;v>p&&(p=v);k<f&&(f=k);k>=h&&(h=k+1)}g+=2;n++;if(v>=d.J&&(v=0,k++,k>d.ba))break}d.wa=!0;e<d.J&&(g=p-e,h-=f,d.F&&(l=e,n=g,e=f,g=h,f=d.J-(l+n),h=n),d.Wa.putImageData(d.Ub,0,0,e,f,g,h),d.H.drawImage(d.K,0,0,d.K.width,d.K.height, 0,0,d.J,d.ba-d.da,0,0,d.uc,d.vc)}else{g=d.va;l=g+d.Na;k=v=n=0;e=d.J;p=0;f=d.ba;q=h=0;C=d.Ia;u=(1<<C)-1;d.xc&&(C=-C,q=16+C);for(;g<l;){G=wb(d.B,g);if(d.wa&&G===d.ja[n])v+=d.Xb;else{d.ja[n]=G;(w=q)&&(G=G>>8|(G&255)<<8);v<e&&(e=v);for(z=d.Xb;z--;)N=G>>w&u,Xd(d,d.Vb,v++,k,N),w+=C;v>p&&(p=v);k<f&&(f=k);k>=h&&(h=k+1)}g+=2;n++;if(v>=d.J&&(v=0,k++,k>d.ba))break}d.wa=!0;e<d.J&&(g=p-e,h-=f,d.F&&(l=e,n=g,e=f,g=h,f=d.J-(l+n),h=n),d.Wa.putImageData(d.Vb,0,0,e,f,g,h),d.H.drawImage(d.K,0,0,d.K.width,d.K.height,
0,0,d.Z,d.X))}}}Ja(function(){for(var a=B(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=B(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],h=A(f),h=new zf(h,d,!0);ab(h,f);h.ba&&Ef(h,h.qb)}});Da.show.push(function(){for(var a=B(document,"pc8080","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=$a("Computer",c.id))&&c.ta&&!c.A.ma&&c.qb(-1)}}); 0,0,d.Z,d.X))}}}Ja(function(){for(var a=B(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=B(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],h=A(f),h=new zf(h,d,!0);ab(h,f);h.ba&&Ef(h,h.rb)}});Da.show.push(function(){for(var a=B(document,"pc8080","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=$a("Computer",c.id))&&c.ua&&!c.A.na&&c.rb(-1)}});
Da.exit.push(function(){for(var a=B(document,"pc8080","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=$a("Computer",c.id))&&c.A.ma&&sf(c,!(!c.u||c.N),!0)}});var Kf=0;function Lf(a,b,c,d,e,f){e("Loading "+a+"...");oa(a,null,!0,function(h,g,l){l?(g||(g="unable to load "+a+" ("+l+")"),f(g,null)):Yf(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=A(a[b]);(c=$a("Computer",c.id))&&c.A.na&&sf(c,!(!c.u||c.N),!0)}});var Kf=0;function Lf(a,b,c,d,e,f){e("Loading "+a+"...");oa(a,null,!0,function(h,g,l){l?(g||(g="unable to load "+a+" ("+l+")"),f(g,null)):Yf(g,a,b,c,d,e,f)})}
function Yf(a,b,c,d,e,f,h){function g(a,f){if(f)h(f,null);else{if(c){Ya(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 Yf(a,b,c,d,e,f,h){function g(a,f){if(f)h(f,null);else{if(c){Ya(c,b,a);var g=b;g&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+g+'"}';"object"==typeof resources&&(g=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pc8080$2"));
g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){g=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?e?Zf(a,f,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)} g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){g=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?e?Zf(a,f,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)}
function Zf(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");oa(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=g[0],k,n=/( [a-z]+=)(['"])(.*?)\2/g;k=n.exec(f);)l=0>l.indexOf(k[1])?l.replace(">",k[0]+">"):l.replace(new RegExp(k[1]+"(['\"])(.*?)\\1"),k[0]);g[0]!=l&&(h=h.replace(g[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, function Zf(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");oa(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=g[0],k,n=/( [a-z]+=)(['"])(.*?)\2/g;k=n.exec(f);)l=0>l.indexOf(k[1])?l.replace(">",k[0]+">"):l.replace(new RegExp(k[1]+"(['\"])(.*?)\\1"),k[0]);g[0]!=l&&(h=h.replace(g[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
@ -213,8 +214,8 @@ function Zf(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=
function $f(a,b,c,d){function e(a){if(void 0===g){var b=h&&B(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ga(a))}function f(a){e("Error: "+a);l&&(--Kf||La(!0));l=!1}var h,g,l=!0;Kf++;Xa[a]={};try{if(h=document.getElementById(a)){var k;if("object"==typeof resources&&(k=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css";p.styleSheet?p.styleSheet.cssText=k:p.appendChild(document.createTextNode(k));n.appendChild(p)}c|| function $f(a,b,c,d){function e(a){if(void 0===g){var b=h&&B(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ga(a))}function f(a){e("Error: "+a);l&&(--Kf||La(!0));l=!1}var h,g,l=!0;Kf++;Xa[a]={};try{if(h=document.getElementById(a)){var k;if("object"==typeof resources&&(k=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css";p.styleSheet?p.styleSheet.cssText=k:p.appendChild(document.createTextNode(k));n.appendChild(p)}c||
(c="/versions/pc8080/1.23.3/components.xsl");k=function(d,g){g?Lf(c,null,null,!1,e,function(d,k){if(k)if(Ya(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--Kf||La(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--Kf||La(!0)):f("invalid machine element: "+ (c="/versions/pc8080/1.23.3/components.xsl");k=function(d,g){g?Lf(c,null,null,!1,e,function(d,k){if(k)if(Ya(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--Kf||La(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--Kf||La(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?Lf(b,a,d,!0,e,k):Yf(b,null,a,d,!1,e,k)}else f("missing machine element: "+a)}catch(v){f(v.message)}return l}window.embedPC8080=function(a,b,c,d){La(!1);return $f(a,b,c,d)};window.enableEvents=La;window.sendEvent=Ma; a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?Lf(b,a,d,!0,e,k):Yf(b,null,a,d,!1,e,k)}else f("missing machine element: "+a)}catch(v){f(v.message)}return l}window.embedPC8080=function(a,b,c,d){La(!1);return $f(a,b,c,d)};window.enableEvents=La;window.sendEvent=Ma;
function ag(a,b,c,d){if(!c&&b){d.push(b);a=Xa[d[0]];b=null;for(var e in a)if(ea(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?oa(b,null,!0,function(a,b){bg(b,d)}):bg(null,d)}else w("Error ("+c+") requesting "+a)} function ag(a,b,c,d){if(!c&&b){d.push(b);a=Xa[d[0]];b=null;for(var e in a)if(ea(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?oa(b,null,!0,function(a,b){bg(b,d)}):bg(null,d)}else x("Error ("+c+") requesting "+a)}
function bg(a,b){var c,d,e,f=b[0],h=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var g=Xa[f],l={},k;for(k in g){var n=g[k],p=da(k);if("xml"==p){for(p=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=p.exec(g[k]);){var v=d[2];v&&(g[v]||(n=n.replace(d[0],"")))}d=k=ca(k)}else"xsl"==p&&(e=k=ca(k));l[k]=n}a&&(l[k="css"]=a);b[2]&&(l[k="parms"]=b[2]);b[3]&&(l[k="state"]=b[3]);d&&e?(k=JSON.stringify(l),h+=".js",c=c[1]+"var resources="+k+";"+c[2]+c[3],c=c.replace(/\u00A9/g, function bg(a,b){var c,d,e,f=b[0],h=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var g=Xa[f],l={},k;for(k in g){var n=g[k],p=da(k);if("xml"==p){for(p=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=p.exec(g[k]);){var v=d[2];v&&(g[v]||(n=n.replace(d[0],"")))}d=k=ca(k)}else"xsl"==p&&(e=k=ca(k));l[k]=n}a&&(l[k="css"]=a);b[2]&&(l[k="parms"]=b[2]);b[3]&&(l[k="state"]=b[3]);d&&e?(k=JSON.stringify(l),h+=".js",c=c[1]+"var resources="+k+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
"&#xA9;"),k=h,g=null,l="data:application/javascript,",l=wa("Firefox")?l+encodeURIComponent(c):l+encodeURI(c),k&&(g=document.createElement("a"),"string"!=typeof g.download&&(g=null)),g?(g.href=l,g.download=k,document.body.appendChild(g),g.click(),document.body.removeChild(g),c="Check your Downloads folder for "+k+"."):(window.open(l),c="Check your browser for a new window/tab containing the requested data"+(k?" ("+k+")":"")+"."),c+=', copy it to your web server as "'+h+'", and then add the following to your web page:\n\n', "&#xA9;"),k=h,g=null,l="data:application/javascript,",l=wa("Firefox")?l+encodeURIComponent(c):l+encodeURI(c),k&&(g=document.createElement("a"),"string"!=typeof g.download&&(g=null)),g?(g.href=l,g.download=k,document.body.appendChild(g),g.click(),document.body.removeChild(g),c="Check your Downloads folder for "+k+"."):(window.open(l),c="Check your browser for a new window/tab containing the requested data"+(k?" ("+k+")":"")+"."),c+=', copy it to your web server as "'+h+'", and then add the following to your web page:\n\n',
c+='<div id="'+f+'"></div>\n',c+="...\n",c+='<script type="text/javascript" src="'+h+'">\x3c/script>\n',c+='<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n',c+="The machine should appear where the <div> is located.",w(c)):w("Missing XML/XSL resources")} c+='<div id="'+f+'"></div>\n',c+="...\n",c+='<script type="text/javascript" src="'+h+'">\x3c/script>\n',c+='<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n',c+="The machine should appear where the <div> is located.",x(c)):x("Missing XML/XSL resources")}
window.savePC=function(a,b,c){var d=$a("Computer",a),e=$a("Debugger",a);if(d){var f=sf(d,!0),h=d.K?JSON.stringify(d.K):null;b||(b="/versions/pcjs/1.23.3/pc"+(e?"-dbg":"")+".js");if(c&&c({state:f,ac:h}))return!0;oa(b,null,!0,function(c,d,e){ag(c,d,e,[a,ca(b,!0),h,f])});return!0}w("Unable to identify machine '"+a+"'");return!1};})(); window.savePC=function(a,b,c){var d=$a("Computer",a),e=$a("Debugger",a);if(d){var f=sf(d,!0),h=d.K?JSON.stringify(d.K):null;b||(b="/versions/pcjs/1.23.3/pc"+(e?"-dbg":"")+".js");if(c&&c({state:f,bc:h}))return!0;oa(b,null,!0,function(c,d,e){ag(c,d,e,[a,ca(b,!0),h,f])});return!0}x("Unable to identify machine '"+a+"'");return!1};})();

View file

@ -6,55 +6,55 @@ typeof b){var l="",k;for(k in b)b.hasOwnProperty(k)&&(l&&(l+="&"),l+=k+"="+encod
function t(a){window&&window.alert(a)}function ja(a){var b=!1;window&&(b=window.confirm(a));return b}var ka=null;function la(){if(null==ka){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}ka=a}return ka}function ma(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} function t(a){window&&window.alert(a)}function ja(a){var b=!1;window&&(b=window.confirm(a));return b}var ka=null;function la(){if(null==ka){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}ka=a}return ka}function ma(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function na(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function oa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var pa={init:[],show:[],exit:[]},qa=!1,ra=!0;function sa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function ta(a){pa.init.push(a)} function na(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function oa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var pa={init:[],show:[],exit:[]},qa=!1,ra=!0;function sa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function ta(a){pa.init.push(a)}
function ua(a){if(ra)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){t("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function va(a){!ra&&a?(ra=!0,qa&&wa("init")):ra=a}function wa(a){pa[a]&&ua(pa[a])}sa("onload",function(){qa=!0;ua(pa.init)});sa("onpageshow",function(){ua(pa.show)});sa(oa("Opera")||oa("iOS")?"onunload":"onbeforeunload",function(){ua(pa.exit)}); function ua(a){if(ra)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){t("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function va(a){!ra&&a?(ra=!0,qa&&wa("init")):ra=a}function wa(a){pa[a]&&ua(pa[a])}sa("onload",function(){qa=!0;ua(pa.init)});sa("onpageshow",function(){ua(pa.show)});sa(oa("Opera")||oa("iOS")?"onunload":"onbeforeunload",function(){ua(pa.exit)});
function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Xa=b.comment;this.ob=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Qa=this.id.substr(0,b),this.Wa=this.id.substr(b+1)):this.Wa=this.id;this[a]=c;this.h={ma:!1,ta:!1,Ra:!1,O:!1,ga:!1};this.Ha=null;this.h.ga=!1;this.B={};this.J=null;v.push(this)}var xa=void 0,ya={}; function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Ya=b.comment;this.pb=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Ra=this.id.substr(0,b),this.ab=this.id.substr(b+1)):this.ab=this.id;this[a]=c;this.h={ma:!1,ta:!1,Sa:!1,P:!1,ga:!1};this.Ha=null;this.h.ga=!1;this.B={};this.K=null;w.push(this)}var xa=void 0,ya={};
if(window){xa||(xa=window.location.search.substr(1));for(var za,Ba=/\+/g,Ca=/([^&=]+)=?([^&]*)/g;za=Ca.exec(xa);)ya[decodeURIComponent(za[1].replace(Ba," "))]=decodeURIComponent(za[2].replace(Ba," "))}function Da(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b} if(window){xa||(xa=window.location.search.substr(1));for(var za,Aa=/\+/g,Ca=/([^&=]+)=?([^&]*)/g;za=Ca.exec(xa);)ya[decodeURIComponent(za[1].replace(Aa," "))]=decodeURIComponent(za[2].replace(Aa," "))}function Da(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
function x(a,b){b||(b=u);a.prototype=Da(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var v=[],Ea={};function Fa(a,b,c){Ea[a]&&b&&(Ea[a][b]=c)}function B(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var d=v[b];a&&d.id.indexOf(a)||c.push(d)}return c} function z(a,b){b||(b=u);a.prototype=Da(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var w=[],Ea={};function Fa(a,b,c){Ea[a]&&b&&(Ea[a][b]=c)}function B(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 Ga(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<v.length;d++)if(c)c==v[d]&&(c=null);else if(!(a!=v[d].type||b&&v[d].id.indexOf(b)))return v[d]}return null}function C(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){t(c.message+" ("+a+")")}return b} function Ga(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 C(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){t(c.message+" ("+a+")")}return b}
function Ha(a,b){for(var c=D(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 l=g.split(" "),k=0;k<l.length;k++)switch(g=l[k],g){case "pc8080-binding":(g=C(h))&&g.binding&&a.R(g.type,g.binding,h,g.value),k=l.length}}}} function Ha(a,b){for(var c=E(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 l=g.split(" "),k=0;k<l.length;k++)switch(g=l[k],g){case "pc8080-binding":(g=C(h))&&g.binding&&a.R(g.type,g.binding,h,g.value),k=l.length}}}}
function D(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 E(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
u.prototype={constructor:u,parent:null,toString:function(){return this.name?this.name:this.id||this.type},R: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.ea=this.B[b]=c,c.value="",this.V=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), u.prototype={constructor:u,parent:null,toString:function(){return this.name?this.name:this.id||this.type},R: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.ea=this.B[b]=c,c.value="",this.V=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.I=function(a,b,c){this.V(a,"notice",c)}),!0;default:return!1}},log:function(){},V:function(){},status:function(a){this.V(this.Wa+": "+a)},I:function(a,b){b||t(a)},aa:function(){return this.h.O=!0},ca:function(a,b){b&&(this.h.O=!1);return!0}};function Ia(a,b){if(a.h.Ra)return a.h.ta&&(a.h.ta=!1),a.h.Ra=!1;if(a.h.ga)return a.V(a.toString()+" error"),!1;a.h.ta=b;return a.h.ta}function F(a){if(!a.h.ga&&(a.h.ma=!0,a.h.ma)){var b=a.Ha;a.Ha=null;b&&b()}} this.I=function(a,b,c){this.V(a,"notice",c)}),!0;default:return!1}},log:function(){},V:function(){},status:function(a){this.V(this.ab+": "+a)},I:function(a,b){b||t(a)},aa:function(){return this.h.P=!0},ca:function(a,b){b&&(this.h.P=!1);return!0}};function Ia(a,b){if(a.h.Sa)return a.h.ta&&(a.h.ta=!1),a.h.Sa=!1;if(a.h.ga)return a.V(a.toString()+" error"),!1;a.h.ta=b;return a.h.ta}function F(a){if(!a.h.ga&&(a.h.ma=!0,a.h.ma)){var b=a.Ha;a.Ha=null;b&&b()}}
function Ja(a,b){b&&(a.h.ma?b():a.Ha=b);return a.h.ma} function Ja(a,b){b&&(a.h.ma?b():a.Ha=b);return a.h.ma}
var Ka="undefined"!==typeof ArrayBuffer,La=[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 Ka="undefined"!==typeof ArrayBuffer,La=[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 Ma(a){u.call(this,"Panel",a,Ma)}x(Ma);m=Ma.prototype;m.R=function(a,b,c,d){return this.u&&this.u.R(a,b,c,d)||this.a&&this.a.R(a,b,c,d)||this.X&&this.X.R(a,b,c,d)?!0:this.parent.R.call(this,a,b,c,d)};m.fa=function(a,b,c,d){this.u=a;this.o=b;this.a=c;this.J=d;this.X=Na(a,"Keyboard")};m.aa=function(a,b){b||Oa();return!0};m.ca=function(){return!0};m.ja=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 Ma(a){u.call(this,"Panel",a,Ma)}z(Ma);m=Ma.prototype;m.R=function(a,b,c,d){return this.u&&this.u.R(a,b,c,d)||this.a&&this.a.R(a,b,c,d)||this.X&&this.X.R(a,b,c,d)?!0:this.parent.R.call(this,a,b,c,d)};m.fa=function(a,b,c,d){this.u=a;this.o=b;this.a=c;this.K=d;this.X=Na(a,"Keyboard")};m.aa=function(a,b){b||Oa();return!0};m.ca=function(){return!0};m.ja=function(){};
function Oa(){for(var a=!1,b=D(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=C(d),f;a:{f=e.id;if(void 0!==f)for(var h=void 0,h=0;h<v.length;h++)if(v[h].id===f){f=v[h];break a}f=null}f||(a=!0,f=new Ma(e));Ha(f,d);a&&F(f)}}ta(Oa); function Oa(){for(var a=!1,b=E(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=C(d),f;a:{f=e.id;if(void 0!==f)for(var h=void 0,h=0;h<w.length;h++)if(w[h].id===f){f=w[h];break a}f=null}f||(a=!0,f=new Ma(e));Ha(f,d);a&&F(f)}}ta(Oa);
function Pa(a,b,c){u.call(this,"Bus",a,Pa);this.a=b;this.J=c;this.i=a.busWidth||16;this.s=Math.pow(2,this.i);this.g=this.s-1|0;this.c=16>=this.i?10:20>=this.i?12:24>=this.i?14:15;this.o=1<<this.c;this.A=this.o>>2;this.f=this.o-1;this.j=this.s/this.o|0;this.u=this.j-1;this.l=[];this.m=[];this.G=[];this.C=[];a=new H;Qa(a,this.J);this.b=Array(this.j);for(b=0;b<this.j;b++)this.b[b]=a;F(this)}x(Pa);Pa.prototype.reset=function(){};Pa.prototype.aa=function(a,b){b||this.reset();return!0}; function Pa(a,b,c){u.call(this,"Bus",a,Pa);this.a=b;this.K=c;this.i=a.busWidth||16;this.s=Math.pow(2,this.i);this.g=this.s-1|0;this.c=16>=this.i?10:20>=this.i?12:24>=this.i?14:15;this.o=1<<this.c;this.A=this.o>>2;this.f=this.o-1;this.j=this.s/this.o|0;this.u=this.j-1;this.l=[];this.m=[];this.G=[];this.C=[];a=new H;Qa(a,this.K);this.b=Array(this.j);for(b=0;b<this.j;b++)this.b[b]=a;F(this)}z(Pa);Pa.prototype.reset=function(){};Pa.prototype.aa=function(a,b){b||this.reset();return!0};
function Ra(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],l=h*a.o,k=a.o-(e-l);k>f&&(k=f);if(g&&g.size){if(g.type==d){if(e+f<=g.sa)return g.Na+=g.sa-e,g.sa=e,!0;if(e>=g.sa+g.Na){k=g.size-(e-l);k>f&&(k=f);g.Na=e-g.sa+k;e=l+a.o;f-=k;h++;continue}}return Sa(1,e,f)}e=new H(e,k,a.o,d);Qa(e,a.J,g);a.b[h++]=e;e=l+a.o;f-=k}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Ta[d]+" at "+("0x"+n(b,4))),!0):Sa(2,b,c)} function Ra(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],l=h*a.o,k=a.o-(e-l);k>f&&(k=f);if(g&&g.size){if(g.type==d){if(e+f<=g.sa)return g.Na+=g.sa-e,g.sa=e,!0;if(e>=g.sa+g.Na){k=g.size-(e-l);k>f&&(k=f);g.Na=e-g.sa+k;e=l+a.o;f-=k;h++;continue}}return Sa(1,e,f)}e=new H(e,k,a.o,d);Qa(e,a.K,g);a.b[h++]=e;e=l+a.o;f-=k}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Ta[d]+" at "+("0x"+n(b,4))),!0):Sa(2,b,c)}
Pa.prototype.F=function(a){return this.b[(a&this.g)>>>this.c].Ba(a&this.f,a)};function Ua(a,b){return a.b[(b&a.g)>>>a.c].Ma(b&a.f,b)}function Va(a,b){var c=b&a.f,d=(b&a.g)>>>a.c;return c!=a.f?a.b[d].Lb(c,b):a.b[d++].Ba(c,b)|a.b[d&a.u].Ba(0,b+1)<<8}Pa.prototype.S=function(a,b){this.b[(a&this.g)>>>this.c].Ca(a&this.f,b&255,a)};function Wa(a,b,c){a.b[(b&a.g)>>>a.c].rb(b&a.f,c&255,b)} Pa.prototype.F=function(a){return this.b[(a&this.g)>>>this.c].Ba(a&this.f,a)};function Ua(a,b){return a.b[(b&a.g)>>>a.c].Ma(b&a.f,b)}function Va(a,b){var c=b&a.f,d=(b&a.g)>>>a.c;return c!=a.f?a.b[d].Mb(c,b):a.b[d++].Ba(c,b)|a.b[d&a.u].Ba(0,b+1)<<8}Pa.prototype.S=function(a,b){this.b[(a&this.g)>>>this.c].Ca(a&this.f,b&255,a)};function Wa(a,b,c){a.b[(b&a.g)>>>a.c].sb(b&a.f,c&255,b)}
function Xa(a,b,c){var d=b&a.f,e=(b&a.g)>>>a.c;d!=a.f?a.b[e].Mb(d,c&65535,b):(a.b[e++].Ca(d,c&255,b),a.b[e&a.u].Ca(0,c>>8&255,b+1))}function Sa(a,b,c){t("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Ya;if(Ka){var Za=new ArrayBuffer(2);(new DataView(Za)).setUint16(0,256,!0);Ya=256===(new Uint16Array(Za))[0]}else Ya=!1;var $a=Ya; function Xa(a,b,c){var d=b&a.f,e=(b&a.g)>>>a.c;d!=a.f?a.b[e].Nb(d,c&65535,b):(a.b[e++].Ca(d,c&255,b),a.b[e&a.u].Ca(0,c>>8&255,b+1))}function Sa(a,b,c){t("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Ya;if(Ka){var Za=new ArrayBuffer(2);(new DataView(Za)).setUint16(0,256,!0);Ya=256===(new Uint16Array(Za))[0]}else Ya=!1;var $a=Ya;
function H(a,b,c,d){this.id=bb+=2;this.a=null;this.sa=a;this.Na=b;this.size=c||0;this.type=d||cb;this.f=d==db;Qa(this);this.Z=this.hb=!1;if(c)if(Ka)this.c=new ArrayBuffer(c),this.o=new DataView(this.c,0,c),this.b=new Uint8Array(this.c,0,c),this.j=new Uint16Array(this.c,0,c>>1),this.a=new Int32Array(this.c,0,c>>2),eb(this,$a?fb:gb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;eb(this,hb)}else eb(this)}var cb=0,db=2,Ta=["NONE","RAM","ROM","VID","H/W"],bb=0; function H(a,b,c,d){this.id=ab+=2;this.a=null;this.sa=a;this.Na=b;this.size=c||0;this.type=d||cb;this.f=d==db;Qa(this);this.Z=this.ib=!1;if(c)if(Ka)this.c=new ArrayBuffer(c),this.o=new DataView(this.c,0,c),this.b=new Uint8Array(this.c,0,c),this.j=new Uint16Array(this.c,0,c>>1),this.a=new Int32Array(this.c,0,c>>2),eb(this,$a?fb:gb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;eb(this,hb)}else eb(this)}var cb=0,db=2,Ta=["NONE","RAM","ROM","VID","H/W"],ab=0;
H.prototype={constructor:H,parent:null,save:function(){var a,b;if(Ka)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.o.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(Ka)for(b=0;b<a.length;b++)this.o.setInt32(b<<2,a[b],!0);else this.a=a;return this.Z=!0}return!1},l:function(){return 255},m:function(){},B:function(a,b){return this.Ba(a++,b++)|this.Ba(a,b)<<8},u:function(a,b,c){this.Ca(a++,b&255,c++);this.Ca(a,b>>8,c)},C:function(a){return this.a[a>> H.prototype={constructor:H,parent:null,save:function(){var a,b;if(Ka)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.o.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(Ka)for(b=0;b<a.length;b++)this.o.setInt32(b<<2,a[b],!0);else this.a=a;return this.Z=!0}return!1},l:function(){return 255},m:function(){},B:function(a,b){return this.Ba(a++,b++)|this.Ba(a,b)<<8},u:function(a,b,c){this.Ca(a++,b&255,c++);this.Ca(a,b>>8,c)},C:function(a){return this.a[a>>
2]>>>((a&3)<<3)&255},L: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.Z=!0},ka: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.Z=!0},A:function(a,b){return this.Ma(a,b)},H:function(a,b){return this.pb(a,b)},da:function(a,b,c){this.f||this.rb(a,b,c)},X:function(a, 2]>>>((a&3)<<3)&255},N:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},U:function(a,b){var c=a>>2,d=(a&3)<<3;this.a[c]=this.a[c]&~(255<<d)|b<<d;this.Z=!0},ka: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.Z=!0},A:function(a,b){return this.Ma(a,b)},H:function(a,b){return this.qb(a,b)},da:function(a,b,c){this.f||this.sb(a,b,c)},X:function(a,
b,c){this.f||this.Y(a,b,c)},s:function(a){return this.b[a]},G:function(a){return this.b[a]},D:function(a){return this.o.getUint16(a,!0)},K:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.j[a>>1]},M:function(a,b){this.b[a]=b;this.Z=!0},T:function(a,b){this.b[a]=b;this.Z=!0},W:function(a,b){this.o.setUint16(a,b,!0);this.Z=!0},ba:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.j[a>>1]=b;this.Z=!0}};function Qa(a,b,c){a.J=b;a.g=a.i=0;c&&((a.g=c.g)&&ib(a,jb,!1),(a.i=c.i)&&kb(a,jb,!1))} b,c){this.f||this.Y(a,b,c)},s:function(a){return this.b[a]},G:function(a){return this.b[a]},D:function(a){return this.o.getUint16(a,!0)},L:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.j[a>>1]},O:function(a,b){this.b[a]=b;this.Z=!0},T:function(a,b){this.b[a]=b;this.Z=!0},W:function(a,b){this.o.setUint16(a,b,!0);this.Z=!0},ba:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.j[a>>1]=b;this.Z=!0}};function Qa(a,b,c){a.K=b;a.g=a.i=0;c&&((a.g=c.g)&&ib(a,jb,!1),(a.i=c.i)&&kb(a,jb,!1))}
function kb(a,b,c){c&&a.i||(a.Ca=!a.f&&b[2]||a.m,a.Mb=!a.f&&b[3]||a.u);if(c||void 0===c)a.rb=b[2]||a.m,a.Y=b[3]||a.u}function ib(a,b,c){c&&a.g||(a.Ba=b[0]||a.l,a.Lb=b[1]||a.B);if(c||void 0===c)a.Ma=b[0]||a.l,a.pb=b[1]||a.B}function eb(a,b){b||(b=lb);ib(a,b,void 0);kb(a,b,void 0)}var lb=[],hb=[H.prototype.C,H.prototype.L,H.prototype.U,H.prototype.ka],jb=[H.prototype.A,H.prototype.H,H.prototype.da,H.prototype.X]; function kb(a,b,c){c&&a.i||(a.Ca=!a.f&&b[2]||a.m,a.Nb=!a.f&&b[3]||a.u);if(c||void 0===c)a.sb=b[2]||a.m,a.Y=b[3]||a.u}function ib(a,b,c){c&&a.g||(a.Ba=b[0]||a.l,a.Mb=b[1]||a.B);if(c||void 0===c)a.Ma=b[0]||a.l,a.qb=b[1]||a.B}function eb(a,b){b||(b=lb);ib(a,b,void 0);kb(a,b,void 0)}var lb=[],hb=[H.prototype.C,H.prototype.N,H.prototype.U,H.prototype.ka],jb=[H.prototype.A,H.prototype.H,H.prototype.da,H.prototype.X];
if(Ka)var gb=[H.prototype.s,H.prototype.D,H.prototype.M,H.prototype.W],fb=[H.prototype.G,H.prototype.K,H.prototype.T,H.prototype.ba]; if(Ka)var gb=[H.prototype.s,H.prototype.D,H.prototype.O,H.prototype.W],fb=[H.prototype.G,H.prototype.L,H.prototype.T,H.prototype.ba];
function mb(a,b){u.call(this,"CPU",a,mb);var c=a.cycles||b,d=a.multiplier||1;this.c={};this.c.ra=c;this.c.La=0;this.c.qa=d;this.c.Sa=Math.round(this.c.ra/1E4)/100;this.c.na=this.c.Sa*this.c.qa;this.h.$=!1;this.h.jb=!1;this.h.gb=a.autoStart;this.h.ib=!1;this.h.Fa=!1;this.c.Ja=this.c.pa=0;this.c.Ka=a.csStart;this.c.ua=a.csInterval;this.c.va=a.csStop;this.ba=this.Va.bind(this);F(this)}x(mb);var nb=["power","reset"];m=mb.prototype; function mb(a,b){u.call(this,"CPU",a,mb);var c=a.cycles||b,d=a.multiplier||1;this.c={};this.c.ra=c;this.c.La=0;this.c.qa=d;this.c.Ta=Math.round(this.c.ra/1E4)/100;this.c.na=this.c.Ta*this.c.qa;this.h.$=!1;this.h.kb=!1;this.h.hb=a.autoStart;this.h.jb=!1;this.h.Fa=!1;this.c.Ja=this.c.pa=0;this.c.Ka=a.csStart;this.c.ua=a.csInterval;this.c.va=a.csStop;this.ba=this.Wa.bind(this);F(this)}z(mb);var nb=["power","reset"];m=mb.prototype;
m.fa=function(a,b,c,d){this.u=a;this.o=b;this.J=d;for(b=0;b<nb.length;b++)(c=this.B[nb[b]])&&this.u.R(null,nb[b],c);this.U=(b=Na(a,"Video"))&&Math.max(b.Db,b.eb)||60;this.G=Na(a,"ChipSet");a=ob(a,"autoStart");null!=a&&(this.h.gb="true"==a?!0:"false"==a?!1:!!a);F(this)};m.reset=function(){this.c.La=0};m.save=function(){return null};m.restore=function(){return!1}; m.fa=function(a,b,c,d){this.u=a;this.o=b;this.K=d;for(b=0;b<nb.length;b++)(c=this.B[nb[b]])&&this.u.R(null,nb[b],c);this.U=(b=Na(a,"Video"))&&Math.max(b.Eb,b.gb)||60;this.G=Na(a,"ChipSet");a=ob(a,"autoStart");null!=a&&(this.h.hb="true"==a?!0:"false"==a?!1:!!a);F(this)};m.reset=function(){this.c.La=0};m.save=function(){return null};m.restore=function(){return!1};
m.aa=function(a,b){if(!b){if(a&&this.restore){pb(this);if(!this.restore(a))return!1;qb(this)}else this.reset();this.V("No debugger detected")}rb(this);return!0};m.ca=function(a){return a?this.save():!0};function sb(a){(a.h.gb||void 0===a.B.run)&&a.Va(!0)}m.kb=function(){return 0};function qb(a){void 0===a.c.Ka&&(a.c.Ka=0);void 0===a.c.ua&&(a.c.ua=-1);void 0===a.c.va&&(a.c.va=-1);a.h.Fa=0<=a.c.Ka&&0<a.c.ua;a.h.Fa&&(a.c.Ja=0,a.c.pa=a.c.Ka-a.M)} m.aa=function(a,b){if(!b){if(a&&this.restore){pb(this);if(!this.restore(a))return!1;qb(this)}else this.reset();this.V("No debugger detected")}rb(this);return!0};m.ca=function(a){return a?this.save():!0};function sb(a){(a.h.hb||void 0===a.B.run)&&a.Wa(!0)}m.lb=function(){return 0};function qb(a){void 0===a.c.Ka&&(a.c.Ka=0);void 0===a.c.ua&&(a.c.ua=-1);void 0===a.c.va&&(a.c.va=-1);a.h.Fa=0<=a.c.Ka&&0<a.c.ua;a.h.Fa&&(a.c.Ja=0,a.c.pa=a.c.Ka-a.O)}
m.R=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.u)if(a=d.u,a.h.O)a=!0;else{var b=null,c,g=B(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.h.ma);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.h.O);c++);c==g.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.h.ma?"powered yet":"ready yet"+(b.Ha?" (waiting for notification)":""))+".");a=!1}a&&(d.h.$?tb(d,!0):d.Va(!0))};a=!0;break; m.R=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.u)if(a=d.u,a.h.P)a=!0;else{var b=null,c,g=B(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.h.ma);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.h.P);c++);c==g.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.h.ma?"powered yet":"ready yet"+(b.Ha?" (waiting for notification)":""))+".");a=!1}a&&(d.h.$?tb(d,!0):d.Wa(!0))};a=!0;break;
case "speed":this.B[b]=c;a=!0;break;case "setSpeed":this.B[b]=c,c.onclick=function(){ub(d,d.c.qa<<1,!0)},c.textContent=this.c.na.toFixed(2)+"Mhz",a=!0}return a};function vb(a,b,c){a.M+=b;c&&(a.L=a.a=0)} case "speed":this.B[b]=c;a=!0;break;case "setSpeed":this.B[b]=c,c.onclick=function(){ub(d,d.c.qa<<1,!0)},c.textContent=this.c.na.toFixed(2)+"Mhz",a=!0}return a};function vb(a,b,c){a.O+=b;c&&(a.N=a.a=0)}
function wb(a,b){var c=30;c<a.U&&(c=a.U);2>c&&(c=2);var d=1;b&&1<a.c.qa&&a.c.ha&&(d=a.c.ha/a.c.Sa);a.c.lb=Math.round(1E3/30);a.c.Fb=Math.floor(a.c.ra/c*d);a.c.Ta=Math.floor(a.c.ra/30*d);a.c.nb=Math.floor(a.c.ra/a.U*d);a.c.mb=Math.floor(a.c.ra/2*d);b||(a.c.ya=a.c.Ta,a.c.xa=a.c.nb,a.c.wa=a.c.mb);a.c.Ua=0}function xb(a){return a.M+a.K+a.L-a.a}function pb(a){a.c.ha=0;a.M=a.K=a.L=a.a=0;qb(a);ub(a,1)} function wb(a,b){var c=30;c<a.U&&(c=a.U);2>c&&(c=2);var d=1;b&&1<a.c.qa&&a.c.ha&&(d=a.c.ha/a.c.Ta);a.c.mb=Math.round(1E3/30);a.c.Gb=Math.floor(a.c.ra/c*d);a.c.Ua=Math.floor(a.c.ra/30*d);a.c.ob=Math.floor(a.c.ra/a.U*d);a.c.nb=Math.floor(a.c.ra/2*d);b||(a.c.ya=a.c.Ua,a.c.xa=a.c.ob,a.c.wa=a.c.nb);a.c.Va=0}function xb(a){return a.O+a.L+a.N-a.a}function pb(a){a.c.ha=0;a.O=a.L=a.N=a.a=0;qb(a);ub(a,1)}
function ub(a,b,c){if(void 0!==b){.8>a.c.ha/a.c.na&&(b=1);a.c.qa=b;b=a.c.Sa*a.c.qa;if(a.c.na!=b){a.c.na=b;b=a.c.na.toFixed(2)+"Mhz";var d=a.B.setSpeed;d&&(d.textContent=b);a.V("target speed: "+b)}c&&a.u&&yb(a.u)}vb(a,a.K);a.K=0;a.c.oa=ga();a.c.ia=0;wb(a)} function ub(a,b,c){if(void 0!==b){.8>a.c.ha/a.c.na&&(b=1);a.c.qa=b;b=a.c.Ta*a.c.qa;if(a.c.na!=b){a.c.na=b;b=a.c.na.toFixed(2)+"Mhz";var d=a.B.setSpeed;d&&(d.textContent=b);a.V("target speed: "+b)}c&&a.u&&yb(a.u)}vb(a,a.L);a.L=0;a.c.oa=ga();a.c.ia=0;wb(a)}
m.Va=function(a){if(Ia(this,!0)){if(!this.h.$){ub(this);this.u&&this.u.start(this.c.oa,xb(this));this.h.$=!0;this.h.jb=!0;this.G&&this.G.start();var b=this.B.run;b&&(b.textContent="Halt");this.u&&(this.u.ja(!0),a&&yb(this.u,!0))}this.c.Ua>=this.c.ra&&wb(this,!0);this.c.za=0;this.c.Ia=ga();this.c.ia&&(a=this.c.Ia-this.c.ia,a>this.c.lb&&(this.c.oa+=a,this.c.oa>this.c.Ia&&(this.c.oa=this.c.Ia)));try{do{this.qb(this.h.Fa?1:this.c.Fb);var c=this.L-this.a;this.K+=c;this.c.za+=c;vb(this,0,!0);a=c;this.h.Fa&& m.Wa=function(a){if(Ia(this,!0)){if(!this.h.$){ub(this);this.u&&this.u.start(this.c.oa,xb(this));this.h.$=!0;this.h.kb=!0;this.G&&this.G.start();var b=this.B.run;b&&(b.textContent="Halt");this.u&&(this.u.ja(!0),a&&yb(this.u,!0))}this.c.Va>=this.c.ra&&wb(this,!0);this.c.za=0;this.c.Ia=ga();this.c.ia&&(a=this.c.Ia-this.c.ia,a>this.c.mb&&(this.c.oa+=a,this.c.oa>this.c.Ia&&(this.c.oa=this.c.Ia)));try{do{this.rb(this.h.Fa?1:this.c.Gb);var c=this.N-this.a;this.L+=c;this.c.za+=c;vb(this,0,!0);a=c;this.h.Fa&&
(b=!1,this.c.Ja=this.c.Ja+this.kb()|0,this.c.pa-=a,0>=this.c.pa&&(this.c.pa+=this.c.ua,b=!0),0<=this.c.va&&this.c.va<=xb(this)&&(this.c.ua=this.c.va=-1,qb(this),tb(this),b=!0),b&&this.V(xb(this)+" cycles: checksum="+n(this.c.Ja)));this.c.xa-=c;0>=this.c.xa&&(this.c.xa+=this.c.nb,this.u&&zb(this.u,this.c.La++),this.c.La>this.U&&(this.c.La=0));this.c.wa-=c;0>=this.c.wa&&(this.c.wa+=this.c.mb,this.u&&this.u.ja());this.c.ya-=c;if(0>=this.c.ya){this.c.ya+=this.c.Ta;break}}while(this.h.$)}catch(e){tb(this); (b=!1,this.c.Ja=this.c.Ja+this.lb()|0,this.c.pa-=a,0>=this.c.pa&&(this.c.pa+=this.c.ua,b=!0),0<=this.c.va&&this.c.va<=xb(this)&&(this.c.ua=this.c.va=-1,qb(this),tb(this),b=!0),b&&this.V(xb(this)+" cycles: checksum="+n(this.c.Ja)));this.c.xa-=c;0>=this.c.xa&&(this.c.xa+=this.c.ob,this.u&&zb(this.u,this.c.La++),this.c.La>this.U&&(this.c.La=0));this.c.wa-=c;0>=this.c.wa&&(this.c.wa+=this.c.nb,this.u&&this.u.ja());this.c.ya-=c;if(0>=this.c.ya){this.c.ya+=this.c.Ua;break}}while(this.h.$)}catch(e){tb(this);
rb(this);this.u&&this.u.stop(ga(),xb(this));Ia(this,!1);c=e.stack||e.message;this.h.ga=!0;this.I(c);return}c=setTimeout;a=this.ba;this.c.ia=ga();b=this.c.lb;this.c.za&&(b=Math.round(b*this.c.za/this.c.Ta));var b=b-(this.c.ia-this.c.Ia),d=this.c.ia-this.c.oa;d&&(this.c.ha=Math.round(this.K/(10*d))/100,864E5<=d&&(this.M=0,ub(this)));if(0>b||this.c.ha<this.c.na)b=0;this.c.Ua+=this.c.za;this.c.ia+=b;c(a,b)}else rb(this),this.u&&this.u.stop(ga(),xb(this))};m.qb=function(){return 0}; rb(this);this.u&&this.u.stop(ga(),xb(this));Ia(this,!1);c=e.stack||e.message;this.h.ga=!0;this.I(c);return}c=setTimeout;a=this.ba;this.c.ia=ga();b=this.c.mb;this.c.za&&(b=Math.round(b*this.c.za/this.c.Ua));var b=b-(this.c.ia-this.c.Ia),d=this.c.ia-this.c.oa;d&&(this.c.ha=Math.round(this.L/(10*d))/100,864E5<=d&&(this.O=0,ub(this)));if(0>b||this.c.ha<this.c.na)b=0;this.c.Va+=this.c.za;this.c.ia+=b;c(a,b)}else rb(this),this.u&&this.u.stop(ga(),xb(this))};m.rb=function(){return 0};
function tb(a,b){a.h.ta&&(a.h.Ra=!0);a.L-=a.a;a.a=0;vb(a,a.K);a.K=0;if(a.h.$){a.h.$=!1;a.G&&a.G.stop();var c=a.B.run;c&&(c.textContent="Run")}a.h.Ga=b}function rb(a){a.u&&(zb(a.u,-1),a.u.ja(void 0))}function Ab(a){this.da=+a.model||8080;mb.call(this,a,1E6);this.W=Bb;pb(this);this.h.Ga=this.h.tb=!1;this.Y=0;this.T=[];this.X=0;Cb(this)}x(Ab,mb);function Eb(a,b){a.T.push(b)}m=Ab.prototype;m.reset=function(){this.h.$&&tb(this);Cb(this);pb(this);this.h.ga=!1;this.parent.reset.call(this)}; function tb(a,b){a.h.ta&&(a.h.Sa=!0);a.N-=a.a;a.a=0;vb(a,a.L);a.L=0;if(a.h.$){a.h.$=!1;a.G&&a.G.stop();var c=a.B.run;c&&(c.textContent="Run")}a.h.Ga=b}function rb(a){a.u&&(zb(a.u,-1),a.u.ja(void 0))}function Ab(a){this.da=+a.model||8080;mb.call(this,a,1E6);this.W=Bb;pb(this);this.h.Ga=this.h.tb=!1;this.Y=0;this.T=[];this.X=0;Cb(this)}z(Ab,mb);function Eb(a,b){a.T.push(b)}m=Ab.prototype;m.reset=function(){this.h.$&&tb(this);Cb(this);pb(this);this.h.ga=!1;this.parent.reset.call(this)};
function Cb(a){a.b=0;a.f=0;a.v=0;a.g=0;a.w=0;a.i=0;a.j=0;a.A=0;I(a,a.X);Fb(a,0);a.D=0}function Gb(a,b){a.X=b;I(a,b)}m.kb=function(){var a=this.b+this.f+this.v+this.g+this.w+this.i+this.j|0;return a=a+this.A+this.m+Hb(this)|0}; function Cb(a){a.b=0;a.f=0;a.v=0;a.g=0;a.w=0;a.i=0;a.j=0;a.A=0;I(a,a.X);Fb(a,0);a.D=0}function Gb(a,b){a.X=b;I(a,b)}m.lb=function(){var a=this.b+this.f+this.v+this.g+this.w+this.i+this.j|0;return a=a+this.A+this.m+Hb(this)|0};
m.save=function(){var a=new J(this);K(a,0,[this.b,this.f,this.v,this.g,this.w,this.i,this.j,this.A,this.m,Hb(this)]);K(a,1,[this.D,this.M,this.c.qa]);for(var b=this.o,c=0,d=[],e=0;e<b.j;e++){var f=b.b[e];if(f.Z||f.hb){d[c++]=e;var h=c++;a:if(f=f.save()){for(var g=0,l=0,k=[];g<f.length;){for(var r=f[g],q=g+1;q<f.length&&f[q]===r;)q++;k[l++]=q-g;k[l++]=r;g=q}if(k.length<f.length){f=k;break a}}d[h]=f}}K(a,2,d);return a.data()}; m.save=function(){var a=new J(this);K(a,0,[this.b,this.f,this.v,this.g,this.w,this.i,this.j,this.A,this.m,Hb(this)]);K(a,1,[this.D,this.O,this.c.qa]);for(var b=this.o,c=0,d=[],e=0;e<b.j;e++){var f=b.b[e];if(f.Z||f.ib){d[c++]=e;var h=c++;a:if(f=f.save()){for(var g=0,l=0,k=[];g<f.length;){for(var r=f[g],q=g+1;q<f.length&&f[q]===r;)q++;k[l++]=q-g;k[l++]=r;g=q}if(k.length<f.length){f=k;break a}}d[h]=f}}K(a,2,d);return a.data()};
m.restore=function(a){var b=a[0];this.b=b[0];this.f=b[1];this.v=b[2];this.g=b[3];this.w=b[4];this.i=b[5];this.j=b[6];this.A=b[7]&65535;I(this,b[8]);Fb(this,b[9]);b=a[1];this.D=b[0];this.M=b[1];ub(this,b[3]);a:{b=this.o;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.A){for(var f=0,h=Array(b.A),g=0;g<e.length-1;)for(var l=e[g++],k=e[g++];l--;)h[f++]=k;e=h}f=b.b[d];if(!f||!f.restore(e)){t("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b}; m.restore=function(a){var b=a[0];this.b=b[0];this.f=b[1];this.v=b[2];this.g=b[3];this.w=b[4];this.i=b[5];this.j=b[6];this.A=b[7]&65535;I(this,b[8]);Fb(this,b[9]);b=a[1];this.D=b[0];this.O=b[1];ub(this,b[3]);a:{b=this.o;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.A){for(var f=0,h=Array(b.A),g=0;g<e.length-1;)for(var l=e[g++],k=e[g++];l--;)h[f++]=k;e=h}f=b.b[d];if(!f||!f.restore(e)){t("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
m.R=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.B[b]=c;this.Y++;d=!0;break;default:d=this.parent.R.call(this,a,b,c)}return d};function Ib(a){return a.f<<8|a.v}function Jb(a,b){a.f=b>>8&255;a.v=b&255}function L(a){return a.g<<8|a.w}function Kb(a,b){a.g=b>>8&255;a.w=b&255}function M(a){return a.i<<8|a.j} m.R=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.B[b]=c;this.Y++;d=!0;break;default:d=this.parent.R.call(this,a,b,c)}return d};function Ib(a){return a.f<<8|a.v}function Jb(a,b){a.f=b>>8&255;a.v=b&255}function L(a){return a.g<<8|a.w}function Kb(a,b){a.g=b>>8&255;a.w=b&255}function M(a){return a.i<<8|a.j}
function O(a,b){a.i=b>>8&255;a.j=b&255}function I(a,b){a.m=b&65535}function P(a){return a.l&256?1:0}function Q(a,b){a.l=a.l&255|b}function Lb(a){return La[a.s&255]?4:0}function Hb(a){return a.H&-214|(a.s&128?128:0)|(a.l&255?0:64)|((a.s^a.C)&16?16:0)|Lb(a)|P(a)}function Fb(a,b){a.l=a.s=a.C=0;b&1&&(a.l|=256);b&4||(a.s|=1);b&16&&(a.C|=16);b&64||(a.l|=255);b&128&&(a.s^=192);a.H=a.H&-726|b&512|2}function S(a,b){a.C=a.b^b;return a.s=(a.l=a.b+b)&255} function P(a,b){a.i=b>>8&255;a.j=b&255}function I(a,b){a.m=b&65535}function Q(a){return a.l&256?1:0}function R(a,b){a.l=a.l&255|b}function Lb(a){return La[a.s&255]?4:0}function Hb(a){return a.H&-214|(a.s&128?128:0)|(a.l&255?0:64)|((a.s^a.C)&16?16:0)|Lb(a)|Q(a)}function Fb(a,b){a.l=a.s=a.C=0;b&1&&(a.l|=256);b&4||(a.s|=1);b&16&&(a.C|=16);b&64||(a.l|=255);b&128&&(a.s^=192);a.H=a.H&-726|b&512|2}function S(a,b){a.C=a.b^b;return a.s=(a.l=a.b+b)&255}
function Mb(a,b){a.C=a.b^b;return a.s=(a.l=a.b+b+(a.l&256?1:0))&255}function Nb(a,b){a.l=a.s=a.C=a.b&b;(a.b|b)&8&&(a.C^=16);return a.l}function Ob(a,b){a.C=b^255;b=a.s=b+255&255;a.l=a.l&-256|b;return b}function Pb(a,b){a.C=b;b=a.s=b+1&255;a.l=a.l&-256|b;return b}function Qb(a,b){return a.s=a.l=a.C=a.b|b}function T(a,b){b^=255;a.C=a.b^b;return a.s=(a.l=a.b+b+1^256)&255}function Rb(a,b){b^=255;a.C=a.b^b;return a.s=(a.l=a.b+b+(a.l&256?0:1)^256)&255}function Sb(a,b){return a.s=a.l=a.C=a.b^b}m.F=function(a){return this.o.F(a)}; function Mb(a,b){a.C=a.b^b;return a.s=(a.l=a.b+b+(a.l&256?1:0))&255}function Nb(a,b){a.l=a.s=a.C=a.b&b;(a.b|b)&8&&(a.C^=16);return a.l}function Ob(a,b){a.C=b^255;b=a.s=b+255&255;a.l=a.l&-256|b;return b}function Pb(a,b){a.C=b;b=a.s=b+1&255;a.l=a.l&-256|b;return b}function Qb(a,b){return a.s=a.l=a.C=a.b|b}function T(a,b){b^=255;a.C=a.b^b;return a.s=(a.l=a.b+b+1^256)&255}function Rb(a,b){b^=255;a.C=a.b^b;return a.s=(a.l=a.b+b+(a.l&256?0:1)^256)&255}function Sb(a,b){return a.s=a.l=a.C=a.b^b}m.F=function(a){return this.o.F(a)};
m.S=function(a,b){this.o.S(a,b)};function U(a){var b=a.F(a.m);I(a,a.m+1);return b}function V(a){var b=Va(a.o,a.m);I(a,a.m+2);return b}function W(a){var b=Va(a.o,a.A);a.A=a.A+2&65535;return b}function X(a,b){a.A=a.A-2&65535;Xa(a.o,a.A,b)}function Y(a,b,c,d){d=d||2;a.B[b]&&(void 0===c&&(a.h.ga=!0,a.I("Value for "+b+" is invalid"),tb(a)),c=!a.h.$||a.h.ib?n(c,d):"--------".substr(0,d),a.B[b].textContent!=c&&(a.B[b].textContent=c))} m.S=function(a,b){this.o.S(a,b)};function U(a){var b=a.F(a.m);I(a,a.m+1);return b}function V(a){var b=Va(a.o,a.m);I(a,a.m+2);return b}function W(a){var b=Va(a.o,a.A);a.A=a.A+2&65535;return b}function X(a,b){a.A=a.A-2&65535;Xa(a.o,a.A,b)}function Y(a,b,c,d){d=d||2;a.B[b]&&(void 0===c&&(a.h.ga=!0,a.I("Value for "+b+" is invalid"),tb(a)),c=!a.h.$||a.h.jb?n(c,d):"--------".substr(0,d),a.B[b].textContent!=c&&(a.B[b].textContent=c))}
m.ja=function(a){this.Y&&(a||!this.h.$||this.h.ib)&&(Y(this,"A",this.b),Y(this,"B",this.f),Y(this,"C",this.v),Y(this,"BC",Ib(this),4),Y(this,"D",this.g),Y(this,"E",this.w),Y(this,"DE",L(this),4),Y(this,"H",this.i),Y(this,"L",this.j),Y(this,"HL",M(this),4),Y(this,"SP",this.A,4),Y(this,"PC",this.m,4),a=Hb(this),Y(this,"PS",a,4),Y(this,"IF",a&512?1:0,1),Y(this,"SF",a&128?1:0,1),Y(this,"ZF",a&64?1:0,1),Y(this,"AF",a&16?1:0,1),Y(this,"PF",a&4?1:0,1),Y(this,"CF",a&1?1:0,1));if(a=this.B.speed)a.textContent= m.ja=function(a){this.Y&&(a||!this.h.$||this.h.jb)&&(Y(this,"A",this.b),Y(this,"B",this.f),Y(this,"C",this.v),Y(this,"BC",Ib(this),4),Y(this,"D",this.g),Y(this,"E",this.w),Y(this,"DE",L(this),4),Y(this,"H",this.i),Y(this,"L",this.j),Y(this,"HL",M(this),4),Y(this,"SP",this.A,4),Y(this,"PC",this.m,4),a=Hb(this),Y(this,"PS",a,4),Y(this,"IF",a&512?1:0,1),Y(this,"SF",a&128?1:0,1),Y(this,"ZF",a&64?1:0,1),Y(this,"AF",a&16?1:0,1),Y(this,"PF",a&4?1:0,1),Y(this,"CF",a&1?1:0,1));if(a=this.B.speed)a.textContent=
this.h.$&&this.c.ha?this.c.ha.toFixed(2)+"Mhz":"Stopped"};m.qb=function(a){this.h.Ga=!0;this.h.tb=!1;this.h.jb=!1;this.L=this.a=a;do{if(a=this.D)this.D&8&&this.H&512?(a=199|(this.D&7)<<3,this.D&=-16,this.H&=-513,this.W[a].call(this),a=!0):a=!1,a=!a;if(a&&this.D&16){this.a=0;break}this.W[U(this)].call(this)}while(0<this.a);return this.h.Ga?this.L-this.a:void 0===this.h.Ga?0:-1};ta(function(){for(var a=D(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Ab(d);Ha(d,c)}}); this.h.$&&this.c.ha?this.c.ha.toFixed(2)+"Mhz":"Stopped"};m.rb=function(a){this.h.Ga=!0;this.h.tb=!1;this.h.kb=!1;this.N=this.a=a;do{if(a=this.D)this.D&8&&this.H&512?(a=199|(this.D&7)<<3,this.D&=-16,this.H&=-513,this.W[a].call(this),a=!0):a=!1,a=!a;if(a&&this.D&16){this.a=0;break}this.W[U(this)].call(this)}while(0<this.a);return this.h.Ga?this.N-this.a:void 0===this.h.Ga?0:-1};ta(function(){for(var a=E(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Ab(d);Ha(d,c)}});
function Tb(){this.a-=4}function Ub(){I(this,V(this));this.a-=10}function Vb(){I(this,W(this));this.a-=10}function Wb(){var a=V(this);X(this,this.m);I(this,a);this.a-=17} function Tb(){this.a-=4}function Ub(){I(this,V(this));this.a-=10}function Vb(){I(this,W(this));this.a-=10}function Wb(){var a=V(this);X(this,this.m);I(this,a);this.a-=17}
var Bb=[Tb,function(){Jb(this,V(this));this.a-=10},function(){this.S(Ib(this),this.b);this.a-=7},function(){Jb(this,Ib(this)+1);this.a-=5},function(){this.f=Pb(this,this.f);this.a-=5},function(){this.f=Ob(this,this.f);this.a-=5},function(){this.f=U(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|a>>8;Q(this,a&256);this.a-=4},Tb,function(){var a;O(this,a=M(this)+Ib(this));Q(this,a>>8&256);this.a-=10},function(){this.b=this.F(Ib(this));this.a-=7},function(){Jb(this,Ib(this)-1);this.a-=5},function(){this.v= var Bb=[Tb,function(){Jb(this,V(this));this.a-=10},function(){this.S(Ib(this),this.b);this.a-=7},function(){Jb(this,Ib(this)+1);this.a-=5},function(){this.f=Pb(this,this.f);this.a-=5},function(){this.f=Ob(this,this.f);this.a-=5},function(){this.f=U(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|a>>8;R(this,a&256);this.a-=4},Tb,function(){var a;P(this,a=M(this)+Ib(this));R(this,a>>8&256);this.a-=10},function(){this.b=this.F(Ib(this));this.a-=7},function(){Jb(this,Ib(this)-1);this.a-=5},function(){this.v=
Pb(this,this.v);this.a-=5},function(){this.v=Ob(this,this.v);this.a-=5},function(){this.v=U(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(a|this.b)>>1;Q(this,a);this.a-=4},Tb,function(){Kb(this,V(this));this.a-=10},function(){this.S(L(this),this.b);this.a-=7},function(){Kb(this,L(this)+1);this.a-=5},function(){this.g=Pb(this,this.g);this.a-=5},function(){this.g=Ob(this,this.g);this.a-=5},function(){this.g=U(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|P(this);Q(this,a&256);this.a-= Pb(this,this.v);this.a-=5},function(){this.v=Ob(this,this.v);this.a-=5},function(){this.v=U(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(a|this.b)>>1;R(this,a);this.a-=4},Tb,function(){Kb(this,V(this));this.a-=10},function(){this.S(L(this),this.b);this.a-=7},function(){Kb(this,L(this)+1);this.a-=5},function(){this.g=Pb(this,this.g);this.a-=5},function(){this.g=Ob(this,this.g);this.a-=5},function(){this.g=U(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|Q(this);R(this,a&256);this.a-=
4},Tb,function(){var a;O(this,a=M(this)+L(this));Q(this,a>>8&256);this.a-=10},function(){this.b=this.F(L(this));this.a-=7},function(){Kb(this,L(this)-1);this.a-=5},function(){this.w=Pb(this,this.w);this.a-=5},function(){this.w=Ob(this,this.w);this.a-=5},function(){this.w=U(this);this.a-=7},function(){var a=this.b<<8;this.b=(P(this)<<8|this.b)>>1;Q(this,a&256);this.a-=4},Tb,function(){O(this,V(this));this.a-=10},function(){var a=V(this);Xa(this.o,a,M(this));this.a-=16},function(){O(this,M(this)+1); 4},Tb,function(){var a;P(this,a=M(this)+L(this));R(this,a>>8&256);this.a-=10},function(){this.b=this.F(L(this));this.a-=7},function(){Kb(this,L(this)-1);this.a-=5},function(){this.w=Pb(this,this.w);this.a-=5},function(){this.w=Ob(this,this.w);this.a-=5},function(){this.w=U(this);this.a-=7},function(){var a=this.b<<8;this.b=(Q(this)<<8|this.b)>>1;R(this,a&256);this.a-=4},Tb,function(){P(this,V(this));this.a-=10},function(){var a=V(this);Xa(this.o,a,M(this));this.a-=16},function(){P(this,M(this)+1);
this.a-=5},function(){this.i=Pb(this,this.i);this.a-=5},function(){this.i=Ob(this,this.i);this.a-=5},function(){this.i=U(this);this.a-=7},function(){var a=0,b=P(this);if((this.s^this.C)&16||9<(this.b&15))a|=6;if(b||154<=this.b)a|=96,b=1;this.b=S(this,a);Q(this,b?256:0);this.a-=4},Tb,function(){var a;O(this,a=M(this)+M(this));Q(this,a>>8&256);this.a-=10},function(){var a;a=V(this);a=Va(this.o,a);O(this,a);this.a-=16},function(){O(this,M(this)-1);this.a-=5},function(){this.j=Pb(this,this.j);this.a-= this.a-=5},function(){this.i=Pb(this,this.i);this.a-=5},function(){this.i=Ob(this,this.i);this.a-=5},function(){this.i=U(this);this.a-=7},function(){var a=0,b=Q(this);if((this.s^this.C)&16||9<(this.b&15))a|=6;if(b||154<=this.b)a|=96,b=1;this.b=S(this,a);R(this,b?256:0);this.a-=4},Tb,function(){var a;P(this,a=M(this)+M(this));R(this,a>>8&256);this.a-=10},function(){var a;a=V(this);a=Va(this.o,a);P(this,a);this.a-=16},function(){P(this,M(this)-1);this.a-=5},function(){this.j=Pb(this,this.j);this.a-=
5},function(){this.j=Ob(this,this.j);this.a-=5},function(){this.j=U(this);this.a-=7},function(){this.b=~this.b&255;this.a-=4},Tb,function(){this.A=V(this)&65535;this.a-=10},function(){this.S(V(this),this.b);this.a-=13},function(){this.A=this.A+1&65535;this.a-=5},function(){var a=M(this);this.S(a,Pb(this,this.F(a)));this.a-=10},function(){var a=M(this);this.S(a,Ob(this,this.F(a)));this.a-=10},function(){this.S(M(this),U(this));this.a-=10},function(){this.l|=256;this.a-=4},Tb,function(){var a;O(this, 5},function(){this.j=Ob(this,this.j);this.a-=5},function(){this.j=U(this);this.a-=7},function(){this.b=~this.b&255;this.a-=4},Tb,function(){this.A=V(this)&65535;this.a-=10},function(){this.S(V(this),this.b);this.a-=13},function(){this.A=this.A+1&65535;this.a-=5},function(){var a=M(this);this.S(a,Pb(this,this.F(a)));this.a-=10},function(){var a=M(this);this.S(a,Ob(this,this.F(a)));this.a-=10},function(){this.S(M(this),U(this));this.a-=10},function(){this.l|=256;this.a-=4},Tb,function(){var a;P(this,
a=M(this)+this.A);Q(this,a>>8&256);this.a-=10},function(){this.b=this.F(V(this));this.a-=13},function(){this.A=this.A-1&65535;this.a-=5},function(){this.b=Pb(this,this.b);this.a-=5},function(){this.b=Ob(this,this.b);this.a-=5},function(){this.b=U(this);this.a-=7},function(){Q(this,P(this)?0:256);this.a-=4},function(){this.a-=5},function(){this.f=this.v;this.a-=5},function(){this.f=this.g;this.a-=5},function(){this.f=this.w;this.a-=5},function(){this.f=this.i;this.a-=5},function(){this.f=this.j;this.a-= a=M(this)+this.A);R(this,a>>8&256);this.a-=10},function(){this.b=this.F(V(this));this.a-=13},function(){this.A=this.A-1&65535;this.a-=5},function(){this.b=Pb(this,this.b);this.a-=5},function(){this.b=Ob(this,this.b);this.a-=5},function(){this.b=U(this);this.a-=7},function(){R(this,Q(this)?0:256);this.a-=4},function(){this.a-=5},function(){this.f=this.v;this.a-=5},function(){this.f=this.g;this.a-=5},function(){this.f=this.w;this.a-=5},function(){this.f=this.i;this.a-=5},function(){this.f=this.j;this.a-=
5},function(){this.f=this.F(M(this));this.a-=7},function(){this.f=this.b;this.a-=5},function(){this.v=this.f;this.a-=5},function(){this.a-=5},function(){this.v=this.g;this.a-=5},function(){this.v=this.w;this.a-=5},function(){this.v=this.i;this.a-=5},function(){this.v=this.j;this.a-=5},function(){this.v=this.F(M(this));this.a-=7},function(){this.v=this.b;this.a-=5},function(){this.g=this.f;this.a-=5},function(){this.g=this.v;this.a-=5},function(){this.a-=5},function(){this.g=this.w;this.a-=5},function(){this.g= 5},function(){this.f=this.F(M(this));this.a-=7},function(){this.f=this.b;this.a-=5},function(){this.v=this.f;this.a-=5},function(){this.a-=5},function(){this.v=this.g;this.a-=5},function(){this.v=this.w;this.a-=5},function(){this.v=this.i;this.a-=5},function(){this.v=this.j;this.a-=5},function(){this.v=this.F(M(this));this.a-=7},function(){this.v=this.b;this.a-=5},function(){this.g=this.f;this.a-=5},function(){this.g=this.v;this.a-=5},function(){this.a-=5},function(){this.g=this.w;this.a-=5},function(){this.g=
this.i;this.a-=5},function(){this.g=this.j;this.a-=5},function(){this.g=this.F(M(this));this.a-=7},function(){this.g=this.b;this.a-=5},function(){this.w=this.f;this.a-=5},function(){this.w=this.v;this.a-=5},function(){this.w=this.g;this.a-=5},function(){this.a-=5},function(){this.w=this.i;this.a-=5},function(){this.w=this.j;this.a-=5},function(){this.w=this.F(M(this));this.a-=7},function(){this.w=this.b;this.a-=5},function(){this.i=this.f;this.a-=5},function(){this.i=this.v;this.a-=5},function(){this.i= this.i;this.a-=5},function(){this.g=this.j;this.a-=5},function(){this.g=this.F(M(this));this.a-=7},function(){this.g=this.b;this.a-=5},function(){this.w=this.f;this.a-=5},function(){this.w=this.v;this.a-=5},function(){this.w=this.g;this.a-=5},function(){this.a-=5},function(){this.w=this.i;this.a-=5},function(){this.w=this.j;this.a-=5},function(){this.w=this.F(M(this));this.a-=7},function(){this.w=this.b;this.a-=5},function(){this.i=this.f;this.a-=5},function(){this.i=this.v;this.a-=5},function(){this.i=
this.g;this.a-=5},function(){this.i=this.w;this.a-=5},function(){this.a-=5},function(){this.i=this.j;this.a-=5},function(){this.i=this.F(M(this));this.a-=7},function(){this.i=this.b;this.a-=5},function(){this.j=this.f;this.a-=5},function(){this.j=this.v;this.a-=5},function(){this.j=this.g;this.a-=5},function(){this.j=this.w;this.a-=5},function(){this.j=this.i;this.a-=5},function(){this.a-=5},function(){this.j=this.F(M(this));this.a-=7},function(){this.j=this.b;this.a-=5},function(){this.S(M(this), this.g;this.a-=5},function(){this.i=this.w;this.a-=5},function(){this.a-=5},function(){this.i=this.j;this.a-=5},function(){this.i=this.F(M(this));this.a-=7},function(){this.i=this.b;this.a-=5},function(){this.j=this.f;this.a-=5},function(){this.j=this.v;this.a-=5},function(){this.j=this.g;this.a-=5},function(){this.j=this.w;this.a-=5},function(){this.j=this.i;this.a-=5},function(){this.a-=5},function(){this.j=this.F(M(this));this.a-=7},function(){this.j=this.b;this.a-=5},function(){this.S(M(this),
@ -66,76 +66,77 @@ this.a-=4},function(){this.b=T(this,this.g);this.a-=4},function(){this.b=T(this,
this.a-=4},function(){this.b=Sb(this,this.f);this.a-=4},function(){this.b=Sb(this,this.v);this.a-=4},function(){this.b=Sb(this,this.g);this.a-=4},function(){this.b=Sb(this,this.w);this.a-=4},function(){this.b=Sb(this,this.i);this.a-=4},function(){this.b=Sb(this,this.j);this.a-=4},function(){this.b=Sb(this,this.F(M(this)));this.a-=7},function(){this.b=Sb(this,this.b);this.a-=4},function(){this.b=Qb(this,this.f);this.a-=4},function(){this.b=Qb(this,this.v);this.a-=4},function(){this.b=Qb(this,this.g); this.a-=4},function(){this.b=Sb(this,this.f);this.a-=4},function(){this.b=Sb(this,this.v);this.a-=4},function(){this.b=Sb(this,this.g);this.a-=4},function(){this.b=Sb(this,this.w);this.a-=4},function(){this.b=Sb(this,this.i);this.a-=4},function(){this.b=Sb(this,this.j);this.a-=4},function(){this.b=Sb(this,this.F(M(this)));this.a-=7},function(){this.b=Sb(this,this.b);this.a-=4},function(){this.b=Qb(this,this.f);this.a-=4},function(){this.b=Qb(this,this.v);this.a-=4},function(){this.b=Qb(this,this.g);
this.a-=4},function(){this.b=Qb(this,this.w);this.a-=4},function(){this.b=Qb(this,this.i);this.a-=4},function(){this.b=Qb(this,this.j);this.a-=4},function(){this.b=Qb(this,this.F(M(this)));this.a-=7},function(){this.b=Qb(this,this.b);this.a-=4},function(){T(this,this.f);this.a-=4},function(){T(this,this.v);this.a-=4},function(){T(this,this.g);this.a-=4},function(){T(this,this.w);this.a-=4},function(){T(this,this.i);this.a-=4},function(){T(this,this.j);this.a-=4},function(){T(this,this.F(M(this))); this.a-=4},function(){this.b=Qb(this,this.w);this.a-=4},function(){this.b=Qb(this,this.i);this.a-=4},function(){this.b=Qb(this,this.j);this.a-=4},function(){this.b=Qb(this,this.F(M(this)));this.a-=7},function(){this.b=Qb(this,this.b);this.a-=4},function(){T(this,this.f);this.a-=4},function(){T(this,this.v);this.a-=4},function(){T(this,this.g);this.a-=4},function(){T(this,this.w);this.a-=4},function(){T(this,this.i);this.a-=4},function(){T(this,this.j);this.a-=4},function(){T(this,this.F(M(this)));
this.a-=7},function(){T(this,this.b);this.a-=4},function(){this.l&255&&(I(this,W(this)),this.a-=6);this.a-=5},function(){Jb(this,W(this));this.a-=10},function(){var a=V(this);this.l&255&&I(this,a);this.a-=10},Ub,function(){var a=V(this);this.l&255&&(X(this,this.m),I(this,a),this.a-=6);this.a-=11},function(){X(this,Ib(this));this.a-=11},function(){this.b=S(this,U(this));this.a-=7},function(){X(this,this.m);I(this,0);this.a-=11},function(){this.l&255||(I(this,W(this)),this.a-=6);this.a-=5},Vb,function(){var a= this.a-=7},function(){T(this,this.b);this.a-=4},function(){this.l&255&&(I(this,W(this)),this.a-=6);this.a-=5},function(){Jb(this,W(this));this.a-=10},function(){var a=V(this);this.l&255&&I(this,a);this.a-=10},Ub,function(){var a=V(this);this.l&255&&(X(this,this.m),I(this,a),this.a-=6);this.a-=11},function(){X(this,Ib(this));this.a-=11},function(){this.b=S(this,U(this));this.a-=7},function(){X(this,this.m);I(this,0);this.a-=11},function(){this.l&255||(I(this,W(this)),this.a-=6);this.a-=5},Vb,function(){var a=
V(this);this.l&255||I(this,a);this.a-=10},Ub,function(){var a=V(this);this.l&255||(X(this,this.m),I(this,a),this.a-=6);this.a-=11},Wb,function(){this.b=Mb(this,U(this));this.a-=7},function(){X(this,this.m);I(this,8);this.a-=11},function(){P(this)||(I(this,W(this)),this.a-=6);this.a-=5},function(){Kb(this,W(this));this.a-=10},function(){var a=V(this);P(this)||I(this,a);this.a-=10},function(){for(var a=U(this),b=this.o,c=this.b,d=this.m+-2&65535,e=1,f=0;0<e;){var h=b.m[a],g=b.C[a]||1,l=1==g?255:2== V(this);this.l&255||I(this,a);this.a-=10},Ub,function(){var a=V(this);this.l&255||(X(this,this.m),I(this,a),this.a-=6);this.a-=11},Wb,function(){this.b=Mb(this,U(this));this.a-=7},function(){X(this,this.m);I(this,8);this.a-=11},function(){Q(this)||(I(this,W(this)),this.a-=6);this.a-=5},function(){Kb(this,W(this));this.a-=10},function(){var a=V(this);Q(this)||I(this,a);this.a-=10},function(){for(var a=U(this),b=this.o,c=this.b,d=this.m+-2&65535,e=1,f=0;0<e;){var h=b.m[a],g=b.C[a]||1,l=1==g?255:2==
g?65535:-1,l=(c>>>=f)&l;if(void 0!==h&&h[0])h[0](a,l,d);f+=g<<3;a+=g;e-=g}this.a-=10},function(){var a=V(this);P(this)||(X(this,this.m),I(this,a),this.a-=6);this.a-=11},function(){X(this,L(this));this.a-=11},function(){this.b=T(this,U(this));this.a-=7},function(){X(this,this.m);I(this,16);this.a-=11},function(){P(this)&&(I(this,W(this)),this.a-=6);this.a-=5},Vb,function(){var a=V(this);P(this)&&I(this,a);this.a-=10},function(){for(var a=U(this),b=this.o,c=this.m+-2&65535,d=1,e=0,f=0;0<d;){var h=b.l[a], g?65535:-1,l=(c>>>=f)&l;if(void 0!==h&&h[0])h[0](a,l,d);f+=g<<3;a+=g;e-=g}this.a-=10},function(){var a=V(this);Q(this)||(X(this,this.m),I(this,a),this.a-=6);this.a-=11},function(){X(this,L(this));this.a-=11},function(){this.b=T(this,U(this));this.a-=7},function(){X(this,this.m);I(this,16);this.a-=11},function(){Q(this)&&(I(this,W(this)),this.a-=6);this.a-=5},Vb,function(){var a=V(this);Q(this)&&I(this,a);this.a-=10},function(){for(var a=U(this),b=this.o,c=this.m+-2&65535,d=1,e=0,f=0;0<d;){var h=b.l[a],
g=b.G[a]||1,l=1==g?255:2==g?65535:-1,k=l;void 0!==h&&h[0]&&(k=h[0](a,c),void 0===k?k=l:k&=l);e|=k<<f;f+=g<<3;a+=g;d-=g}this.b=e&255;this.a-=10},function(){var a=V(this);P(this)&&(X(this,this.m),I(this,a),this.a-=6);this.a-=11},Wb,function(){this.b=Rb(this,U(this));this.a-=7},function(){X(this,this.m);I(this,24);this.a-=11},function(){Lb(this)||(I(this,W(this)),this.a-=6);this.a-=5},function(){O(this,W(this));this.a-=10},function(){var a=V(this);Lb(this)||I(this,a);this.a-=10},function(){var a=W(this); g=b.G[a]||1,l=1==g?255:2==g?65535:-1,k=l;void 0!==h&&h[0]&&(k=h[0](a,c),void 0===k?k=l:k&=l);e|=k<<f;f+=g<<3;a+=g;d-=g}this.b=e&255;this.a-=10},function(){var a=V(this);Q(this)&&(X(this,this.m),I(this,a),this.a-=6);this.a-=11},Wb,function(){this.b=Rb(this,U(this));this.a-=7},function(){X(this,this.m);I(this,24);this.a-=11},function(){Lb(this)||(I(this,W(this)),this.a-=6);this.a-=5},function(){P(this,W(this));this.a-=10},function(){var a=V(this);Lb(this)||I(this,a);this.a-=10},function(){var a=W(this);
X(this,M(this));O(this,a);this.a-=18},function(){var a=V(this);Lb(this)||(X(this,this.m),I(this,a),this.a-=6);this.a-=11},function(){X(this,M(this));this.a-=11},function(){this.b=Nb(this,U(this));this.a-=7},function(){X(this,this.m);I(this,32);this.a-=11},function(){Lb(this)&&(I(this,W(this)),this.a-=6);this.a-=5},function(){I(this,M(this));this.a-=5},function(){var a=V(this);Lb(this)&&I(this,a);this.a-=10},function(){var a=M(this);O(this,L(this));Kb(this,a);this.a-=5},function(){var a=V(this);Lb(this)&& X(this,M(this));P(this,a);this.a-=18},function(){var a=V(this);Lb(this)||(X(this,this.m),I(this,a),this.a-=6);this.a-=11},function(){X(this,M(this));this.a-=11},function(){this.b=Nb(this,U(this));this.a-=7},function(){X(this,this.m);I(this,32);this.a-=11},function(){Lb(this)&&(I(this,W(this)),this.a-=6);this.a-=5},function(){I(this,M(this));this.a-=5},function(){var a=V(this);Lb(this)&&I(this,a);this.a-=10},function(){var a=M(this);P(this,L(this));Kb(this,a);this.a-=5},function(){var a=V(this);Lb(this)&&
(X(this,this.m),I(this,a),this.a-=6);this.a-=11},Wb,function(){this.b=Sb(this,U(this));this.a-=7},function(){X(this,this.m);I(this,40);this.a-=11},function(){this.s&128||(I(this,W(this)),this.a-=6);this.a-=5},function(){var a=W(this);Fb(this,a&255|this.H&-256);this.b=a>>8;this.a-=10},function(){var a=V(this);this.s&128||I(this,a);this.a-=10},function(){this.H&=-513;this.a-=4},function(){var a=V(this);this.s&128||(X(this,this.m),I(this,a),this.a-=6);this.a-=11},function(){X(this,Hb(this)&255|this.b<< (X(this,this.m),I(this,a),this.a-=6);this.a-=11},Wb,function(){this.b=Sb(this,U(this));this.a-=7},function(){X(this,this.m);I(this,40);this.a-=11},function(){this.s&128||(I(this,W(this)),this.a-=6);this.a-=5},function(){var a=W(this);Fb(this,a&255|this.H&-256);this.b=a>>8;this.a-=10},function(){var a=V(this);this.s&128||I(this,a);this.a-=10},function(){this.H&=-513;this.a-=4},function(){var a=V(this);this.s&128||(X(this,this.m),I(this,a),this.a-=6);this.a-=11},function(){X(this,Hb(this)&255|this.b<<
8);this.a-=11},function(){this.b=Qb(this,U(this));this.a-=7},function(){X(this,this.m);I(this,48);this.a-=11},function(){this.s&128&&(I(this,W(this)),this.a-=6);this.a-=5},function(){this.A=M(this)&65535;this.a-=5},function(){var a=V(this);this.s&128&&I(this,a);this.a-=10},function(){this.H|=512;this.a-=4},function(){var a=V(this);this.s&128&&(X(this,this.m),I(this,a),this.a-=6);this.a-=11},Wb,function(){T(this,U(this));this.a-=7},function(){X(this,this.m);I(this,56);this.a-=11}]; 8);this.a-=11},function(){this.b=Qb(this,U(this));this.a-=7},function(){X(this,this.m);I(this,48);this.a-=11},function(){this.s&128&&(I(this,W(this)),this.a-=6);this.a-=5},function(){this.A=M(this)&65535;this.a-=5},function(){var a=V(this);this.s&128&&I(this,a);this.a-=10},function(){this.H|=512;this.a-=4},function(){var a=V(this);this.s&128&&(X(this,this.m),I(this,a),this.a-=6);this.a-=11},Wb,function(){T(this,U(this));this.a-=7},function(){X(this,this.m);I(this,56);this.a-=11}];
function Z(a){u.call(this,"ChipSet",a,Z);var b=a.model;b&&!Xb[b]&&t("Unrecognized ChipSet model: "+b);this.da=Xb[b]||Yb;a.sound&&(this.m=null,window&&(this.m=window.AudioContext||window.webkitAudioContext),this.m&&new this.m);F(this)}x(Z);var Yb=1978.1,Xb={SI1978:Yb};m=Z.prototype;m.R=function(){return!1}; function Z(a){u.call(this,"ChipSet",a,Z);var b=a.model;b&&!Xb[b]&&t("Unrecognized ChipSet model: "+b);this.da=Xb[b]||Yb;a.sound&&(this.m=null,window&&(this.m=window.AudioContext||window.webkitAudioContext),this.m&&new this.m);F(this)}z(Z);var Yb=1978.1,Xb={SI1978:Yb};m=Z.prototype;m.R=function(){return!1};
m.fa=function(a,b,c,d){this.o=b;this.a=c;this.J=d;this.u=a;if(this.da==Yb){var e;a=Zb;void 0===e&&(e=0);for(var f in a){c=b;d=+f+e;var h=a[f].bind(this);if(void 0!==h)for(var g=+f+e;g<=d;g++)void 0!==c.l[g]?t("Input port 0x"+n(g,4)+" already registered"):c.l[g]=[h,!1]}var l;e=$b;void 0===l&&(l=0);for(var k in e)if(f=b,a=+k+l,c=e[k].bind(this),void 0!==c)for(d=+k+l;d<=a;d++)void 0!==f.m[d]?t("Output port 0x"+n(d,4)+" already registered"):f.m[d]=[c,!1]}}; m.fa=function(a,b,c,d){this.o=b;this.a=c;this.K=d;this.u=a;if(this.da==Yb){var e;a=Zb;void 0===e&&(e=0);for(var f in a){c=b;d=+f+e;var h=a[f].bind(this);if(void 0!==h)for(var g=+f+e;g<=d;g++)void 0!==c.l[g]?t("Input port 0x"+n(g,4)+" already registered"):c.l[g]=[h,!1]}var l;e=$b;void 0===l&&(l=0);for(var k in e)if(f=b,a=+k+l,c=e[k].bind(this),void 0!==c)for(d=+k+l;d<=a;d++)void 0!==f.m[d]?t("Output port 0x"+n(d,4)+" already registered"):f.m[d]=[c,!1]}};
m.aa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.ca=function(a){return a?this.save():!0};m.reset=function(){this.j=14;this.b=8;this.g=this.i=this.f=this.c=this.l=0};m.save=function(){var a=new J(this);this.da==Yb&&K(a,0,[this.j,this.b,this.l,this.c,this.f,this.g,this.i]);return a.data()};m.restore=function(a){a=a[0];this.da==Yb&&(this.j=a[0],this.b=a[1],this.l=a[2],this.c=a[3],this.f=a[4],this.g=a[5],this.i=a[6]);return!0};m.start=function(){};m.stop=function(){}; m.aa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.ca=function(a){return a?this.save():!0};m.reset=function(){this.j=14;this.b=8;this.g=this.i=this.f=this.c=this.l=0};m.save=function(){var a=new J(this);this.da==Yb&&K(a,0,[this.j,this.b,this.l,this.c,this.f,this.g,this.i]);return a.data()};m.restore=function(a){a=a[0];this.da==Yb&&(this.j=a[0],this.b=a[1],this.l=a[2],this.c=a[3],this.f=a[4],this.g=a[5],this.i=a[6]);return!0};m.start=function(){};m.stop=function(){};
function ac(a,b,c){a.b&=~b;c&&(a.b|=b)}m.zb=function(){return this.j};m.Ab=function(){return this.b};m.Bb=function(){return this.l};m.yb=function(){return this.c>>8-this.f&255};m.Gb=function(a,b){this.f=b};m.Ib=function(a,b){this.g=b};m.Hb=function(a,b){this.c=b<<8|this.c>>8};m.Jb=function(a,b){this.i=b};m.Kb=function(){};var Zb={0:Z.prototype.zb,1:Z.prototype.Ab,2:Z.prototype.Bb,3:Z.prototype.yb},$b={2:Z.prototype.Gb,3:Z.prototype.Ib,4:Z.prototype.Hb,5:Z.prototype.Jb,6:Z.prototype.Kb}; function ac(a,b,c){a.b&=~b;c&&(a.b|=b)}m.zb=function(){return this.j};m.Ab=function(){return this.b};m.Bb=function(){return this.l};m.yb=function(){return this.c>>8-this.f&255};m.Hb=function(a,b){this.f=b};m.Jb=function(a,b){this.g=b};m.Ib=function(a,b){this.c=b<<8|this.c>>8};m.Kb=function(a,b){this.i=b};m.Lb=function(){};var Zb={0:Z.prototype.zb,1:Z.prototype.Ab,2:Z.prototype.Bb,3:Z.prototype.yb},$b={2:Z.prototype.Hb,3:Z.prototype.Jb,4:Z.prototype.Ib,5:Z.prototype.Kb,6:Z.prototype.Lb};
ta(function(){for(var a=D(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Z(d);Ha(d,c)}});function bc(a){u.call(this,"ROM",a,bc);this.b=null;this.j=a.addr;this.c=a.size;this.l=a.writable;this.f=a.alias;this.g=a.file;this.m=ba(this.g);if(this.g){a=this.g;var b=ca(this.m);"json"!=b&&"hex"!=b&&(a=ia()+"/api/v1/dump?file="+this.g+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,f){cc(c,a,b,f)})}}x(bc);var dc=[0,5]; ta(function(){for(var a=E(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Z(d);Ha(d,c)}});function bc(a){u.call(this,"ROM",a,bc);this.b=null;this.j=a.addr;this.c=a.size;this.l=a.writable;this.f=a.alias;this.g=a.file;this.m=ba(this.g);if(this.g){a=this.g;var b=ca(this.m);"json"!=b&&"hex"!=b&&(a=ia()+"/api/v1/dump?file="+this.g+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,f){cc(c,a,b,f)})}}z(bc);var dc=[0,5];
bc.prototype.fa=function(a,b,c,d){this.o=b;this.a=c;this.J=d;ec(this)};bc.prototype.aa=function(){this.i&&(this.J&&this.J.a(this.id,this.j,this.c,this.i),delete this.i);return!0};bc.prototype.ca=function(){return!0}; bc.prototype.fa=function(a,b,c,d){this.o=b;this.a=c;this.K=d;ec(this)};bc.prototype.aa=function(){this.i&&(this.K&&this.K.a(this.id,this.j,this.c,this.i),delete this.i);return!0};bc.prototype.ca=function(){return!0};
function cc(a,b,c,d){if(d)a.I("Unable to load system ROM (error "+d+": "+b+")");else{Fa(a.Qa,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.b=f;else if(h)for(a.b=Array(4*h.length),d=c=0;c<h.length;c++)a.b[d++]=h[c]&255,a.b[d++]=h[c]>>8&255,a.b[d++]=h[c]>>16&255,a.b[d++]=h[c]>>24&255;else a.b=e;a.i=e.symbols;if(!a.b.length){t("Empty ROM: "+b);return}if(1==a.b.length){t(a.b[0]);return}}catch(g){a.I("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm, function cc(a,b,c,d){if(d)a.I("Unable to load system ROM (error "+d+": "+b+")");else{Fa(a.Ra,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.b=f;else if(h)for(a.b=Array(4*h.length),d=c=0;c<h.length;c++)a.b[d++]=h[c]&255,a.b[d++]=h[c]>>8&255,a.b[d++]=h[c]>>16&255,a.b[d++]=h[c]>>24&255;else a.b=e;a.i=e.symbols;if(!a.b.length){t("Empty ROM: "+b);return}if(1==a.b.length){t(a.b[0]);return}}catch(g){a.I("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]);ec(a)}} " ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e<b.length;e++)a.b[e]=aa(b[e]);ec(a)}}
function ec(a){if(!Ja(a))if(!a.g)F(a);else if(a.b&&a.o){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.h.ga=!0;a.I(b)}else if(fc(a,a.j)){b=[];"number"==typeof a.f?b.push(a.f):null!=a.f&&a.f.length&&(b=a.f);for(var c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.o,h=d.c,g=[],l=d.j>>>f.c;0<h&&l<f.b.length;)g.push(f.b[l++]),h-=f.o;f=d.o;d=d.c;h=0;for(e>>>=f.c;0<d&&e<f.b.length;){l=g[h++];if(!l)break;f.b[e++]=l;d-=f.o}}delete a.b}F(a)}} function ec(a){if(!Ja(a))if(!a.g)F(a);else if(a.b&&a.o){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.h.ga=!0;a.I(b)}else if(fc(a,a.j)){b=[];"number"==typeof a.f?b.push(a.f):null!=a.f&&a.f.length&&(b=a.f);for(var c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.o,h=d.c,g=[],l=d.j>>>f.c;0<h&&l<f.b.length;)g.push(f.b[l++]),h-=f.o;f=d.o;d=d.c;h=0;for(e>>>=f.c;0<d&&e<f.b.length;){l=g[h++];if(!l)break;f.b[e++]=l;d-=f.o}}delete a.b}F(a)}}
function fc(a,b){if(Ra(a.o,b,a.c,a.l?1:db)){var c;for(c=0;c<a.b.length;c++)Wa(a.o,b+c,a.b[c]);if(a.l&&256==b){for(c=0;c<dc.length;c++)Wa(a.o,dc[c],118);Eb(a.a,function(a){return function(b){if(0<=dc.indexOf(b)){var c=!1,h=a.a,g=a.J;if(5==b)switch(c=!0,h.v){case 2:gc(a,String.fromCharCode(h.w));break;case 9:for(var l=L(h),k="",r=255;r--;){var q=a.a.F(l++);if(36==q)break;k+=String.fromCharCode(q)}gc(a,k);break;default:c=!1}c?Vb.call(h):g&&(a.V("\nCP/M vector 0x"+n(b,4)),I(h,b),tb(g));b=!0}else b=!1; function fc(a,b){if(Ra(a.o,b,a.c,a.l?1:db)){var c;for(c=0;c<a.b.length;c++)Wa(a.o,b+c,a.b[c]);if(a.l&&256==b){for(c=0;c<dc.length;c++)Wa(a.o,dc[c],118);Eb(a.a,function(a){return function(b){if(0<=dc.indexOf(b)){var c=!1,h=a.a,g=a.K;if(5==b)switch(c=!0,h.v){case 2:gc(a,String.fromCharCode(h.w));break;case 9:for(var l=L(h),k="",r=255;r--;){var q=a.a.F(l++);if(36==q)break;k+=String.fromCharCode(q)}gc(a,k);break;default:c=!1}c?Vb.call(h):g&&(a.V("\nCP/M vector 0x"+n(b,4)),I(h,b),tb(g));b=!0}else b=!1;
return b}}(a));Gb(a.a,b)}return!0}return!1}function gc(a,b){b=b.replace(/\r/g,"");a.ea&&(a.ea.value+=b,a.ea.scrollTop=a.ea.scrollHeight)}ta(function(){for(var a=D(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new bc(d);Ha(d,c)}});function hc(a){u.call(this,"RAM",a,hc);this.f=a.addr;this.c=a.size;this.b=!1}x(hc);m=hc.prototype;m.fa=function(a,b,c,d){this.o=b;this.a=c;this.J=d;F(this)};m.aa=function(a,b){b||this.reset();return!0};m.ca=function(a){return a?this.save():!0}; return b}}(a));Gb(a.a,b)}return!0}return!1}function gc(a,b){b=b.replace(/\r/g,"");a.ea&&(a.ea.value+=b,a.ea.scrollTop=a.ea.scrollHeight)}ta(function(){for(var a=E(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new bc(d);Ha(d,c)}});function hc(a){u.call(this,"RAM",a,hc);this.f=a.addr;this.c=a.size;this.b=!1}z(hc);m=hc.prototype;m.fa=function(a,b,c,d){this.o=b;this.a=c;this.K=d;F(this)};m.aa=function(a,b){b||this.reset();return!0};m.ca=function(a){return a?this.save():!0};
m.reset=function(){!this.b&&this.c&&Ra(this.o,this.f,this.c,1)&&(this.b=!0);this.b||t("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};ta(function(){for(var a=D(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new hc(d);Ha(d,c)}});function ic(a){u.call(this,"Keyboard",a,ic);this.reset();F(this)}x(ic);var jc={"1p":49,"2p":50,coin:51,left:37,right:39,fire:32},kc={65:37,68:39,76:32};ic.prototype.reset=function(){this.a={}}; m.reset=function(){!this.b&&this.c&&Ra(this.o,this.f,this.c,1)&&(this.b=!0);this.b||t("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};ta(function(){for(var a=E(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new hc(d);Ha(d,c)}});function ic(a){u.call(this,"Keyboard",a,ic);this.reset();F(this)}z(ic);var jc={"1p":49,"2p":50,coin:51,left:37,right:39,fire:32},kc={65:37,68:39,76:32};ic.prototype.reset=function(){this.a={}};
ic.prototype.R=function(a,b,c){var d=this;a=a+"-"+b;if(void 0===this.B[a])switch(b){case "kbd":return c.onkeydown=function(a){return lc(d,a,!0)},c.onkeyup=function(a){return lc(d,a,!1)},!0;default:if(void 0!==jc[b])return this.B[a]=c,a=function(a,b){return function(){mc(a,b,!0)}}(this,b),b=function(a,b){return function(){mc(a,b,!1)}}(this,b),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1}; ic.prototype.R=function(a,b,c){var d=this;a=a+"-"+b;if(void 0===this.B[a])switch(b){case "kbd":return c.onkeydown=function(a){return lc(d,a,!0)},c.onkeyup=function(a){return lc(d,a,!1)},!0;default:if(void 0!==jc[b])return this.B[a]=c,a=function(a,b){return function(){mc(a,b,!0)}}(this,b),b=function(a,b){return function(){mc(a,b,!1)}}(this,b),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};
ic.prototype.fa=function(a,b,c,d){this.J=d;this.G=Na(a,"ChipSet")};function lc(a,b,c){var d=!0,e;a:{e=b.keyCode;e=kc[e]||e;for(var f in jc)if(jc[f]===e){e=f;break a}e=null}e&&(d=mc(a,e,c));d||b.preventDefault();return d}function mc(a,b,c){a.a[b]=c;if(a.G)switch(b){case "1p":ac(a.G,4,c);break;case "2p":ac(a.G,2,c);break;case "coin":ac(a.G,1,c);break;case "left":ac(a.G,32,c);break;case "right":ac(a.G,64,c);break;case "fire":ac(a.G,16,c)}return!1} ic.prototype.fa=function(a,b,c,d){this.K=d;this.G=Na(a,"ChipSet")};function lc(a,b,c){var d=!0,e;a:{e=b.keyCode;e=kc[e]||e;for(var f in jc)if(jc[f]===e){e=f;break a}e=null}e&&(d=mc(a,e,c));d||b.preventDefault();return d}function mc(a,b,c){a.a[b]=c;if(a.G)switch(b){case "1p":ac(a.G,4,c);break;case "2p":ac(a.G,2,c);break;case "coin":ac(a.G,1,c);break;case "left":ac(a.G,32,c);break;case "right":ac(a.G,64,c);break;case "fire":ac(a.G,16,c)}return!1}
ta(function(){for(var a=D(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new ic(d);Ha(d,c)}}); ta(function(){for(var a=E(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new ic(d);Ha(d,c)}});
function oc(a,b,c,d,e){var f=this;this.$a=oa("Gecko/");var h=["","moz","ms","webkit"];u.call(this,"Video",a,oc);this.s=a.screenWidth;this.m=a.screenHeight;this.T=a.bufferAddr;this.wb=a.bufferRAM;var g=a.bufferFormat;this.C=g&&pc[g.toLowerCase()]||qc;this.Da=a.bufferCols;this.ba=a.bufferRows;this.sb=this.P=a.cellWidth||1;this.N=a.cellHeight||1;this.Oa=null;this.ka=a.bufferBits||1;this.xb=a.bufferLeft||0;if(this.c=a.bufferRotate)this.c=this.c%360,0<this.c&&(this.c-=360),-90!=this.c&&(this.I("unsupported buffer rotation: "+ function oc(a,b,c,d,e){var f=this;this.Xa=oa("Gecko/");var h=["","moz","ms","webkit"];u.call(this,"Video",a,oc);this.s=a.screenWidth;this.m=a.screenHeight;this.T=a.bufferAddr;this.xb=a.bufferRAM;var g=a.bufferFormat;this.C=g&&pc[g.toLowerCase()]||qc;this.Da=a.bufferCols;this.ba=a.bufferRows;this.ub=this.M=a.cellWidth||1;this.J=a.cellHeight||1;this.Oa=null;this.ka=a.bufferBits||1;this.Cb=a.bufferLeft||0;if(this.c=a.bufferRotate)this.c=this.c%360,0<this.c&&(this.c-=360),-90!=this.c&&(this.I("unsupported buffer rotation: "+
this.c),this.c=0);this.eb=a.interruptRate;this.Db=a.refreshRate||60;this.l=b;this.f=c;this.W=(this.Eb=d)||b||null;this.ub=this.s;this.vb=this.m;this.Ya=this.s/this.Da|0;this.Za=this.m/this.ba|0;1<this.N&&this.ba++;b=a.smoothing;(c=ya.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.g=a.screenRotate)this.g=this.g%360,0<this.g&&(this.g-=360),-90!=this.g?(this.I("unsupported screen rotation: "+ this.c),this.c=0);this.gb=a.interruptRate;this.Eb=a.refreshRate||60;this.l=b;this.f=c;this.W=(this.Fb=d)||b||null;this.vb=this.s;this.wb=this.m;this.Za=this.s/this.Da|0;this.$a=this.m/this.ba|0;1<this.J&&this.ba++;b=a.smoothing;(c=ya.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.g=a.screenRotate)this.g=this.g%360,0<this.g&&(this.g-=360),-90!=this.g?(this.I("unsupported screen rotation: "+
this.g),this.g=0):(this.f.translate(0,this.m),this.f.rotate(this.g*Math.PI/180),this.f.scale(this.m/this.s,this.s/this.m));if(this.b=e)if(this.b.la=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.b.la){for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){rc(f,document.fullscreenElement||document.msFullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement?!0:!1)},!1); this.g),this.g=0):(this.f.translate(0,this.m),this.f.rotate(this.g*Math.PI/180),this.f.scale(this.m/this.s,this.s/this.m));if(this.b=e)if(this.b.la=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.b.la){for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){rc(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(){rc(f,null)},!1);break}}if(this.D=a.fontROM)"json"!=ca(this.D)&&(this.D=ia()+"/api/v1/dump?file="+this.D+"&format=bytes"),p(this.D,null,!0,function(a,b,c){sc(f,a,b,c)})}x(oc);var qc=0,pc={vt100:2}; break}for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenerror","on"+d in document){document.addEventListener(d,function(){rc(f,null)},!1);break}}if(this.D=a.fontROM)"json"!=ca(this.D)&&(this.D=ia()+"/api/v1/dump?file="+this.D+"&format=bytes"),p(this.D,null,!0,function(a,b,c){sc(f,a,b,c)})}z(oc);var qc=0,pc={vt100:2};
oc.prototype.fa=function(a,b,c,d){this.u=a;this.o=b;this.a=c;this.J=d;this.C||(this.G=Na(a,"ChipSet"))&&this.G.da==Yb&&(this.C=1);this.i=this.Da*this.P;this.A=this.ba*this.N;b=this.i;c=this.A;this.c&&(b=this.A,c=this.i);this.Ea=(this.i*this.ka>>3)*this.A;if(this.wb||Ra(this.o,this.T,this.Ea,3))1<this.P?tc(this,this.Da*this.ba):(this.ab=this.f.createImageData(b,c),this.cb=16/this.ka|0,tc(this,this.Ea>>1)),this.j=document.createElement("canvas"),this.j.width=b,this.j.height=c,this.Pa=this.j.getContext("2d"), oc.prototype.fa=function(a,b,c,d){this.u=a;this.o=b;this.a=c;this.K=d;this.C||(this.G=Na(a,"ChipSet"))&&this.G.da==Yb&&(this.C=1);this.i=this.Da*this.M;this.A=this.ba*this.J;b=this.i;c=this.A;this.c&&(b=this.A,c=this.i);this.Ea=(this.i*this.ka>>3)*this.A;if(this.xb||Ra(this.o,this.T,this.Ea,3))1<this.M?tc(this,this.Da*this.ba):(this.bb=this.f.createImageData(b,c),this.eb=16/this.ka|0,tc(this,this.Ea>>1)),this.j=document.createElement("canvas"),this.j.width=b,this.j.height=c,this.Pa=this.j.getContext("2d"),
this.K={},this.Y=1<<this.ka,this.L=Array(this.Y+2),this.L[0]=[0,0,0,255],this.L[1]=[255,255,255,255],1==this.C&&(this.L[this.Y+0]=[255,255,0,255],this.L[this.Y+1]=[0,255,0,255]),2==this.C&&(this.Cb=60,this.M=Array(this.Da));(this.X=Na(a,"Keyboard"))&&this.l&&this.X.R(this.Eb?"textarea":"canvas","kbd",this.W);this.D||F(this)}; this.L={},this.Y=1<<this.ka,this.N=Array(this.Y+2),this.N[0]=[0,0,0,255],this.N[1]=[255,255,255,255],1==this.C&&(this.N[this.Y+0]=[255,255,0,255],this.N[this.Y+1]=[0,255,0,255]),2==this.C&&(this.Db=60,this.Qa=!1,this.O=Array(this.Da));(this.X=Na(a,"Keyboard"))&&this.l&&this.X.R(this.Fb?"textarea":"canvas","kbd",this.W);this.D||F(this)};
function sc(a,b,c,d){if(d)a.I("Unable to load font ROM (error "+d+": "+b+")");else{Fa(a.Qa,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){t("Empty font ROM: "+b);return}if(1==f.length){t(f[0]);return}if(2048==f.length)uc(a,f);else{a.I("Unrecognized font data length ("+f.length+")");return}}catch(h){a.I("Font ROM data error: "+h.message);return}(a.f||a.J)&&F(a)}}function uc(a,b){a.Oa=b;a.K[96]=vc(a,a.P,a.N);a.K[64]=vc(a,2*a.P,a.N);a.K[32]=a.K[0]=vc(a,2*a.P,2*a.N)} function sc(a,b,c,d){if(d)a.I("Unable to load font ROM (error "+d+": "+b+")");else{Fa(a.Ra,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){t("Empty font ROM: "+b);return}if(1==f.length){t(f[0]);return}if(2048==f.length)uc(a,f);else{a.I("Unrecognized font data length ("+f.length+")");return}}catch(h){a.I("Font ROM data error: "+h.message);return}(a.f||a.K)&&F(a)}}
function vc(a,b,c){var d=8>=a.sb?8:16,e=8<d?15:0,f=a.Oa.length/d,h={P:b,N:c};h.canvas=document.createElement("canvas");h.canvas.width=16*b;h.canvas.height=f/16*c;h.context=h.canvas.getContext("2d");for(var g=h.context.createImageData(b,c),l=0;l<f;l++){for(var k=0,r=k;k<a.N;k++)for(var q=a.Oa[l*d+(e+k&d-1)],y=0;y<c/a.N;y++){for(var w=0,z=w;w<a.P;w++)for(var R=q&128>>(7<w?7:w),A=0;A<b/a.P;A++)wc(a,g,z,r,R?1:0),z++;r++}h.context.putImageData(g,(l&15)*b,(l>>4)*c)}return h}oc.prototype.aa=function(){return!0}; function uc(a,b){a.Oa=b;a.L[96]=[vc(a,a.M,a.J),vc(a,a.M,a.J,a.Qa)];a.L[64]=[vc(a,2*a.M,a.J),vc(a,2*a.M,a.J,a.Qa)];a.L[32]=a.L[0]=[vc(a,2*a.M,2*a.J),vc(a,2*a.M,2*a.J,a.Qa)]}
oc.prototype.R=function(a,b,c){var d=this;switch(b){case "fullScreen":return this.B[b]=c,this.b&&this.b.la?c.onclick=function(){d.la()}:c.parentNode.removeChild(c),!0}return!1}; function vc(a,b,c,d){var e=8>=a.ub?8:16,f=8<e?15:0,h=a.Oa.length/e;d=!1===d;var g={M:b,J:c};g.canvas=document.createElement("canvas");g.canvas.width=16*b;g.canvas.height=h/16*c;g.context=g.canvas.getContext("2d");for(var l=g.context.createImageData(b,c),k=0;k<h;k++){for(var r=0,q=r;r<a.J;r++)for(var D=a.Oa[k*e+(f+r&e-1)],A=0;A<c/a.J;A++){for(var v=0,N=v;v<a.M;v++)for(var x=D&128>>(7<v?7:v),y=0;y<b/a.M;y++)d&&(x=!x),wc(a,l,N,q,x?1:0),N++;q++}g.context.putImageData(l,(k&15)*b,(k>>4)*c)}return g}
oc.prototype.la=function(){var a=!1;if(this.b){if(this.b.la){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.s/this.m;b>c&&(a=Math.round(c/b*100)+"%")}this.$a?(this.l.style.width=a,this.l.style.width=a,this.l.style.display="block",this.l.style.margin="auto"):(this.b.style.width=a,this.b.style.height="auto");this.b.style.backgroundColor="black";this.b.la();a=!0}this.W&&this.W.focus()}return a}; oc.prototype.aa=function(){return!0};oc.prototype.R=function(a,b,c){var d=this;switch(b){case "fullScreen":return this.B[b]=c,this.b&&this.b.la?c.onclick=function(){d.la()}:c.parentNode.removeChild(c),!0}return!1};
function rc(a,b){!b&&a.b&&(a.$a?a.l.style.width=a.l.style.height="":a.b.style.width=a.b.style.height="")}function tc(a,b){a.bb=b;a.U=!1;if(void 0===a.H||a.H.length!=a.bb)a.H=Array(a.bb)}function wc(a,b,c,d,e){d=a.c?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.C&&(208<=c&&236>c?e=a.Y+0:28<=c&&72>c&&(e=a.Y+1));a=a.L[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]} oc.prototype.la=function(){var a=!1;if(this.b){if(this.b.la){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.s/this.m;b>c&&(a=Math.round(c/b*100)+"%")}this.Xa?(this.l.style.width=a,this.l.style.width=a,this.l.style.display="block",this.l.style.margin="auto"):(this.b.style.width=a,this.b.style.height="auto");this.b.style.backgroundColor="black";this.b.la();a=!0}this.W&&this.W.focus()}return a};
ta(function(){for(var a=D(document,"pc8080","video"),b=0;b<a.length;b++){var c=a[b],d=C(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, function rc(a,b){!b&&a.b&&(a.Xa?a.l.style.width=a.l.style.height="":a.b.style.width=a.b.style.height="")}function tc(a,b){a.cb=b;a.U=!1;if(void 0===a.H||a.H.length!=a.cb)a.H=Array(a.cb)}function wc(a,b,c,d,e){d=a.c?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.C&&(208<=c&&236>c?e=a.Y+0:28<=c&&72>c&&(e=a.Y+1));a=a.N[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]}
ta(function(){for(var a=E(document,"pc8080","video"),b=0;b<a.length;b++){var c=a[b],d=C(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||ya.aspect);f&&.3<=f&&3.33>=f&&(sa("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");oa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new oc(d,e,h,f,c);Ha(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||ya.aspect);f&&.3<=f&&3.33>=f&&(sa("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");oa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new oc(d,e,h,f,c);Ha(d,c)}});
function J(a,b,c){this.id=a.id;this.key=xc(a,b,c);this.J=a.J;yc(this,a.ob)}function xc(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 J(a,b,c){this.id=a.id;this.key=xc(a,b,c);this.K=a.K;yc(this,a.pb)}function xc(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
J.prototype={constructor:J,value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){yc(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}}}; J.prototype={constructor:J,value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){yc(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 yc(a,b){a[a.id]={};b&&K(a,"parms",b);a.a=!1}function zc(a){var b=!0;if(la()){var c=JSON.stringify(a[a.id]);na(a.key,c)||(t("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Ac(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){t(c.message||c),b=!1}return b}function Bc(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:la()&&(b=ma(a.key))?(a[a.id]=b,a.a=!0):!1}function Cc(a,b){return a[a.id][b]||null}function K(a,b,c){try{a[a.id][b]=c}catch(d){}} function yc(a,b){a[a.id]={};b&&K(a,"parms",b);a.a=!1}function zc(a){var b=!0;if(la()){var c=JSON.stringify(a[a.id]);na(a.key,c)||(t("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Ac(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){t(c.message||c),b=!1}return b}function Bc(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:la()&&(b=ma(a.key))?(a[a.id]=b,a.a=!0):!1}function Cc(a,b){return a[a.id][b]||null}function K(a,b,c){try{a[a.id][b]=c}catch(d){}}
function Dc(a,b,c){u.call(this,"Computer",a,Dc);this.h.O=!1;Ec(this,b);this.G=ob(this,"autoPower",a);this.f=0;this.K=a.busWidth||a.buswidth;this.b=Fc;this.s=null;this.l=this.H=!1;this.L=ob(this,"url")||"";(Math.random()+.1).toString(36);this.c=Gc(this);if(this.a=Ga("CPU",this.id)){this.J=Ga("Debugger",this.id);this.j=[];for(b=null;b=Na(this,"Video",b);)this.j.push(b);this.o=new Pa({id:this.Qa+".bus",busWidth:this.K},this.a,this.J);var d,e=B(this.id);if((this.g=Ga("Panel",this.id))&&this.g.ea)for(b= function Dc(a,b,c){u.call(this,"Computer",a,Dc);this.h.P=!1;Ec(this,b);this.G=ob(this,"autoPower",a);this.f=0;this.L=a.busWidth||a.buswidth;this.b=Fc;this.s=null;this.l=this.H=!1;this.N=ob(this,"url")||"";(Math.random()+.1).toString(36);this.c=Gc(this);if(this.a=Ga("CPU",this.id)){this.K=Ga("Debugger",this.id);this.j=[];for(b=null;b=Na(this,"Video",b);)this.j.push(b);this.o=new Pa({id:this.Ra+".bus",busWidth:this.L},this.a,this.K);var d,e=B(this.id);if((this.g=Ga("Panel",this.id))&&this.g.ea)for(b=
0;b<e.length;b++)d=e[b],d.I=this.g.I,d.V=this.g.V,d.ea=this.g.ea;this.V("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.fa&&d.fa(this,this.o,this.a,this.J);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.u=d:this.b=parseInt(d,10));var f;if(a=ob(this,"state")||(f=!0,a.state))b=this.C=a,f||(this.l=!0,this.b=Fc),this.b&&(this.A=new J(this,"1.23.3"),Bc(this.A)?b=null:delete this.A); 0;b<e.length;b++)d=e[b],d.I=this.g.I,d.V=this.g.V,d.ea=this.g.ea;this.V("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.fa&&d.fa(this,this.o,this.a,this.K);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.u=d:this.b=parseInt(d,10));var f;if(a=ob(this,"state")||(f=!0,a.state))b=this.C=a,f||(this.l=!0,this.b=Fc),this.b&&(this.A=new J(this,"1.23.3"),Bc(this.A)?b=null:delete this.A);
!b&&this.b&&(b=Hc(this))&&(this.l=!0);if(b){var h=this;p(b,null,!0,function(a,b,c){c?(h.u=null,h.l=!1,h.I("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(h.s=b,h.H=!0);F(h)})}else F(this);this.B.power||(this.G=!0);!c&&this.G&&Ic(this,this.Aa)}else t("Unable to find CPU component")}x(Dc);var Fc=0; !b&&this.b&&(b=Hc(this))&&(this.l=!0);if(b){var h=this;p(b,null,!0,function(a,b,c){c?(h.u=null,h.l=!1,h.I("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(h.s=b,h.H=!0);F(h)})}else F(this);this.B.power||(this.G=!0);!c&&this.G&&Ic(this,this.Aa)}else t("Unable to find CPU component")}z(Dc);var Fc=0;
function Ec(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){t(d.message+" ("+c+")")}}a.m=b}function ob(a,b,c){var d=b.toLowerCase(),d=ya[b]||ya[d];void 0===d&&a.m&&(d=a.m[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Ic(a,b,c){for(var d=B(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ja(f)){Ja(f,function(){Ic(a,b,c)});return}}b.call(a,c)} function Ec(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){t(d.message+" ("+c+")")}}a.m=b}function ob(a,b,c){var d=b.toLowerCase(),d=ya[b]||ya[d];void 0===d&&a.m&&(d=a.m[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Ic(a,b,c){for(var d=B(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ja(f)){Ja(f,function(){Ic(a,b,c)});return}}b.call(a,c)}
function Jc(a,b){var c=new J(a,"1.23.3","validate");if(Bc(c)&&Ac(c)){var d=Cc(c,"timestamp"),e=b?Cc(b,"timestamp"):"unknown";d!=e&&(a.I("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=Dc.prototype; function Jc(a,b){var c=new J(a,"1.23.3","validate");if(Bc(c)&&Ac(c)){var d=Cc(c,"timestamp"),e=b?Cc(b,"timestamp"):"unknown";d!=e&&(a.I("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=Dc.prototype;
m.Aa=function(a){void 0===a&&(a=this.b||(this.s?1:Fc));if(!this.f){this.f++;var b=!1,c=!1;this.D=!1;var d=this.A||new J(this,"1.23.3");if(-1==a)b=!0;else if(a>Fc){if(Bc(d,this.s)){this.i=new J(this,"1.23.3","failsafe");Bc(this.i)&&(Kc(this,d),a=2,yc(this.i));K(this.i,"timestamp",ha());zc(this.i);var e=this.b&&!this.l;if(1==a||ja("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=Ac(d)){var f=Cc(d,"code"),h=Cc(d,"data");f&&("ok"==f?Bc(d,h):("error"==f&& m.Aa=function(a){void 0===a&&(a=this.b||(this.s?1:Fc));if(!this.f){this.f++;var b=!1,c=!1;this.D=!1;var d=this.A||new J(this,"1.23.3");if(-1==a)b=!0;else if(a>Fc){if(Bc(d,this.s)){this.i=new J(this,"1.23.3","failsafe");Bc(this.i)&&(Kc(this,d),a=2,yc(this.i));K(this.i,"timestamp",ha());zc(this.i);var e=this.b&&!this.l;if(1==a||ja("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=Ac(d)){var f=Cc(d,"code"),h=Cc(d,"data");f&&("ok"==f?Bc(d,h):("error"==f&&
"no machine state"!=h?(this.I("Error: "+h),"unable to verify user"==h&&(na("user",""),this.c=null)):this.V(f+": "+h),yc(d),Bc(d)?(c=Ac(d),e=!0):c=!1))}e&&Jc(this,c?d:null)}else 2==a&&d.clear()}else Jc(this);delete this.s;delete this.A}e=B(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.a&&(c=Lc(this,h,d,b,c));b=[d,a,c];-1!=a?Ic(this,this.fb,b):this.fb(b)}}; "no machine state"!=h?(this.I("Error: "+h),"unable to verify user"==h&&(na("user",""),this.c=null)):this.V(f+": "+h),yc(d),Bc(d)?(c=Ac(d),e=!0):c=!1))}e&&Jc(this,c?d:null)}else 2==a&&d.clear()}else Jc(this);delete this.s;delete this.A}e=B(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.a&&(c=Lc(this,h,d,b,c));b=[d,a,c];-1!=a?Ic(this,this.fb,b):this.fb(b)}};
function Lc(a,b,c,d,e){if(!b.h.O){b.h.O=!0;if(b.aa){var f=null;e&&((f=Cc(c,b.id))||(f=Cc(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.aa(f,d)&&f&&(t("Unable to restore state for "+b.type),a.C&&!a.H?(c.clear(),a.b=Fc,window&&window.location.reload()):a.D=!0,b.aa(null),e=!1)}if(!d&&b.Xa)for(a=b.Xa.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e} function Lc(a,b,c,d,e){if(!b.h.P){b.h.P=!0;if(b.aa){var f=null;e&&((f=Cc(c,b.id))||(f=Cc(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.aa(f,d)&&f&&(t("Unable to restore state for "+b.type),a.C&&!a.H?(c.clear(),a.b=Fc,window&&window.location.reload()):a.D=!0,b.aa(null),e=!1)}if(!d&&b.Ya)for(a=b.Ya.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
m.fb=function(a){var b=a[0],c=0>a[1];a=a[2];this.M=!0;this.h.O=!0;var d=this.B.power;d&&(d.textContent="Shutdown");this.a&&(Lc(this,this.a,b,c,a),sb(this.a));this.D&&(Kc(this,b),b.clear());!c&&this.i&&(this.i.clear(),delete this.i);this.f=0}; m.fb=function(a){var b=a[0],c=0>a[1];a=a[2];this.O=!0;this.h.P=!0;var d=this.B.power;d&&(d.textContent="Shutdown");this.a&&(Lc(this,this.a,b,c,a),sb(this.a));this.D&&(Kc(this,b),b.clear());!c&&this.i&&(this.i.clear(),delete this.i);this.f=0};
function Kc(a,b){if(ja("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.c||"",d=b.toString(),e={app:"PC8080",ver:"1.23.3"};e.url=a.L;e.user=c;e.type="bug";e.data=d;p("http://www.pcjs.org/api/v1/report",e,!0)}} function Kc(a,b){if(ja("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.c||"",d=b.toString(),e={app:"PC8080",ver:"1.23.3"};e.url=a.N;e.user=c;e.type="bug";e.data=d;p("http://www.pcjs.org/api/v1/report",e,!0)}}
function Mc(a,b,c){var d,e="none";if(a.f)return null;a.f--;var f=new J(a,"1.23.3"),h=new J(a,"1.23.3","validate"),g=ha();K(h,"timestamp",g);K(f,"timestamp",g);K(f,"version","1.23.3");K(f,"url",window?window.location.href:null);K(f,"browser",window?window.navigator.userAgent:"");a.a&&a.a.ca&&(c&&tb(a.a),d=a.a.ca(b,c),"object"===typeof d&&K(f,a.a.id,d),c&&(a.a.h.O=!1,!1===d&&(e=null)));for(var g=B(a.id),l=0;l<g.length;l++){var k=g[l];k.h.O&&(k.ca&&(d=k.ca(b,c),"object"===typeof d&&K(f,k.id,d)),c&&(k.h.O= function Mc(a,b,c){var d,e="none";if(a.f)return null;a.f--;var f=new J(a,"1.23.3"),h=new J(a,"1.23.3","validate"),g=ha();K(h,"timestamp",g);K(f,"timestamp",g);K(f,"version","1.23.3");K(f,"url",window?window.location.href:null);K(f,"browser",window?window.navigator.userAgent:"");a.a&&a.a.ca&&(c&&tb(a.a),d=a.a.ca(b,c),"object"===typeof d&&K(f,a.a.id,d),c&&(a.a.h.P=!1,!1===d&&(e=null)));for(var g=B(a.id),l=0;l<g.length;l++){var k=g[l];k.h.P&&(k.ca&&(d=k.ca(b,c),"object"===typeof d&&K(f,k.id,d)),c&&(k.h.P=
!1,!1===d&&(e=null)))}e&&(c?(g=d=!1,b?(a.c&&Nc(a,a.c,f.toString()),zc(h)&&zc(f)||(e=null,d=g=!0)):a.b&&(d=!0,g=3==a.b),d&&f.clear(g)):e=f.toString());c&&(a.h.O=!1,b=a.B.power)&&(b.textContent="Power");a.f=0;return e}m.reset=function(){this.o&&this.o.reset&&this.o.reset();for(var a=B(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.o&&c.reset&&c.reset()}};m.start=function(a,b){for(var c=B(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}}; !1,!1===d&&(e=null)))}e&&(c?(g=d=!1,b?(a.c&&Nc(a,a.c,f.toString()),zc(h)&&zc(f)||(e=null,d=g=!0)):a.b&&(d=!0,g=3==a.b),d&&f.clear(g)):e=f.toString());c&&(a.h.P=!1,b=a.B.power)&&(b.textContent="Power");a.f=0;return e}m.reset=function(){this.o&&this.o.reset&&this.o.reset();for(var a=B(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.o&&c.reset&&c.reset()}};m.start=function(a,b){for(var c=B(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=B(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}}; m.stop=function(a,b){for(var c=B(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
m.R=function(a,b,c){var d=this;switch(b){case "power":return this.B[b]=c,c.onclick=function(){d.f||(d.h.O?Mc(d,!1,!0):Ic(d,d.Aa))},!0;case "reset":return this.B[b]=c,c.onclick=function(){if(d.h.O&&!d.f)if(d.b&&!d.u){var a=ja("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Mc(d,a,!0);!a&&d.C?window&&window.location.reload():d.Aa(Fc)}else d.reset(),d.a&&sb(d.a)},!0;case "save":if(da(ia(),"pcjs.org")){c.parentNode.removeChild(c);break}this.B[b]= m.R=function(a,b,c){var d=this;switch(b){case "power":return this.B[b]=c,c.onclick=function(){d.f||(d.h.P?Mc(d,!1,!0):Ic(d,d.Aa))},!0;case "reset":return this.B[b]=c,c.onclick=function(){if(d.h.P&&!d.f)if(d.b&&!d.u){var a=ja("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Mc(d,a,!0);!a&&d.C?window&&window.location.reload():d.Aa(Fc)}else d.reset(),d.a&&sb(d.a)},!0;case "save":if(da(ia(),"pcjs.org")){c.parentNode.removeChild(c);break}this.B[b]=
c;c.onclick=function(){var a=Gc(d,!0);if(a){var b=!!(d.b&&!d.u||d.C),c=Mc(d,b);b?Nc(d,a,c):d.I("Resume disabled, machine state not saved")}};return!0}return!1}; c;c.onclick=function(){var a=Gc(d,!0);if(a){var b=!!(d.b&&!d.u||d.C),c=Mc(d,b);b?Nc(d,a,c):d.I("Resume disabled, machine state not saved")}};return!0}return!1};
function Gc(a,b){var c=a.c;c||(c=ma("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=Oc(a,c))||a.I("The user ID is invalid."))):b&&a.I("Browser local storage is not available"));return c} function Gc(a,b){var c=a.c;c||(c=ma("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=Oc(a,c))||a.I("The user ID is invalid."))):b&&a.I("Browser local storage is not available"));return c}
function Oc(a,b){a.c=null;var c=p(ia()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(na("user",c.data),a.c=c.data)}catch(e){t(e.message+" ("+d+")")}return a.c}function Hc(a){var b=null;a.c&&(b=ia()+"/api/v1/user?req=load&user="+a.c+"&state="+xc(a,"1.23.3"));return b} function Oc(a,b){a.c=null;var c=p(ia()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(na("user",c.data),a.c=c.data)}catch(e){t(e.message+" ("+d+")")}return a.c}function Hc(a){var b=null;a.c&&(b=ia()+"/api/v1/user?req=load&user="+a.c+"&state="+xc(a,"1.23.3"));return b}
function Nc(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=xc(a,"1.23.3");d.data=c;b=p(ia()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.I("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.I(c),na("user",""),a.c=null)}} function Nc(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=xc(a,"1.23.3");d.data=c;b=p(ia()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.I("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.I(c),na("user",""),a.c=null)}}
function Na(a,b,c){a=B(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}function yb(a,b){if(a.j.length){var c=0,d=0;b&&window&&(c=window.scrollX,d=window.scrollY);var e=a.j[0];e.W&&e.W.focus();b&&window&&window.scrollTo(c,d)}}m.ja=function(a){this.a&&this.a.ja(a);this.g&&this.g.ja(a)}; function Na(a,b,c){a=B(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}function yb(a,b){if(a.j.length){var c=0,d=0;b&&window&&(c=window.scrollX,d=window.scrollY);var e=a.j[0];e.W&&e.W.focus();b&&window&&window.scrollTo(c,d)}}m.ja=function(a){this.a&&this.a.ja(a);this.g&&this.g.ja(a)};
function zb(a,b){for(var c=0;c<a.j.length;c++){var d=a.j[c],e=!0;if(0<=b){if(d.eb)if(b&1)e=d.a,e.D=e.D&-8|10,e=!1;else{var f=d.a;f.D=f.D&-8|9}if(f=e&&d.U){for(var f=d.o,h=d.Ea,g=!0,l=d.T>>>f.c;0<h&&l<f.b.length;)f.b[l].Z&&(f.b[l].Z=g=!1,f.b[l].hb=!0),h-=f.o,l++;f=g}f&&(e=!1)}if(e)if(1<d.P)switch(d.C){case 2:for(var k=d.T,e=-1,f=0,h=60==d.Cb?2:5,l=g=0;f<d.ba;){for(var r=0,q=k,y=e;;){var w=Ua(d.o,q++);if(127==(w&127)){k=Ua(d.o,q++);e=k&96;k=d.T|(k&31)<<8|Ua(d.o,q);break}if(r<d.M.length)d.M[r++]=w;else break}if(h)h--; function zb(a,b){for(var c=0;c<a.j.length;c++){var d=a.j[c],e=!0;if(0<=b){if(d.gb)if(b&1)e=d.a,e.D=e.D&-8|10,e=!1;else{var f=d.a;f.D=f.D&-8|9}if(f=e&&d.U){for(var f=d.o,h=d.Ea,g=!0,l=d.T>>>f.c;0<h&&l<f.b.length;)f.b[l].Z&&(f.b[l].Z=g=!1,f.b[l].ib=!0),h-=f.o,l++;f=g}f&&(e=!1)}if(e)if(1<d.M)switch(d.C){case 2:for(var k=d.T,e=-1,f=0,h=60==d.Db?2:5,l=g=0;f<d.ba;){for(var r=0,q=k,D=e;;){var A=Ua(d.o,q++);if(127==(A&127)){k=Ua(d.o,q++);e=k&96;k=d.T|(k&31)<<8|Ua(d.o,q);break}if(r<d.O.length)d.O[r++]=A;else break}if(h)h--;
else{for(;r<d.M.length;)d.M[r++]=0;for(q=0;q<r;q++){w=d.M[q];if(!d.U||w!==d.H[g]){var z=d,R=d.Pa,A=w&127;if(w=z.K[y]){var E=(A&15)*w.P,A=(A>>4)*w.N,G=void 0,N=void 0,Aa=void 0,ab=void 0,nc=w.P,Db=w.N;R?(G=q*z.P,N=f*z.N,Aa=z.P,ab=z.N):(G=q*z.Ya,N=f*z.Za,Aa=z.Ya,ab=z.Za);w.P>z.P&&(G*=2,Aa*=2);w.N>z.N&&(0==y&&(A+=z.N),Db=z.N);R?R.drawImage(w.canvas,E,A,nc,Db,G,N,Aa,ab):(G+=0,N+=0,z.f.drawImage(w.canvas,E,A,nc,Db,G,N,Aa,ab))}l++}g++}f++}}d.U=!0;l&&d.Pa&&d.f.drawImage(d.j,0,0,d.i,d.A-d.N,0,0,d.ub,d.vb)}else{g= else{for(;r<d.O.length;)d.O[r++]=0;for(q=0;q<r;q++){A=d.O[q];if(!d.U||A!==d.H[g]){var v=d,N=d.Pa,x=A&127;if(A=v.L[D][A&128?1:0]){var y=(x&15)*A.M,x=(x>>4)*A.J,G=void 0,O=void 0,Ba=void 0,bb=void 0,nc=A.M,Db=A.J;N?(G=q*v.M,O=f*v.J,Ba=v.M,bb=v.J):(G=q*v.Za,O=f*v.$a,Ba=v.Za,bb=v.$a);A.M>v.M&&(G*=2,Ba*=2);A.J>v.J&&(0==D&&(x+=v.J),Db=v.J);N?N.drawImage(A.canvas,y,x,nc,Db,G,O,Ba,bb):(G+=0,O+=0,v.f.drawImage(A.canvas,y,x,nc,Db,G,O,Ba,bb))}l++}g++}f++}}d.U=!0;l&&d.Pa&&d.f.drawImage(d.j,0,0,d.i,d.A-d.J,0,
d.T;l=g+d.Ea;k=y=r=0;e=d.i;q=0;f=d.A;z=h=0;R=d.ka;w=(1<<R)-1;d.xb&&(R=-R,z=16+R);for(;g<l;){E=d.o;A=g;G=A&E.f;N=(A&E.g)>>>E.c;E=G!=E.f?E.b[N].pb(G,A):E.b[N++].Ma(G,A)|E.b[N&E.u].Ma(0,A+1)<<8;if(d.U&&E===d.H[r])y+=d.cb;else{d.H[r]=E;(A=z)&&(E=E>>8|(E&255)<<8);y<e&&(e=y);for(G=d.cb;G--;)N=E>>A&w,wc(d,d.ab,y++,k,N),A+=R;y>q&&(q=y);k<f&&(f=k);k>=h&&(h=k+1)}g+=2;r++;if(y>=d.i&&(y=0,k++,k>d.A))break}d.U=!0;e<d.i&&(g=q-e,h-=f,d.c&&(l=e,r=g,e=f,g=h,f=d.i-(l+r),h=r),d.Pa.putImageData(d.ab,0,0,e,f,g,h),d.f.drawImage(d.j, 0,d.vb,d.wb)}else{g=d.T;l=g+d.Ea;k=D=r=0;e=d.i;q=0;f=d.A;v=h=0;N=d.ka;A=(1<<N)-1;d.Cb&&(N=-N,v=16+N);for(;g<l;){y=d.o;x=g;G=x&y.f;O=(x&y.g)>>>y.c;y=G!=y.f?y.b[O].qb(G,x):y.b[O++].Ma(G,x)|y.b[O&y.u].Ma(0,x+1)<<8;if(d.U&&y===d.H[r])D+=d.eb;else{d.H[r]=y;(x=v)&&(y=y>>8|(y&255)<<8);D<e&&(e=D);for(G=d.eb;G--;)O=y>>x&A,wc(d,d.bb,D++,k,O),x+=N;D>q&&(q=D);k<f&&(f=k);k>=h&&(h=k+1)}g+=2;r++;if(D>=d.i&&(D=0,k++,k>d.A))break}d.U=!0;e<d.i&&(g=q-e,h-=f,d.c&&(l=e,r=g,e=f,g=h,f=d.i-(l+r),h=r),d.Pa.putImageData(d.bb,
0,0,d.j.width,d.j.height,0,0,d.s,d.m))}}}ta(function(){for(var a=D(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=C(c),c=D(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],h=C(f),h=new Dc(h,d,!0);Ha(h,f);h.G&&Ic(h,h.Aa)}});pa.show.push(function(){for(var a=D(document,"pc8080","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=Ga("Computer",c.id))&&c.M&&!c.h.O&&c.Aa(-1)}}); 0,0,e,f,g,h),d.f.drawImage(d.j,0,0,d.j.width,d.j.height,0,0,d.s,d.m))}}}ta(function(){for(var a=E(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=C(c),c=E(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],h=C(f),h=new Dc(h,d,!0);Ha(h,f);h.G&&Ic(h,h.Aa)}});pa.show.push(function(){for(var a=E(document,"pc8080","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=Ga("Computer",c.id))&&c.O&&!c.h.P&&c.Aa(-1)}});
pa.exit.push(function(){for(var a=D(document,"pc8080","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=Ga("Computer",c.id))&&c.h.O&&Mc(c,!(!c.b||c.u),!0)}});var Pc=0;function Qc(a,b,c,d,e,f){e("Loading "+a+"...");p(a,null,!0,function(h,g,l){l?(g||(g="unable to load "+a+" ("+l+")"),f(g,null)):Rc(g,a,b,c,d,e,f)})} pa.exit.push(function(){for(var a=E(document,"pc8080","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=Ga("Computer",c.id))&&c.h.P&&Mc(c,!(!c.b||c.u),!0)}});var Pc=0;function Qc(a,b,c,d,e,f){e("Loading "+a+"...");p(a,null,!0,function(h,g,l){l?(g||(g="unable to load "+a+" ("+l+")"),f(g,null)):Rc(g,a,b,c,d,e,f)})}
function Rc(a,b,c,d,e,f,h){function g(a,f){if(f)h(f,null);else{if(c){Fa(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 Rc(a,b,c,d,e,f,h){function g(a,f){if(f)h(f,null);else{if(c){Fa(c,b,a);var g=b;g&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+g+'"}';"object"==typeof resources&&(g=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pc8080$2"));
g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){g=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?e?Sc(a,f,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)} g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){g=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?e?Sc(a,f,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)}
function Sc(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");p(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=g[0],k,r=/( [a-z]+=)(['"])(.*?)\2/g;k=r.exec(f);)l=0>l.indexOf(k[1])?l.replace(">",k[0]+">"):l.replace(new RegExp(k[1]+"(['\"])(.*?)\\1"),k[0]);g[0]!=l&&(h=h.replace(g[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, function Sc(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");p(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=g[0],k,r=/( [a-z]+=)(['"])(.*?)\2/g;k=r.exec(f);)l=0>l.indexOf(k[1])?l.replace(">",k[0]+">"):l.replace(new RegExp(k[1]+"(['\"])(.*?)\\1"),k[0]);g[0]!=l&&(h=h.replace(g[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],h);Sc(a,b,c)}})}else c(a,null)} "");a=a.replace(d[0],h);Sc(a,b,c)}})}else c(a,null)}
function Tc(a,b,c,d){function e(a){if(void 0===g){var b=h&&D(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=fa(a))}function f(a){e("Error: "+a);l&&(--Pc||va(!0));l=!1}var h,g,l=!0;Pc++;Ea[a]={};try{if(h=document.getElementById(a)){var k;if("object"==typeof resources&&(k=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=k:q.appendChild(document.createTextNode(k));r.appendChild(q)}c|| function Tc(a,b,c,d){function e(a){if(void 0===g){var b=h&&E(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=fa(a))}function f(a){e("Error: "+a);l&&(--Pc||va(!0));l=!1}var h,g,l=!0;Pc++;Ea[a]={};try{if(h=document.getElementById(a)){var k;if("object"==typeof resources&&(k=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=k:q.appendChild(document.createTextNode(k));r.appendChild(q)}c||
(c="/versions/pc8080/1.23.3/components.xsl");k=function(d,g){g?Qc(c,null,null,!1,e,function(d,k){if(k)if(Fa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--Pc||va(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--Pc||va(!0)):f("invalid machine element: "+ (c="/versions/pc8080/1.23.3/components.xsl");k=function(d,g){g?Qc(c,null,null,!1,e,function(d,k){if(k)if(Fa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--Pc||va(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--Pc||va(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?Qc(b,a,d,!0,e,k):Rc(b,null,a,d,!1,e,k)}else f("missing machine element: "+a)}catch(y){f(y.message)}return l}window.embedPC8080=function(a,b,c,d){va(!1);return Tc(a,b,c,d)};window.enableEvents=va;window.sendEvent=wa; a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?Qc(b,a,d,!0,e,k):Rc(b,null,a,d,!1,e,k)}else f("missing machine element: "+a)}catch(D){f(D.message)}return l}window.embedPC8080=function(a,b,c,d){va(!1);return Tc(a,b,c,d)};window.enableEvents=va;window.sendEvent=wa;
function Uc(a,b,c,d){if(!c&&b){d.push(b);a=Ea[d[0]];b=null;for(var e in a)if(da(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?p(b,null,!0,function(a,b){Vc(b,d)}):Vc(null,d)}else t("Error ("+c+") requesting "+a)} function Uc(a,b,c,d){if(!c&&b){d.push(b);a=Ea[d[0]];b=null;for(var e in a)if(da(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?p(b,null,!0,function(a,b){Vc(b,d)}):Vc(null,d)}else t("Error ("+c+") requesting "+a)}
function Vc(a,b){var c,d,e,f=b[0],h=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var g=Ea[f],l={},k;for(k in g){var r=g[k],q=ca(k);if("xml"==q){for(q=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(g[k]);){var y=d[2];y&&(g[y]||(r=r.replace(d[0],"")))}d=k=ba(k)}else"xsl"==q&&(e=k=ba(k));l[k]=r}a&&(l[k="css"]=a);b[2]&&(l[k="parms"]=b[2]);b[3]&&(l[k="state"]=b[3]);d&&e?(k=JSON.stringify(l),h+=".js",c=c[1]+"var resources="+k+";"+c[2]+c[3],c=c.replace(/\u00A9/g, function Vc(a,b){var c,d,e,f=b[0],h=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var g=Ea[f],l={},k;for(k in g){var r=g[k],q=ca(k);if("xml"==q){for(q=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(g[k]);){var D=d[2];D&&(g[D]||(r=r.replace(d[0],"")))}d=k=ba(k)}else"xsl"==q&&(e=k=ba(k));l[k]=r}a&&(l[k="css"]=a);b[2]&&(l[k="parms"]=b[2]);b[3]&&(l[k="state"]=b[3]);d&&e?(k=JSON.stringify(l),h+=".js",c=c[1]+"var resources="+k+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
"&#xA9;"),k=h,g=null,l="data:application/javascript,",l=oa("Firefox")?l+encodeURIComponent(c):l+encodeURI(c),k&&(g=document.createElement("a"),"string"!=typeof g.download&&(g=null)),g?(g.href=l,g.download=k,document.body.appendChild(g),g.click(),document.body.removeChild(g),c="Check your Downloads folder for "+k+"."):(window.open(l),c="Check your browser for a new window/tab containing the requested data"+(k?" ("+k+")":"")+"."),c+=', copy it to your web server as "'+h+'", and then add the following to your web page:\n\n', "&#xA9;"),k=h,g=null,l="data:application/javascript,",l=oa("Firefox")?l+encodeURIComponent(c):l+encodeURI(c),k&&(g=document.createElement("a"),"string"!=typeof g.download&&(g=null)),g?(g.href=l,g.download=k,document.body.appendChild(g),g.click(),document.body.removeChild(g),c="Check your Downloads folder for "+k+"."):(window.open(l),c="Check your browser for a new window/tab containing the requested data"+(k?" ("+k+")":"")+"."),c+=', copy it to your web server as "'+h+'", and then add the following to your web page:\n\n',
c+='<div id="'+f+'"></div>\n',c+="...\n",c+='<script type="text/javascript" src="'+h+'">\x3c/script>\n',c+='<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n',c+="The machine should appear where the <div> is located.",t(c)):t("Missing XML/XSL resources")} c+='<div id="'+f+'"></div>\n',c+="...\n",c+='<script type="text/javascript" src="'+h+'">\x3c/script>\n',c+='<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n',c+="The machine should appear where the <div> is located.",t(c)):t("Missing XML/XSL resources")}
window.savePC=function(a,b,c){var d=Ga("Computer",a),e=Ga("Debugger",a);if(d){var f=Mc(d,!0),h=d.m?JSON.stringify(d.m):null;b||(b="/versions/pcjs/1.23.3/pc"+(e?"-dbg":"")+".js");if(c&&c({state:f,ob:h}))return!0;p(b,null,!0,function(c,d,e){Uc(c,d,e,[a,ba(b,!0),h,f])});return!0}t("Unable to identify machine '"+a+"'");return!1};})(); window.savePC=function(a,b,c){var d=Ga("Computer",a),e=Ga("Debugger",a);if(d){var f=Mc(d,!0),h=d.m?JSON.stringify(d.m):null;b||(b="/versions/pcjs/1.23.3/pc"+(e?"-dbg":"")+".js");if(c&&c({state:f,pb:h}))return!0;p(b,null,!0,function(c,d,e){Uc(c,d,e,[a,ba(b,!0),h,f])});return!0}t("Unable to identify machine '"+a+"'");return!1};})();