|
|
|
@ -1,221 +1,220 @@
|
|
|
|
(function(){var m;function aa(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}
|
|
|
|
(function(){var m;function 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 ba(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function ca(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}
|
|
|
|
function 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 da(a,b){return-1!==a.indexOf(b,a.length-b.length)}var ea={"&":"&","<":"<",">":">",'"':""","'":"'"};function fa(a){return a.replace(/[&<>"']/g,function(a){return ea[a]})}function ga(a,b){return(a+" ").slice(0,b)}function ha(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={"&":"&","<":"<",">":">",'"':""","'":"'"};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 ia(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 ja=Date.now||function(){return+new Date};function ka(){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 la(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c<d;c++)if(c in a&&a[c]===b)return c;return-1}
|
|
|
|
function ma(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c<d;c++)if(c in a&&a[c]===b)return c;return-1}
|
|
|
|
function ma(a,b,c,d){var e=0,f=null,h=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),h;var g=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(g.onreadystatechange=function(){4===g.readyState&&(f=g.responseText,200==g.status||!g.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=g.status||-1),d&&d(a,f,e))});if(b&&"object"==
|
|
|
|
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 na(){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 oa(){return window?window.navigator.userAgent:""}function w(a){window&&window.alert(a)}function pa(a){var b=!1;window&&(b=window.confirm(a));return b}var qa=null;function ra(){if(null==qa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}qa=a}return qa}
|
|
|
|
function 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 sa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function ya(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function za(a){if(window){var b=oa();return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Aa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
|
|
|
function 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 Ba(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}var Ca={init:[],show:[],exit:[]},Da=!1,Ia=!0;function Ja(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ka(a){Ca.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 La(a){if(Ia)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 Pa(a){!Ia&&a?(Ia=!0,Da&&Qa("init")):Ia=a}function Qa(a){Ca[a]&&La(Ca[a])}Ja("onload",function(){Da=!0;La(Ca.init)});Ja("onpageshow",function(){La(Ca.show)});Ja(za("Opera")||za("iOS")?"onunload":"onbeforeunload",function(){La(Ca.exit)});
|
|
|
|
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 y(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Pb=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={Za:!1,Wa:!1,Hb:!1,la:!1,Ya:!1};this.xb=null;this.A.Ya=!1;this.L={};this.G=null;this.ja=d||0;z.push(this)}var Ra=void 0,Sa={};
|
|
|
|
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={};
|
|
|
|
if(window){Ra||(Ra=window.location.search.substr(1));for(var Ta,Ua=/\+/g,Va=/([^&=]+)=?([^&]*)/g;Ta=Va.exec(Ra);)Sa[decodeURIComponent(Ta[1].replace(Ua," "))]=decodeURIComponent(Ta[2].replace(Ua," "))}function Wa(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 A(a,b){b||(b=y);a.prototype=Wa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var z=[],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<z.length;b++){var d=z[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<z.length;d++)if(c)c==z[d]&&(c=null);else if(!(a!=z[d].type||b&&z[d].id.indexOf(b)))return z[d]}return null}function B(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){w(c.message+" ("+a+")")}return b}
|
|
|
|
function ab(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=B(h))&&g.binding&&a.na(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.oa(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 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},na: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.wa=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},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),
|
|
|
|
this.ga=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)},ga:function(a,b){b||w(a)},Ga:function(){return this.A.la=!0},Fa:function(a,b){b&&(this.A.la=!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.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)}
|
|
|
|
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.Hb)return a.A.Wa&&(a.A.Wa=!1),a.A.Hb=!1;if(a.A.Ya)return a.g(a.toString()+" error"),!1;a.A.Wa=b;return a.A.Wa}function ib(a,b){a.A.Wa&&(b?a.A.Hb=!0:void 0===b&&a.g(a.toString()+" busy"));return a.A.Wa}function E(a){if(!a.A.Ya&&(a.A.Za=!0,a.A.Za)){var b=a.xb;a.xb=null;b&&b()}}function jb(a,b){b&&(a.A.Za?b():a.xb=b);return a.A.Za}function kb(a,b){a.A.Ya=!0;a.ga(b)}
|
|
|
|
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)}
|
|
|
|
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)}A(nb);m=nb.prototype;m.na=function(a,b,c,d){return this.u&&this.u.na(a,b,c,d)||this.b&&this.b.na(a,b,c,d)||this.pa&&this.pa.na(a,b,c,d)||this.G&&this.G.na(a,b,c,d)?!0:this.parent.na.call(this,a,b,c,d)};m.Ja=function(a,b,c,d){this.u=a;this.B=b;this.b=c;this.G=d;this.pa=ob(a,"Keyboard")};m.Ga=function(a,b){b||pb();return!0};m.Fa=function(){return!0};m.za=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.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(){};
|
|
|
|
function pb(){for(var a=!1,b=D(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=B(d),f;a:{f=e.id;if(void 0!==f)for(var h=void 0,h=0;h<z.length;h++)if(z[h].id===f){f=z[h];break a}f=null}f||(a=!0,f=new nb(e));ab(f,d);a&&E(f)}}Ka(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&&C(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.T=Math.pow(2,this.I);this.w=this.T-1|0;this.fa=16>=this.I?10:20>=this.I?12:24>=this.I?14:15;this.ya=1<<this.fa;this.X=this.ya>>2;this.B=this.ya-1;this.K=this.T/this.ya|0;this.J=this.K-1;this.u=[];this.C=[];this.F=this.H=!1;this.Z=[];this.ba=[];a=new F;rb(a,this.G);this.U=Array(this.K);for(b=0;b<this.K;b++)this.U[b]=a;E(this)}A(qb);m=qb.prototype;m.reset=function(){};m.Ga=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.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 sb(a,b,c,d){for(var e=b,f=c,h=e>>>a.fa;0<f&&h<a.U.length;){var g=a.U[h],l=h*a.ya,k=a.ya-(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.ya;f-=k;h++;continue}}return tb(1,e,f)}e=new F(e,k,a.ya,d);rb(e,a.G,g);a.U[h++]=e;e=l+a.ya;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.fa].gb(a&this.B,a)};
|
|
|
|
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 vb(a,b){return a.U[(b&a.w)>>>a.fa].sb(b&a.B,b)}m.La=function(a){var b=a&this.B,c=(a&this.w)>>>this.fa;return b!=this.B?this.U[c].bc(b,a):this.U[c++].gb(b,a)|this.U[c&this.J].gb(0,a+1)<<8};function wb(a,b){var c=b&a.B,d=(b&a.w)>>>a.fa;return c!=a.B?a.U[d].Mb(c,b):a.U[d++].sb(c,b)|a.U[d&a.J].sb(0,b+1)<<8}m.ka=function(a,b){this.U[(a&this.w)>>>this.fa].ib(a&this.B,b&255,a)};function xb(a,b,c){a.U[(b&a.w)>>>a.fa].vb(b&a.B,c&255,b)}
|
|
|
|
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)}
|
|
|
|
m.Db=function(a,b){var c=a&this.B,d=(a&this.w)>>>this.fa;c!=this.B?this.U[d].dc(c,b&65535,a):(this.U[d++].ib(c,b&255,a),this.U[d&this.J].ib(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.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]}
|
|
|
|
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 Mb;if(lb){var Nb=new ArrayBuffer(2);(new DataView(Nb)).setUint16(0,256,!0);Mb=256===(new Uint16Array(Nb))[0]}else Mb=!1;var Ob=Mb;
|
|
|
|
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 F(a,b,c,d){this.id=Pb+=2;this.b=null;this.D=a;this.ub=b;this.size=c||0;this.type=d||Qb;this.L=d==Rb;rb(this);this.Da=this.Sb=!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),Sb(this,Ob?Tb:Ub);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;Sb(this,Vb)}else Sb(this)}var Qb=0,Rb=2,ub=["NONE","RAM","ROM","VID","H/W"],Pb=0;
|
|
|
|
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;
|
|
|
|
F.prototype={constructor:F,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.Da=!0}return!1},Ma:function(a,b){b?0===this.C++&&Wb(this,Xb,!1):0===this.u++&&Yb(this,Xb,!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 %"+q(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)},T:function(a,b){return this.gb(a++,b++)|this.gb(a,b)<<8},I:function(a,b,c){this.ib(a++,b&255,c++);this.ib(a,b>>8,c)},ea:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},pa: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},va:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<<d)|b<<d;this.Da=!0},Ha: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 %"+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,
|
|
|
|
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.Da=!0},Z:function(a,b){if(this.G&&null!=this.D){var c=this.G;Zb(c,this.D+a,1,c.Z)&&c.da(!0)}return this.sb(a,b)},ia:function(a,b){if(this.G&&null!=this.D){var c=this.G;Zb(c,this.D+a,2,c.Z)&&c.da(!0)}return this.Mb(a,b)},sa:function(a,b,c){if(this.G&&null!=this.D){var d=this.G;Zb(d,this.D+a,1,d.H)&&d.da(!0)}this.L?this.w(a,b,c):this.vb(a,b,c)},Ba: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,c){if(this.G&&null!=this.D){var d=this.G;Zb(d,this.D+a,2,d.H)&&d.da(!0)}this.L?this.w(a,b,c):this.Nb(a,b,c)},X:function(a){return this.B[a]},ba:function(a){return this.B[a]},ha:function(a){return this.H.getUint16(a,!0)},oa:function(a){return a&1?this.B[a]|this.B[a+1]<<8:this.J[a>>1]},Ka:function(a,b){this.B[a]=b;this.Da=!0},ua:function(a,b){this.B[a]=b;this.Da=!0},Aa:function(a,b){this.H.setUint16(a,b,!0);this.Da=!0},Ca:function(a,b){a&1?(this.B[a]=b,this.B[a+1]=b>>8):this.J[a>>1]=b;this.Da=!0}};
|
|
|
|
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}};
|
|
|
|
function rb(a,b,c){a.G=b;a.u=a.C=0;c&&((a.u=c.u)&&Yb(a,Xb,!1),(a.C=c.C)&&Wb(a,Xb,!1))}function $b(a,b){b?0===--a.C&&(a.ib=a.L?a.w:a.vb,a.dc=a.L?a.I:a.Nb):0===--a.u&&(a.gb=a.sb,a.bc=a.Mb)}function Wb(a,b,c){c&&a.C||(a.ib=!a.L&&b[2]||a.w,a.dc=!a.L&&b[3]||a.I);if(c||void 0===c)a.vb=b[2]||a.w,a.Nb=b[3]||a.I}function Yb(a,b,c){c&&a.u||(a.gb=b[0]||a.K,a.bc=b[1]||a.T);if(c||void 0===c)a.sb=b[0]||a.K,a.Mb=b[1]||a.T}function Sb(a,b){b||(b=ac);Yb(a,b,void 0);Wb(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.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)}
|
|
|
|
var ac=[],Vb=[F.prototype.ea,F.prototype.pa,F.prototype.va,F.prototype.Ha],Xb=[F.prototype.Z,F.prototype.ia,F.prototype.sa,F.prototype.Ba];if(lb)var Ub=[F.prototype.X,F.prototype.ha,F.prototype.Ka,F.prototype.Aa],Tb=[F.prototype.ba,F.prototype.oa,F.prototype.ua,F.prototype.Ca];
|
|
|
|
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];
|
|
|
|
function bc(a,b){y.call(this,"CPU",a,bc,1);var c=a.cycles||b,d=a.multiplier||1;this.i={};this.i.fb=c;this.i.Cb=0;this.i.Ra=d;this.i.Jb=Math.round(this.i.fb/1E4)/100;this.i.Oa=this.i.Jb*this.i.Ra;this.A.qa=!1;this.A.Ib=!1;this.A.Rb=a.autoStart;this.A.Tb=!1;this.A.Xa=!1;this.i.mb=this.i.bb=0;this.i.nb=a.csStart;this.i.ab=a.csInterval;this.i.cb=a.csStop;this.Z=this.Sa.bind(this);E(this)}A(bc);var cc=["power","reset"];m=bc.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.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;
|
|
|
|
m.Ja=function(a,b,c,d){this.u=a;this.B=b;this.G=d;for(b=0;b<cc.length;b++)(c=this.L[cc[b]])&&this.u.na(null,cc[b],c);this.Ka=(b=ob(a,"Video"))&&Math.max(b.Ka,b.Vb)||60;this.C=ob(a,"ChipSet");a=dc(a,"autoStart");null!=a&&(this.A.Rb="true"==a?!0:"false"==a?!1:!!a);E(this)};m.reset=function(){this.i.Cb=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.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.Ga=function(a,b){if(!b){if(a&&this.restore){ec(this);if(!this.restore(a))return!1;fc(this)}else this.reset();if(this.G){var c=this.G;c.g("Type ? for help with PC8080 Debugger commands");c.za();if(c.Ha){var d=c.Ha;c.Ha=null;rc(c,d)}}else this.g("No debugger detected")}sc(this);return!0};m.Fa=function(a){return a?this.save():!0};function tc(a){(a.A.Rb||!a.G&&void 0===a.L.run)&&a.Sa(!0)}m.Ub=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;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};
|
|
|
|
function fc(a){void 0===a.i.nb&&(a.i.nb=0);void 0===a.i.ab&&(a.i.ab=-1);void 0===a.i.cb&&(a.i.cb=-1);a.A.Xa=0<=a.i.nb&&0<a.i.ab;a.A.Xa&&(a.i.mb=0,a.i.bb=a.i.nb-a.I)}function uc(a,b){if(a.A.Xa){var c=!1;a.i.mb=a.i.mb+a.Ub()|0;a.i.bb-=b;0>=a.i.bb&&(a.i.bb+=a.i.ab,c=!0);0<=a.i.cb&&a.i.cb<=vc(a)&&(a.i.ab=a.i.cb=-1,fc(a),a.da(),c=!0);c&&a.g(vc(a)+" cycles: checksum="+q(a.i.mb))}}
|
|
|
|
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))}}
|
|
|
|
m.na=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.la)a=!0;else{var b=null,c,g=Za(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.A.Za);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.A.la);c++);c==g.length&&(b=a);w("The "+b.type+" component ("+b.id+") is not "+(b.A.Za?"powered yet":"ready yet"+(b.xb?" (waiting for notification)":""))+".");a=!1}a&&(d.A.qa?d.da(!0):d.Sa(!0))};a=
|
|
|
|
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=
|
|
|
|
!0;break;case "speed":this.L[b]=c;a=!0;break;case "setSpeed":this.L[b]=c,c.onclick=function(){wc(d,d.i.Ra<<1,!0)},c.textContent=this.i.Oa.toFixed(2)+"Mhz",a=!0}return a};function xc(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 yc(a,b){var c=30;c<a.Ka&&(c=a.Ka);2>c&&(c=2);var d=1;b&&1<a.i.Ra&&a.i.Na&&(d=a.i.Na/a.i.Jb);a.i.Yb=Math.round(1E3/30);a.i.mc=Math.floor(a.i.fb/c*d);a.i.Kb=Math.floor(a.i.fb/30*d);a.i.$b=Math.floor(a.i.fb/a.Ka*d);a.i.Zb=Math.floor(a.i.fb/2*d);b||(a.i.eb=a.i.Kb,a.i.pb=a.i.$b,a.i.ob=a.i.Zb);a.i.Lb=0}function vc(a){return a.I+a.H+a.F-a.b}function ec(a){a.i.Na=0;a.I=a.H=a.F=a.b=0;fc(a);wc(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.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 wc(a,b,c){var d=!1;if(void 0!==b){.8>a.i.Na/a.i.Oa?b=1:d=!0;a.i.Ra=b;b=a.i.Jb*a.i.Ra;if(a.i.Oa!=b){a.i.Oa=b;b=a.i.Oa.toFixed(2)+"Mhz";var e=a.L.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.u&&a.u.tb()}xc(a,a.H);a.H=0;a.i.$a=ja();a.i.Qa=0;yc(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.sb()}yc(a,a.H);a.H=0;a.i.bb=ka();a.i.Sa=0;zc(a);return d}
|
|
|
|
m.Sa=function(a){if(hb(this,!0)){if(!this.A.qa){wc(this);this.u&&this.u.start(this.i.$a,vc(this));this.A.qa=!0;this.A.Ib=!0;this.C&&this.C.start();var b=this.L.run;b&&(b.textContent="Halt");this.u&&(this.u.za(!0),a&&this.u.tb(!0))}this.i.Lb>=this.i.fb&&yc(this,!0);this.i.qb=0;this.i.Bb=ja();this.i.Qa&&(a=this.i.Bb-this.i.Qa,a>this.i.Yb&&(this.i.$a+=a,this.i.$a>this.i.Bb&&(this.i.$a=this.i.Bb)));try{do{this.hb(this.A.Xa?1:this.i.mc);var c=this.F-this.b;this.H+=c;this.i.qb+=c;xc(this,0,!0);uc(this,
|
|
|
|
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,
|
|
|
|
c);this.i.pb-=c;0>=this.i.pb&&(this.i.pb+=this.i.$b,this.u&&zc(this.u,this.i.Cb++),this.i.Cb>this.Ka&&(this.i.Cb=0));this.i.ob-=c;0>=this.i.ob&&(this.i.ob+=this.i.Zb,this.u&&this.u.za());this.i.eb-=c;if(0>=this.i.eb){this.i.eb+=this.i.Kb;break}}while(this.A.qa)}catch(e){this.da();sc(this);this.u&&this.u.stop(ja(),vc(this));hb(this,!1);kb(this,e.stack||e.message);return}c=setTimeout;a=this.Z;this.i.Qa=ja();b=this.i.Yb;this.i.qb&&(b=Math.round(b*this.i.qb/this.i.Kb));var b=b-(this.i.Qa-this.i.Bb),d=
|
|
|
|
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=
|
|
|
|
this.i.Qa-this.i.$a;d&&(this.i.Na=Math.round(this.H/(10*d))/100,864E5<=d&&(this.I=0,wc(this)));if(0>b||this.i.Na<this.i.Oa)b=0;this.i.Lb+=this.i.qb;this.i.Qa+=b;c(a,b)}else sc(this),this.u&&this.u.stop(ja(),vc(this))};m.hb=function(){return 0};m.da=function(a){ib(this,!0);this.F-=this.b;this.b=0;xc(this,this.H);this.H=0;if(this.A.qa){this.A.qa=!1;this.C&&this.C.stop();var b=this.L.run;b&&(b.textContent="Run")}this.A.wb=a};function sc(a,b){a.u&&(zc(a.u,-1),a.u.za(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.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))}
|
|
|
|
function Ac(a){this.Pa=+a.model||8080;bc.call(this,a,1E6);this.K=Bc;ec(this);this.A.wb=this.A.gc=!1;this.X=0;this.J=[];this.T=0;Cc(this)}A(Ac,bc);function Dc(a,b){a.J.push(b)}m=Ac.prototype;m.reset=function(){this.A.qa&&this.da();Cc(this);ec(this);this.A.Ya=!1;this.parent.reset.call(this)};function Cc(a){a.j=0;a.N=0;a.O=0;a.P=0;a.R=0;a.S=0;a.V=0;a.ca=0;I(a,a.T);Ec(a,0);a.w=0}function Fc(a,b){a.T=b;I(a,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)}
|
|
|
|
m.Ub=function(){var a=this.j+this.N+this.O+this.P+this.R+this.S+this.V|0;return a=a+this.ca+this.M+Gc(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.da+this.M+Hc(this)|0};
|
|
|
|
m.save=function(){var a=new Hc(this);J(a,0,[this.j,this.N,this.O,this.P,this.R,this.S,this.V,this.ca,this.M,Gc(this)]);J(a,1,[this.w,this.I,this.i.Ra]);for(var b=this.B,c=0,d=[],e=0;e<b.K;e++){var f=b.U[e];if(f.Da||f.Sb){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}}J(a,2,d);return a.data()};
|
|
|
|
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.restore=function(a){var b=a[0];this.j=b[0];this.N=b[1];this.O=b[2];this.P=b[3];this.R=b[4];this.S=b[5];this.V=b[6];this.ca=b[7]&65535;I(this,b[8]);Ec(this,b[9]);b=a[1];this.w=b[0];this.I=b[1];wc(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.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.na=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.X++;d=!0;break;default:d=this.parent.na.call(this,a,b,c)}return d};function Ic(a){return a.N<<8|a.O}function Jc(a,b){a.N=b>>8&255;a.O=b&255}function Kc(a){return a.P<<8|a.R}function Lc(a,b){a.P=b>>8&255;a.R=b&255}function K(a){return a.S<<8|a.V}
|
|
|
|
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}
|
|
|
|
function Mc(a,b){a.S=b>>8&255;a.V=b&255}function I(a,b){a.M=b&65535}function L(a){return a.Y&256?1:0}function Nc(a,b){a.Y=a.Y&255|b}function Oc(a){return mb[a.aa&255]?4:0}function Pc(a){return(a.aa^a.ma)&16?16:0}function Qc(a){return a.Y&255?0:64}function Rc(a){return a.aa&128?128:0}function Gc(a){return a.ra&-214|Rc(a)|Qc(a)|Pc(a)|Oc(a)|L(a)}function Ec(a,b){a.Y=a.aa=a.ma=0;b&1&&(a.Y|=256);b&4||(a.aa|=1);b&16&&(a.ma|=16);b&64||(a.Y|=255);b&128&&(a.aa^=192);a.ra=a.ra&-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 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 Sc(a,b){a.ma=a.j^b;return a.aa=(a.Y=a.j+b)&255}function Tc(a,b){a.ma=a.j^b;return a.aa=(a.Y=a.j+b+(a.Y&256?1:0))&255}function Uc(a,b){a.Y=a.aa=a.ma=a.j&b;(a.j|b)&8&&(a.ma^=16);return a.Y}function Vc(a,b){a.ma=b^255;b=a.aa=b+255&255;a.Y=a.Y&-256|b;return b}function Wc(a,b){a.ma=b;b=a.aa=b+1&255;a.Y=a.Y&-256|b;return b}function Xc(a,b){return a.aa=a.Y=a.ma=a.j|b}function M(a,b){b^=255;a.ma=a.j^b;return a.aa=(a.Y=a.j+b+1^256)&255}
|
|
|
|
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 Yc(a,b){b^=255;a.ma=a.j^b;return a.aa=(a.Y=a.j+b+(a.Y&256?0:1)^256)&255}function qd(a,b){return a.aa=a.Y=a.ma=a.j^b}m.W=function(a){return this.B.W(a)};m.ka=function(a,b){this.B.ka(a,b)};function N(a){var b=a.W(a.M);I(a,a.M+1);return b}function O(a){var b=a.B.La(a.M);I(a,a.M+2);return b}function Q(a){var b=a.B.La(a.ca);a.ca=a.ca+2&65535;return b}function R(a,b){a.ca=a.ca-2&65535;a.B.Db(a.ca,b)}
|
|
|
|
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 S(a,b,c,d){d=d||2;a.L[b]&&(void 0===c&&(kb(a,"Value for "+b+" is invalid"),a.da()),c=!a.A.qa||a.A.Tb?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.ea()),c=!a.A.ra||a.A.Rb?q(c,d):"--------".substr(0,d),a.L[b].textContent!=c&&(a.L[b].textContent=c))}
|
|
|
|
m.za=function(a){this.X&&(a||!this.A.qa||this.A.Tb)&&(S(this,"A",this.j),S(this,"B",this.N),S(this,"C",this.O),S(this,"BC",Ic(this),4),S(this,"D",this.P),S(this,"E",this.R),S(this,"DE",Kc(this),4),S(this,"H",this.S),S(this,"L",this.V),S(this,"HL",K(this),4),S(this,"SP",this.ca,4),S(this,"PC",this.M,4),a=Gc(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.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=
|
|
|
|
this.A.qa&&this.i.Na?this.i.Na.toFixed(2)+"Mhz":"Stopped"};
|
|
|
|
this.A.ra&&this.i.Pa?this.i.Pa.toFixed(2)+"Mhz":"Stopped"};
|
|
|
|
m.hb=function(a){this.A.wb=!0;var b=this.A.gc=this.G&&rd(this.G),c=a?this.A.Ib?0:1:-1;this.A.Ib=!1;this.F=this.b=a;do{if(this.w){var d;this.w&8&&this.ra&512?(d=199|(this.w&7)<<3,this.w&=-16,this.ra&=-513,this.K[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(sd(this.G,this.M,c)){this.da();break}c=1}this.K[N(this)].call(this)}while(0<this.b);return this.A.wb?this.F-this.b:void 0===this.A.wb?0:-1};
|
|
|
|
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};
|
|
|
|
Ka(function(){for(var a=D(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Ac(d);ab(d,c)}});function td(){this.b-=4}function ud(){I(this,O(this));this.b-=10}function vd(){I(this,Q(this));this.b-=10}function wd(){var a=O(this);R(this,this.M);I(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 Bc=[td,function(){Jc(this,O(this));this.b-=10},function(){this.ka(Ic(this),this.j);this.b-=7},function(){Jc(this,Ic(this)+1);this.b-=5},function(){this.N=Wc(this,this.N);this.b-=5},function(){this.N=Vc(this,this.N);this.b-=5},function(){this.N=N(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255|a>>8;Nc(this,a&256);this.b-=4},td,function(){var a;Mc(this,a=K(this)+Ic(this));Nc(this,a>>8&256);this.b-=10},function(){this.j=this.W(Ic(this));this.b-=7},function(){Jc(this,Ic(this)-1);this.b-=
|
|
|
|
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-=
|
|
|
|
5},function(){this.O=Wc(this,this.O);this.b-=5},function(){this.O=Vc(this,this.O);this.b-=5},function(){this.O=N(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(a|this.j)>>1;Nc(this,a);this.b-=4},td,function(){Lc(this,O(this));this.b-=10},function(){this.ka(Kc(this),this.j);this.b-=7},function(){Lc(this,Kc(this)+1);this.b-=5},function(){this.P=Wc(this,this.P);this.b-=5},function(){this.P=Vc(this,this.P);this.b-=5},function(){this.P=N(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=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|
|
|
|
|
L(this);Nc(this,a&256);this.b-=4},td,function(){var a;Mc(this,a=K(this)+Kc(this));Nc(this,a>>8&256);this.b-=10},function(){this.j=this.W(Kc(this));this.b-=7},function(){Lc(this,Kc(this)-1);this.b-=5},function(){this.R=Wc(this,this.R);this.b-=5},function(){this.R=Vc(this,this.R);this.b-=5},function(){this.R=N(this);this.b-=7},function(){var a=this.j<<8;this.j=(L(this)<<8|this.j)>>1;Nc(this,a&256);this.b-=4},td,function(){Mc(this,O(this));this.b-=10},function(){var a=O(this);this.B.Db(a,K(this));this.b-=
|
|
|
|
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-=
|
|
|
|
16},function(){Mc(this,K(this)+1);this.b-=5},function(){this.S=Wc(this,this.S);this.b-=5},function(){this.S=Vc(this,this.S);this.b-=5},function(){this.S=N(this);this.b-=7},function(){var a=0,b=L(this);if(Pc(this)||9<(this.j&15))a|=6;if(b||154<=this.j)a|=96,b=1;this.j=Sc(this,a);Nc(this,b?256:0);this.b-=4},td,function(){var a;Mc(this,a=K(this)+K(this));Nc(this,a>>8&256);this.b-=10},function(){var a;a=O(this);a=this.B.La(a);Mc(this,a);this.b-=16},function(){Mc(this,K(this)-1);this.b-=5},function(){this.V=
|
|
|
|
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=
|
|
|
|
Wc(this,this.V);this.b-=5},function(){this.V=Vc(this,this.V);this.b-=5},function(){this.V=N(this);this.b-=7},function(){this.j=~this.j&255;this.b-=4},td,function(){this.ca=O(this)&65535;this.b-=10},function(){this.ka(O(this),this.j);this.b-=13},function(){this.ca=this.ca+1&65535;this.b-=5},function(){var a=K(this);this.ka(a,Wc(this,this.W(a)));this.b-=10},function(){var a=K(this);this.ka(a,Vc(this,this.W(a)));this.b-=10},function(){this.ka(K(this),N(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=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-=
|
|
|
|
4},td,function(){var a;Mc(this,a=K(this)+this.ca);Nc(this,a>>8&256);this.b-=10},function(){this.j=this.W(O(this));this.b-=13},function(){this.ca=this.ca-1&65535;this.b-=5},function(){this.j=Wc(this,this.j);this.b-=5},function(){this.j=Vc(this,this.j);this.b-=5},function(){this.j=N(this);this.b-=7},function(){Nc(this,L(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.N=this.O;this.b-=5},function(){this.N=this.P;this.b-=5},function(){this.N=this.R;this.b-=5},function(){this.N=this.S;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-=
|
|
|
|
5},function(){this.N=this.V;this.b-=5},function(){this.N=this.W(K(this));this.b-=7},function(){this.N=this.j;this.b-=5},function(){this.O=this.N;this.b-=5},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.V;this.b-=5},function(){this.O=this.W(K(this));this.b-=7},function(){this.O=this.j;this.b-=5},function(){this.P=this.N;this.b-=5},function(){this.P=this.O;this.b-=5},function(){this.b-=5},function(){this.P=
|
|
|
|
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=
|
|
|
|
this.R;this.b-=5},function(){this.P=this.S;this.b-=5},function(){this.P=this.V;this.b-=5},function(){this.P=this.W(K(this));this.b-=7},function(){this.P=this.j;this.b-=5},function(){this.R=this.N;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.V;this.b-=5},function(){this.R=this.W(K(this));this.b-=7},function(){this.R=this.j;this.b-=5},function(){this.S=this.N;this.b-=5},function(){this.S=
|
|
|
|
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.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.V;this.b-=5},function(){this.S=this.W(K(this));this.b-=7},function(){this.S=this.j;this.b-=5},function(){this.V=this.N;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.b-=5},function(){this.V=this.W(K(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(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.b-=5},function(){this.ka(K(this),this.N);this.b-=7},function(){this.ka(K(this),this.O);this.b-=7},function(){this.ka(K(this),this.P);this.b-=7},function(){this.ka(K(this),this.R);this.b-=7},function(){this.ka(K(this),this.S);this.b-=7},function(){this.ka(K(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)?(I(this,a),this.G.da()):this.ra&512||(this.G&&I(this,a),this.da())},
|
|
|
|
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())},
|
|
|
|
function(){this.ka(K(this),this.j);this.b-=7},function(){this.j=this.N;this.b-=5},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.V;this.b-=5},function(){this.j=this.W(K(this));this.b-=7},function(){this.b-=5},function(){this.j=Sc(this,this.N);this.b-=4},function(){this.j=Sc(this,this.O);this.b-=4},function(){this.j=Sc(this,this.P);this.b-=4},function(){this.j=Sc(this,this.R);this.b-=
|
|
|
|
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-=
|
|
|
|
4},function(){this.j=Sc(this,this.S);this.b-=4},function(){this.j=Sc(this,this.V);this.b-=4},function(){this.j=Sc(this,this.W(K(this)));this.b-=7},function(){this.j=Sc(this,this.j);this.b-=4},function(){this.j=Tc(this,this.N);this.b-=4},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.V);this.b-=4},function(){this.j=Tc(this,this.W(K(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(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)));
|
|
|
|
this.b-=7},function(){this.j=Tc(this,this.j);this.b-=4},function(){this.j=M(this,this.N);this.b-=4},function(){this.j=M(this,this.O);this.b-=4},function(){this.j=M(this,this.P);this.b-=4},function(){this.j=M(this,this.R);this.b-=4},function(){this.j=M(this,this.S);this.b-=4},function(){this.j=M(this,this.V);this.b-=4},function(){this.j=M(this,this.W(K(this)));this.b-=7},function(){this.j=M(this,this.j);this.b-=4},function(){this.j=Yc(this,this.N);this.b-=4},function(){this.j=Yc(this,this.O);this.b-=
|
|
|
|
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-=
|
|
|
|
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.V);this.b-=4},function(){this.j=Yc(this,this.W(K(this)));this.b-=7},function(){this.j=Yc(this,this.j);this.b-=4},function(){this.j=Uc(this,this.N);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=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=Uc(this,this.V);this.b-=4},function(){this.j=Uc(this,this.W(K(this)));this.b-=7},function(){this.j=Uc(this,this.j);this.b-=4},function(){this.j=qd(this,this.N);this.b-=4},function(){this.j=qd(this,this.O);this.b-=4},function(){this.j=qd(this,this.P);this.b-=4},function(){this.j=qd(this,this.R);this.b-=4},function(){this.j=qd(this,this.S);this.b-=4},function(){this.j=qd(this,this.V);this.b-=4},function(){this.j=qd(this,this.W(K(this)));this.b-=7},function(){this.j=qd(this,this.j);
|
|
|
|
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);
|
|
|
|
this.b-=4},function(){this.j=Xc(this,this.N);this.b-=4},function(){this.j=Xc(this,this.O);this.b-=4},function(){this.j=Xc(this,this.P);this.b-=4},function(){this.j=Xc(this,this.R);this.b-=4},function(){this.j=Xc(this,this.S);this.b-=4},function(){this.j=Xc(this,this.V);this.b-=4},function(){this.j=Xc(this,this.W(K(this)));this.b-=7},function(){this.j=Xc(this,this.j);this.b-=4},function(){M(this,this.N);this.b-=4},function(){M(this,this.O);this.b-=4},function(){M(this,this.P);this.b-=4},function(){M(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(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.R);this.b-=4},function(){M(this,this.S);this.b-=4},function(){M(this,this.V);this.b-=4},function(){M(this,this.W(K(this)));this.b-=7},function(){M(this,this.j);this.b-=4},function(){Qc(this)||(I(this,Q(this)),this.b-=6);this.b-=5},function(){Jc(this,Q(this));this.b-=10},function(){var a=O(this);Qc(this)||I(this,a);this.b-=10},ud,function(){var a=O(this);Qc(this)||(R(this,this.M),I(this,a),this.b-=6);this.b-=11},function(){R(this,Ic(this));this.b-=11},function(){this.j=Sc(this,N(this));this.b-=
|
|
|
|
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-=
|
|
|
|
7},function(){R(this,this.M);I(this,0);this.b-=11},function(){Qc(this)&&(I(this,Q(this)),this.b-=6);this.b-=5},vd,function(){var a=O(this);Qc(this)&&I(this,a);this.b-=10},ud,function(){var a=O(this);Qc(this)&&(R(this,this.M),I(this,a),this.b-=6);this.b-=11},wd,function(){this.j=Tc(this,N(this));this.b-=7},function(){R(this,this.M);I(this,8);this.b-=11},function(){L(this)||(I(this,Q(this)),this.b-=6);this.b-=5},function(){Lc(this,Q(this));this.b-=10},function(){var a=O(this);L(this)||I(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,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-=
|
|
|
|
10},function(){var a=N(this);Cb(this.B,a,this.j,this.M+-2&65535);this.b-=10},function(){var a=O(this);L(this)||(R(this,this.M),I(this,a),this.b-=6);this.b-=11},function(){R(this,Kc(this));this.b-=11},function(){this.j=M(this,N(this));this.b-=7},function(){R(this,this.M);I(this,16);this.b-=11},function(){L(this)&&(I(this,Q(this)),this.b-=6);this.b-=5},vd,function(){var a=O(this);L(this)&&I(this,a);this.b-=10},function(){var a=N(this);this.j=zb(this.B,a,this.M+-2&65535)&255;this.b-=10},function(){var a=
|
|
|
|
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=
|
|
|
|
O(this);L(this)&&(R(this,this.M),I(this,a),this.b-=6);this.b-=11},wd,function(){this.j=Yc(this,N(this));this.b-=7},function(){R(this,this.M);I(this,24);this.b-=11},function(){Oc(this)||(I(this,Q(this)),this.b-=6);this.b-=5},function(){Mc(this,Q(this));this.b-=10},function(){var a=O(this);Oc(this)||I(this,a);this.b-=10},function(){var a=Q(this);R(this,K(this));Mc(this,a);this.b-=18},function(){var a=O(this);Oc(this)||(R(this,this.M),I(this,a),this.b-=6);this.b-=11},function(){R(this,K(this));this.b-=
|
|
|
|
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-=
|
|
|
|
11},function(){this.j=Uc(this,N(this));this.b-=7},function(){R(this,this.M);I(this,32);this.b-=11},function(){Oc(this)&&(I(this,Q(this)),this.b-=6);this.b-=5},function(){I(this,K(this));this.b-=5},function(){var a=O(this);Oc(this)&&I(this,a);this.b-=10},function(){var a=K(this);Mc(this,Kc(this));Lc(this,a);this.b-=5},function(){var a=O(this);Oc(this)&&(R(this,this.M),I(this,a),this.b-=6);this.b-=11},wd,function(){this.j=qd(this,N(this));this.b-=7},function(){R(this,this.M);I(this,40);this.b-=11},
|
|
|
|
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},
|
|
|
|
function(){Rc(this)||(I(this,Q(this)),this.b-=6);this.b-=5},function(){var a=Q(this);Ec(this,a&255|this.ra&-256);this.j=a>>8;this.b-=10},function(){var a=O(this);Rc(this)||I(this,a);this.b-=10},function(){this.ra&=-513;this.b-=4},function(){var a=O(this);Rc(this)||(R(this,this.M),I(this,a),this.b-=6);this.b-=11},function(){R(this,Gc(this)&255|this.j<<8);this.b-=11},function(){this.j=Xc(this,N(this));this.b-=7},function(){R(this,this.M);I(this,48);this.b-=11},function(){Rc(this)&&(I(this,Q(this)),
|
|
|
|
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)),
|
|
|
|
this.b-=6);this.b-=5},function(){this.ca=K(this)&65535;this.b-=5},function(){var a=O(this);Rc(this)&&I(this,a);this.b-=10},function(){this.ra|=512;this.b-=4},function(){var a=O(this);Rc(this)&&(R(this,this.M),I(this,a),this.b-=6);this.b-=11},wd,function(){M(this,N(this));this.b-=7},function(){R(this,this.M);I(this,56);this.b-=11}];
|
|
|
|
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}];
|
|
|
|
function U(a){y.call(this,"ChipSet",a,U,32768);var b=a.model;b&&!xd[b]&&w("Unrecognized ChipSet model: "+b);this.Pa=xd[b]||yd;a.sound&&(this.T=null,window&&(this.T=window.AudioContext||window.webkitAudioContext),this.T&&new this.T);E(this)}A(U);var yd=1978.1,xd={SI1978:yd};m=U.prototype;m.na=function(){return!1};
|
|
|
|
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};
|
|
|
|
m.Ja=function(a,b,c,d){this.B=b;this.b=c;this.G=d;this.u=a;if(this.Pa==yd){var e;a=zd;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=Ad;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]?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.Ga=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.Fa=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 Hc(this);this.Pa==yd&&J(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.Pa==yd&&(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&&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(){};
|
|
|
|
function Bd(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.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};
|
|
|
|
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 zd={0:U.prototype.ic,1:U.prototype.jc,2:U.prototype.kc,3:U.prototype.hc},Ad={2:U.prototype.pc,3:U.prototype.rc,4:U.prototype.qc,5:U.prototype.sc,6:U.prototype.tc};Ka(function(){for(var a=D(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new U(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.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)}});
|
|
|
|
function Cd(a){y.call(this,"ROM",a,Cd);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=ba(this.F);if(this.F){a=this.F;var b=ca(this.J);"json"!=b&&"hex"!=b&&(a=na()+"/api/v1/dump?file="+this.F+"&format=bytes&decimal=true");var c=this;ma(a,null,!0,function(a,b,f){Dd(c,a,b,f)})}}A(Cd);var Ed=[0,5];Cd.prototype.Ja=function(a,b,c,d){this.B=b;this.b=c;this.G=d;Fd(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)};
|
|
|
|
Cd.prototype.Ga=function(){if(this.Ia){if(this.G){var a=this.G,b=this.id,c=this.H,d=this.C,e=this.Ia,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=ia(n,l,a.Ua);0>p&&n.splice(-(p+1),0,l)}k&&(g.a=k.replace(/''/g,'"'))}a.I.push({wc:b,D:c,lc:d,Ia:e,Ob:f})}delete this.Ia}return!0};Cd.prototype.Fa=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({Ac:b,D:c,lc:d,Ja:e,Nb:f})}delete this.Ja}return!0};Dd.prototype.Ha=function(){return!0};
|
|
|
|
function Dd(a,b,c,d){if(d)a.ga("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.Ia=e.symbols;if(!a.u.length){w("Empty ROM: "+b);return}if(1==a.u.length){w(a.u[0]);return}}catch(g){a.ga("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm,
|
|
|
|
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,
|
|
|
|
" ").replace(/ +$/,"").split(" "),a.u=Array(b.length),e=0;e<b.length;e++)a.u[e]=aa(b[e],16);Fd(a)}}
|
|
|
|
" ").replace(/ +$/,"").split(" "),a.u=Array(b.length),e=0;e<b.length;e++)a.u[e]=ba(b[e],16);Gd(a)}}
|
|
|
|
function Fd(a){if(!jb(a))if(!a.F)E(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(Gd(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.fa;0<h&&l<f.U.length;)g.push(f.U[l++]),h-=f.ya;f=d.B;d=d.C;h=0;for(e>>>=f.fa;0<d&&e<f.U.length;){l=g[h++];if(!l)break;f.U[e++]=l;d-=f.ya}}delete a.u}E(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,b){if(sb(a.B,b,a.C,a.I?1:Rb)){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<Ed.length;c++)xb(a.B,Ed[c],118);Dc(a.b,function(a){return function(b){if(0<=Ed.indexOf(b)){var c=!1,h=a.b,g=a.G;if(5==b)switch(c=!0,h.O){case 2:Hd(a,String.fromCharCode(h.R));break;case 9:for(var l=Kc(h),k="",n=255;n--;){var p=a.b.W(l++);if(36==p)break;k+=String.fromCharCode(p)}Hd(a,k);break;default:c=!1}c?vd.call(h):g&&(a.g("\nCP/M vector "+t(b)),I(h,b),g.da());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.ea());b=!0}else b=!1;return b}}(a));
|
|
|
|
Fc(a.b,b)}return!0}return!1}function Hd(a,b){b=b.replace(/\r/g,"");a.wa&&(a.wa.value+=b,a.wa.scrollTop=a.wa.scrollHeight)}Ka(function(){for(var a=D(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Cd(d);ab(d,c)}});function Id(a){y.call(this,"RAM",a,Id);this.w=a.addr;this.C=a.size;this.u=!1}A(Id);m=Id.prototype;m.Ja=function(a,b,c,d){this.B=b;this.b=c;this.G=d;E(this)};m.Ga=function(a,b){b||this.reset();return!0};m.Fa=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;C(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};Ka(function(){for(var a=D(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Id(d);ab(d,c)}});function Jd(a){y.call(this,"Keyboard",a,Jd,65536);this.reset();E(this)}A(Jd);var Kd={"1p":49,"2p":50,coin:51,left:37,right:39,fire:32},Ld={65:37,68:39,76:32};Jd.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||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={}};
|
|
|
|
Jd.prototype.na=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 Md(d,a,!0)},c.onkeyup=function(a){return Md(d,a,!1)},!0;default:if(void 0!==Kd[b])return this.L[a]=c,a=function(a,b){return function(){Nd(a,b,!0)}}(this,b),b=function(a,b){return function(){Nd(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.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};
|
|
|
|
Jd.prototype.Ja=function(a,b,c,d){this.G=d;this.C=ob(a,"ChipSet")};function Md(a,b,c){var d=!0,e;a:{e=b.keyCode;e=Ld[e]||e;for(var f in Kd)if(Kd[f]===e){e=f;break a}e=null}e&&(d=Nd(a,e,c));d||b.preventDefault();return d}function Nd(a,b,c){a.b[b]=c;if(a.C)switch(b){case "1p":Bd(a.C,4,c);break;case "2p":Bd(a.C,2,c);break;case "coin":Bd(a.C,1,c);break;case "left":Bd(a.C,32,c);break;case "right":Bd(a.C,64,c);break;case "fire":Bd(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}
|
|
|
|
Ka(function(){for(var a=D(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Jd(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 Od(a,b,c,d,e){var f=this;this.yb=za("Gecko/");var h=["","moz","ms","webkit"];y.call(this,"Video",a,Od,262144);this.ha=a.screenWidth;this.X=a.screenHeight;this.ea=a.bufferAddr;this.oc=a.bufferRAM;var g=a.bufferFormat;this.ua=g&&Pd[g.toLowerCase()]||Qd;this.Wb=a.bufferCols;this.Ua=a.bufferRows;this.nc=this.ta=a.cellWidth||1;this.xa=a.cellHeight||1;this.Ba=a.bufferBits||1;this.uc=a.bufferLeft||0;if(this.F=a.bufferRotate)this.F=this.F%360,0<this.F&&(this.F-=360),-90!=this.F&&(this.ga("unsupported buffer rotation: "+
|
|
|
|
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: "+
|
|
|
|
this.F),this.F=0);this.Vb=a.interruptRate;this.Ka=a.refreshRate||60;this.J=b;this.I=c;this.oa=(this.vc=d)||b||null;this.kb=this.ha/this.Wb|0;this.lb=this.X/this.Ua|0;b=a.smoothing;(c=Sa.smoothing)&&(b="true"==c);if(null!=b)for(c=0;c<h.length;c++)if(d=(d=h[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.I[d]){this.I[d]=b;break}if(this.H=a.screenRotate)this.H=this.H%360,0<this.H&&(this.H-=360),-90!=this.H?(this.ga("unsupported screen rotation: "+this.H),this.H=0):(this.I.translate(0,
|
|
|
|
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.X),this.I.rotate(this.H*Math.PI/180),this.I.scale(this.X/this.ha,this.ha/this.X));Rd(this);if(this.w=e)if(this.w.Va=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.w.Va){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=
|
|
|
|
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);
|
|
|
|
h[c]+"fullscreenerror","on"+d in document){document.addEventListener(d,function(){Sd(f,null)},!1);break}}if(this.Z=a.fontROM)"json"!=ca(this.Z)&&(this.Z=na()+"/api/v1/dump?file="+this.Z+"&format=bytes"),ma(this.Z,null,!0,function(a,b,c){Td(f,a,b,c)})}A(Od);var Qd=0,Pd={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.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};
|
|
|
|
function Rd(a){a.K=a.Wb*a.ta;a.ia=a.Ua*a.xa;var b=a.K,c=a.ia;a.F&&(b=a.ia,c=a.K);a.zb=a.I.createImageData(b,c);a.T=document.createElement("canvas");a.T.width=b;a.T.height=c;a.jb=a.T.getContext("2d");Ud(a);1<a.ta&&(a.Aa={},a.Ha=Array(132),a.Aa[0]=Vd(a,a.ta,a.xa),a.Aa[1]=Vd(a,2*a.ta,a.xa),a.Aa[2]=Vd(a,2*a.ta,2*a.xa))}
|
|
|
|
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"),
|
|
|
|
Od.prototype.Ja=function(a,b,c,d){this.u=a;this.B=b;this.b=c;this.G=d;this.ua||(this.C=ob(a,"ChipSet"))&&this.C.Pa==yd&&(this.ua=1,Ud(this));!this.oc&&(this.Ca=(this.K*this.Ba>>3)*this.ia,sb(this.B,this.ea,this.Ca,3)&&(this.Ab=this.Ca>>1,this.Xb=16/this.Ba|0,this.Ta=!1,void 0===this.va||this.va.length!=this.Ab))&&(this.va=Array(this.Ab));(this.pa=ob(a,"Keyboard"))&&this.J&&this.pa.na(this.vc?"textarea":"canvas","kbd",this.oa);this.Z||E(this)};
|
|
|
|
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)};
|
|
|
|
function Td(a,b,c,d){if(d)a.ga("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.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(2048!=f.length){a.ga("Unrecognized font data length ("+f.length+")");return}}catch(h){a.ga("Font ROM data error: "+h.message);return}(a.I||a.G)&&E(a)}}
|
|
|
|
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 Vd(a,b,c){var d=8>=a.nc?8:16,e=8<d?15:0,f=null.length/d,h={ta:b,xa: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.xa;k++)for(var p=null[l*d+(e+k&d-1)],r=0;r<c/a.xa;r++){for(var u=0,v=u;u<a.ta;u++)for(var G=p&128>>u,x=0;x<b/a.ta;x++)Wd(a,g,v,n,G?1:0),v++;n++}h.context.putImageData(g,(l&15)*b,(l>>4)*c)}return h}
|
|
|
|
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};
|
|
|
|
Od.prototype.na=function(a,b,c){var d=this;switch(b){case "fullScreen":return this.L[b]=c,this.w&&this.w.Va?c.onclick=function(){d.Va()}:c.parentNode.removeChild(c),!0}return!1};
|
|
|
|
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};
|
|
|
|
Od.prototype.Va=function(){var a=!1;if(this.w){if(this.w.Va){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.ha/this.X;b>c&&(a=Math.round(c/b*100)+"%")}this.yb?(this.J.style.width=a,this.J.style.width=a,this.J.style.display="block",this.J.style.margin="auto"):(this.w.style.width=a,this.w.style.height="auto");this.w.style.backgroundColor="black";this.w.Va();a=!0}this.oa&&this.oa.focus()}return a};
|
|
|
|
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};
|
|
|
|
function Sd(a,b){!b&&a.w&&(a.yb?a.J.style.width=a.J.style.height="":a.w.style.width=a.w.style.height="");db(a,"notifyFullScreen("+b+")",!0)}function Ud(a){a.sa=1<<a.Ba;a.ba=Array(a.sa+2);a.ba[0]=[0,0,0,255];a.ba[1]=[255,255,255,255];1==a.ua&&(a.ba[a.sa+0]=[255,255,0,255],a.ba[a.sa+1]=[0,255,0,255])}
|
|
|
|
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]}
|
|
|
|
function Wd(a,b,c,d,e){d=a.F?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.ua&&(208<=c&&236>c?e=a.sa+0:28<=c&&72>c&&(e=a.sa+1));a=a.ba[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 <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=qa().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height=
|
|
|
|
Ka(function(){for(var a=D(document,"pc8080","video"),b=0;b<a.length;b++){var c=a[b],d=B(c),e=document.createElement("canvas");if(void 0===e||!e.getContext){c.innerHTML="<br/>Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=oa().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height=
|
|
|
|
(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ra.aspect);f&&.3<=f&&3.33>=f&&(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||Sa.aspect);f&&.3<=f&&3.33>=f&&(Ja("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");za("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new Od(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 Xd(a){y.call(this,"Debugger",a,Xd);this.style=Yd;this.ea=this.Ba=this.K=0;this.X=V();this.jb=V();this.F=-1;this.w=[];this.ia=!1;this.ha=V();this.I=[];this.oa={};this.C=this.Z=this.H=[];Zd(this);this.ua=0;$d(this);this.Ca=[];ae(this,a.messages);this.Ha=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return rc(b,a)}):void 0===global.$&&(global.$=function(a){return rc(b,a)})}A(Xd);
|
|
|
|
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 be={"?":"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"},Yd=8080,ce="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],
|
|
|
|
de="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(" "),ee="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),fe=[[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],
|
|
|
|
[44,1617,32],[72],[45,32768],[21,18963,2835],[39,18193,115],[23,2835],[28,1809],[22,1809],[44,1809,32],[17],[43,17,17],[43,17,273],[43,17,529],[43,17,785],[43,17,1041],[43,17,1297],[43,17,1617],[43,17,1809],[43,273,17],[43,273,273],[43,273,529],[43,273,785],[43,273,1041],[43,273,1297],[43,273,1617],[43,273,1809],[43,529,17],[43,529,273],[43,529,529],[43,529,785],[43,529,1041],[43,529,1297],[43,529,1617],[43,529,1809],[43,785,17],[43,785,273],[43,785,529],[43,785,785],[43,785,1041],[43,785,1297],[43,
|
|
|
|
[44,1617,32],[72],[45,32768],[21,18963,2835],[39,18193,115],[23,2835],[28,1809],[22,1809],[44,1809,32],[17],[43,17,17],[43,17,273],[43,17,529],[43,17,785],[43,17,1041],[43,17,1297],[43,17,1617],[43,17,1809],[43,273,17],[43,273,273],[43,273,529],[43,273,785],[43,273,1041],[43,273,1297],[43,273,1617],[43,273,1809],[43,529,17],[43,529,273],[43,529,529],[43,529,785],[43,529,1041],[43,529,1297],[43,529,1617],[43,529,1809],[43,785,17],[43,785,273],[43,785,529],[43,785,785],[43,785,1041],[43,785,1297],[43,
|
|
|
|
785,1617],[43,785,1809],[43,1041,17],[43,1041,273],[43,1041,529],[43,1041,785],[43,1041,1041],[43,1041,1297],[43,1041,1617],[43,1041,1809],[43,1297,17],[43,1297,273],[43,1297,529],[43,1297,785],[43,1297,1041],[43,1297,1297],[43,1297,1617],[43,1297,1809],[43,1617,17],[43,1617,273],[43,1617,529],[43,1617,785],[43,1617,1041],[43,1617,1297],[26],[43,1617,1809],[43,1809,17],[43,1809,273],[43,1809,529],[43,1809,785],[43,1809,1041],[43,1809,1297],[43,1809,1617],[43,1809,1809],[3,18193,17],[3,18193,273],
|
|
|
|
785,1617],[43,785,1809],[43,1041,17],[43,1041,273],[43,1041,529],[43,1041,785],[43,1041,1041],[43,1041,1297],[43,1041,1617],[43,1041,1809],[43,1297,17],[43,1297,273],[43,1297,529],[43,1297,785],[43,1297,1041],[43,1297,1297],[43,1297,1617],[43,1297,1809],[43,1617,17],[43,1617,273],[43,1617,529],[43,1617,785],[43,1617,1041],[43,1617,1297],[26],[43,1617,1809],[43,1809,17],[43,1809,273],[43,1809,529],[43,1809,785],[43,1809,1041],[43,1809,1297],[43,1809,1617],[43,1809,1809],[3,18193,17],[3,18193,273],
|
|
|
|
[3,18193,529],[3,18193,785],[3,18193,1041],[3,18193,1297],[3,18193,1617],[3,18193,1809],[2,18193,17],[2,18193,273],[2,18193,529],[2,18193,785],[2,18193,1041],[2,18193,1297],[2,18193,1617],[2,18193,1809],[73,18193,17],[73,18193,273],[73,18193,529],[73,18193,785],[73,18193,1041],[73,18193,1297],[73,18193,1617],[73,18193,1809],[66,18193,17],[66,18193,273],[66,18193,529],[66,18193,785],[66,18193,1041],[66,18193,1297],[66,18193,1617],[66,18193,1809],[5,18193,17],[5,18193,273],[5,18193,529],[5,18193,785],
|
|
|
|
[3,18193,529],[3,18193,785],[3,18193,1041],[3,18193,1297],[3,18193,1617],[3,18193,1809],[2,18193,17],[2,18193,273],[2,18193,529],[2,18193,785],[2,18193,1041],[2,18193,1297],[2,18193,1617],[2,18193,1809],[73,18193,17],[73,18193,273],[73,18193,529],[73,18193,785],[73,18193,1041],[73,18193,1297],[73,18193,1617],[73,18193,1809],[66,18193,17],[66,18193,273],[66,18193,529],[66,18193,785],[66,18193,1041],[66,18193,1297],[66,18193,1617],[66,18193,1809],[5,18193,17],[5,18193,273],[5,18193,529],[5,18193,785],
|
|
|
|
[5,18193,1041],[5,18193,1297],[5,18193,1617],[5,18193,1809],[76,18193,17],[76,18193,273],[76,18193,529],[76,18193,785],[76,18193,1041],[76,18193,1297],[76,18193,1617],[76,18193,1809],[46,18193,17],[46,18193,273],[46,18193,529],[46,18193,785],[46,18193,1041],[46,18193,1297],[46,18193,1617],[46,18193,1809],[18,18193,17],[18,18193,273],[18,18193,529],[18,18193,785],[18,18193,1041],[18,18193,1297],[18,18193,1617],[18,18193,1809],[58],[50,2067],[34,51],[30,51],[11,51],[51,2067],[4,18193,33],[65,128],[62],
|
|
|
|
[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]],ge={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=Xd.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.Ja=function(a,b,c,d){this.B=b;this.b=c;this.u=a;(a=dc(a,"messages"))&&ae(this,a);this.Ta=fe;he(this,function(a){a:{var b=d.B.U,c=a[0],g=a=0,l=b.length;if(c){a=W(Y(d,c));if(-1===a){d.g("invalid address: "+c);break a}g=a>>>d.B.fa;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.fa)+" %%"+q(n.D)+" "+t(n.ub)+" "+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.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)+
|
|
|
|
" "+k),c!=Qb&&(c=-1),k=0);a+=d.B.ya;g++}}});E(this)};
|
|
|
|
" "+k),c!=Rb&&(c=-1),k=0);a+=d.B.Aa;g++}}});C(this)};
|
|
|
|
m.na=function(a,b,c){var d=this;switch(b){case "debugInput":return this.sa=this.L[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",rc(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,Ba(c,function(){if(d.sa){var a=d.sa.value;d.sa.value=
|
|
|
|
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=
|
|
|
|
"";rc(d,a,!0);return!0}return!1}),!0;case "step":return this.L[b]=c,Ba(c,function(a){var b=!1;ib(d,!0)||(hb(d,!0),b=d.hb(a?1:0),hb(d,!1));return b}),!0}return!1};m.tb=function(){this.sa&&this.sa.focus()};function W(a){a=a&&a.D;null==a&&(a=-1);return a}m.W=function(a,b){var c=255,d=W(a);-1!==d&&(c=vb(this.B,d),b&&ie(a,b));return c};m.La=function(a,b){var c=65535,d=W(a);-1!==d&&(c=wb(this.B,d),b&&ie(a,b));return c};m.ka=function(a,b,c){var d=W(a);-1!==d&&(xb(this.B,d,b),c&&ie(a,c),sc(this.b,!0))};
|
|
|
|
"";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))};
|
|
|
|
m.Db=function(a,b,c){var d=W(a);if(-1!==d){var e=this.B,f=d&e.B,h=(d&e.w)>>>e.fa;f!=e.B?e.U[h].Nb(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&&ie(a,c);sc(this.b,!0)}};function V(a){return{D:a,Ea:!1}}function je(a){return[a.D,a.Ea]}function ke(a){return{D:a[0],Ea: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.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]}}
|
|
|
|
function Y(a,b,c){var d;c=(c?a.X:a.jb).D;if(void 0!==b){d=b=le(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].Ia[d];if(void 0!==f){d=f.o;void 0!==d&&(e=V(d));break}}if(d=e)return d;c=me(a,b,void 0)}null!=c&&(d=V(c));return d}function ne(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.ec=oe(a,b.cc=c[2]))}function ie(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.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 pe(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 ae(a,b){a.G=a;a.ja=a.fc=536870912;a.va=null;a.Aa=[];var c=oe(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in ge)0<=la(c,d)&&(a.ja|=ge[d],a.g(d+" messages enabled"))}function he(a,b){for(var c in ge)if(64==ge[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.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){var c;a=a.toUpperCase();null==b?c=la(ee,a):(c=la(ee,a.substr(b,2)),0>c&&(c=la(ee,a.substr(b,1))));return c}function re(a,b){var c=0,d=se(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?q(d,c):"??"}
|
|
|
|
function se(a,b){var c;if(0<=b){var d=a.b;switch(b){case 7:c=d.j;break;case 0:c=d.N;break;case 1:c=d.O;break;case 8:c=Ic(d);break;case 2:c=d.P;break;case 3:c=d.R;break;case 9:c=Kc(d);break;case 4:c=d.S;break;case 5:c=d.V;break;case 10:c=K(d);break;case 6:c=d.W(K(d));break;case 11:c=d.ca;break;case 12:c=d.M;break;case 13:c=Gc(d);break;case 14:c=Gc(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=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){b=le(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=qe(b,c+1),0<=e&&(b=b.substr(0,c)+re(a,e)+b.substr(c+1+ee[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=aa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Y(a,e))?(d=e+' "'+pe(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))?(ie(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+' "'+
|
|
|
|
pe(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m.message=function(a,b){b&&(a+=" at "+Z(V(this.b.M).D));if(this.ja&1073741824)this.Aa.push(a);else if(!this.va||a!=this.va)if(this.va=a,this.ja&-2147483648&&(this.da(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.i.eb=0;c.F-=c.b;c.b=0;sc(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.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)}};
|
|
|
|
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.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 $d(a){var b;if(rd(a)){if(!a.T||!a.T.length){a.T=Array(1E3);for(b=0;b<a.T.length;b++)a.T[b]=V();a.pa=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.T&&a.T.length&&a.g("instruction history buffer freed"),a.pa=0,a.T=[],a.J=[]}m.Sa=function(a){if(!ue(this))return!1;this.b.Sa(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.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};
|
|
|
|
m.hb=function(a,b,c){if(!ue(this))return!1;this.K=0;a||rd(this)&&sd(this,this.b.M,0);try{var d=this.b.hb(a);0<d&&(this.K+=d,xc(this.b,d,!0),uc(this.b,d),this.ea++)}catch(e){"number"!=typeof e&&(this.K=0,kb(this.b,e.stack||e.message))}!1!==c&&sc(this.b);this.za(b||!1);return 0<this.K};m.da=function(a){this.b&&this.b.da(a)};m.za=function(a){void 0===a&&(a=!0);this.X=V(this.b.M);a&&1!=this.ba?ve(this):we(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.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)};
|
|
|
|
function ue(a){var b;if(b=a.b&&jb(a.b))b=a.b,b.A.la?b=!0:(b.g(b.toString()+" not powered"),b=!1);b&&!ib(a.b)?(a=a.b,a.A.Ya?(a.g(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}m.Ga=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};m.Fa=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){$d(this);this.ea=this.Ba=0;this.va=null;this.K=0;this.X=V(this.b.M);this.A.qa=!1;xe(this);a||this.za()};
|
|
|
|
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()};
|
|
|
|
m.save=function(){var a=new Hc(this);J(a,0,je(this.X));J(a,1,je(this.ha));J(a,2,[this.w,this.ia,this.ja]);J(a,3,this.I);return a.data()};m.restore=function(a){var b=0;void 0!==a[2]&&(this.X=ke(a[b++]),this.ha=ke(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.qa=!0;this.yb=a;this.zb=b};
|
|
|
|
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.stop=function(a,b){if(this.A.qa){this.A.qa=!1;this.K=b-this.zb;if(!this.ba){var c="stopped";if(this.K){var d=a-this.yb,e=0<d?Math.round(1E3*this.K/d):0,c=c+" (";rd(this)&&(c+=this.ea+" opcodes, ",this.Ba-=this.ea,this.ea=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.za(!0);this.tb();xe(this,this.b.M)}};function rd(a){return 1<a.C.length||!!a.ua}
|
|
|
|
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}
|
|
|
|
function sd(a,b,c){var d=a.b;if(0<c&&(a.ua&&!--a.ua||Zb(a,b,1,a.C)))return!0;0<=c&&a.J.length&&(a.ea++,b=vb(a.B,b),null!=b&&(a.J[b][1]++,b=a.T[a.pa],b.D=d.M,b.Ea=!1,++a.pa==a.T.length&&(a.pa=0)));return!1}function Ab(a,b,c){a.g("break on input from port "+t(b)+": "+q(c));a.da(!0)}function Db(a,b,c){a.g("break on output to port "+t(b)+": "+q(c));a.da(!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.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 Zd(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;$b(d.U[W(c)>>>d.fa],!1)}a.Z=["br"];if(void 0!==a.H)for(b=1;b<a.H.length;b++)c=a.H[b],d=a.B,$b(d.U[W(c)>>>d.fa],!0);a.H=["bw"];a.kb=0}m.Ma=function(a,b,c){var d=!0;c||We(this,a,b,!1,!0);if(a!=this.C){var e=W(b);if(-1===e)this.g("invalid address: "+Z(b.D)),d=!1;else{var f=this.B;f.U[e>>>f.fa].Ma(e&f.B,a==this.H)}}d&&(a.push(b),c?b.Ea=!0:(Xe(this,a,a.length-1,"set"),$d(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.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 We(a,b,c,d,e){var f=!1;c=W(c);for(var h=1;h<b.length;h++){var g=b[h];if(c==W(g)&&(!d||g.Ea)){f=!0;g.Ea||e||Xe(a,b,h,"cleared");b.splice(h,1);b!=a.C&&(d=a.B,$b(d.U[c>>>d.fa],b==a.H));g.Ea||$d(a);break}}return f}function Ye(a,b){for(var c=1;c<b.length;c++)Xe(a,b,c);return b.length-1}function Xe(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.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){if(void 0!==b)Zb(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.Ea){if(!We(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 Zb(a,b,c,d,e){var f=!1;if(!a.kb++)for(var h=1;!f&&h<d.length;h++){var g=d[h];if(!e||g.Ea)for(var l=W(g),k=0;k<c;k++)if(b+k==l){var n,f=!0;g.Ea&&(We(a,d,g,!0),e=!0);if(n=g.ec){for(var f=!1,p=0;p<n.length;p++)if(!Ze(a,n[p],!0)){if(n[p].indexOf("if")){f=!0;break}for(var r=p+1;r<n.length&&n[r].indexOf("else");r++)p++;if(r==n.length){f=!0;break}}a.b.A.qa||(f=!0)}if(f){e||Xe(a,d,h,"hit");break}}}a.kb--;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.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 $e(a,b,c,d){for(var e=V(b.D),f=a.W(b,1),h=a.Ta[f],g="",l=(8086!=a.style?ce:de)[h[0]],k=h.length-1,n=0,p,r=1;r<=k;r++){var u="";p=h[r];if(void 0!==p&&!(p&16384&&a.style==Yd)){var v=p&240;if(v){var G=p&15;G?n=G:p|=n;p&61440||(p|=1==r?8192:4096);if(v&32)a:{var u=a,v=p,G=b,x=" ";switch(v&15){case 1:x=q(u.W(G,1),2);break;case 2:x=q(u.W(G,1)<<24>>24,4);break;case 3:x=q(u.La(G,2),4);break;default:u="imm("+t(v)+")";break a}8086==u.style&&v&64?x="["+x+"]":v&16||(x=(u.style==Yd?"$":"0x")+x);u=x}else v&
|
|
|
|
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&
|
|
|
|
16?(u=(p&3840)>>8,v=ee[u],8086==a.style&&p&64&&(6==u&&(v="HL"),v="["+v+"]"),u=v):v&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+=ga(f,10);h=h+(p&32768?"*":" ")+ga(l,7);g&&(h+=" "+g);c&&(h=ga(h,40)+";"+c,h=a.b.A.Xa?h+("cycles="+vc(a.b).toString()+" cs="+q(a.b.i.mb)):h+(null!=d?"="+d.toString():""));return h}
|
|
|
|
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}
|
|
|
|
function af(a,b){var c;switch(b){case "IF":c=a.b.ra&512;break;case "SF":c=Rc(a.b);break;case "ZF":c=Qc(a.b);break;case "AF":c=Pc(a.b);break;case "PF":c=Oc(a.b);break;case "CF":c=L(a.b);break;default:c=0}return b.charAt(0)+(c?"1":"0")+" "}function bf(a,b){return ee[b]+"="+re(a,b)+" "}function cf(a){return bf(a,7)+bf(a,8)+bf(a,9)+bf(a,10)+bf(a,11)+af(a,"IF")+af(a,"SF")+af(a,"ZF")+af(a,"AF")+af(a,"PF")+af(a,"CF")}
|
|
|
|
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")}
|
|
|
|
var df={"||":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 ef(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 me(a,b,c){var d;if(b){b=le(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=ha(n);if(!n){f=!0;break}n=ff(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++],r=n.length;l.length&&df[n]<df[l[l.length-1]]&&ef(g,l,1);l.push(n);b=b.substr(p+r)}ef(g,l)&&1==g.length||(f=!0);f?c&&a.g("error parsing '"+h+"' at character "+(h.length-b.length)):(d=g.pop(),c&&gf(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 le(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=me(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.ea-a.Ba}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?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}
|
|
|
|
function ff(a,b,c,d){var e;void 0!==b?(e=qe(b),0<=e?e=se(a,e):(e=a.oa[b],void 0===e&&(e=aa(b))),void 0!==e||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return e}
|
|
|
|
function 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){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 hf(a,b){if(b)return gf(a,b,a.oa[b]);var c=0;for(b in a.oa)gf(a,b,a.oa[b]),c++;return 0<c}Xd.prototype.Ua=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"+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 jf(a,b,c){var d=[],e=W(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=ia(f.Ob,[e-h],a.Ua);0<=e?kf(a,b,e,d):c&&(e=~e,kf(a,b,e-1,d),kf(a,b,e,d));break}}return d}function kf(a,b,c,d){var e={},f=a.I[b].Ob,h=0,g=null;0<=c&&c<f.length&&(h=f[c][0],g=f[c][1]);g&&(e=a.I[b].Ia[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.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 lf(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?ce:de;for(c=0;c<e.length;c++){var h=e[c][0],g=e[c][1];g&&(a.g((f[a.Ta[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"+q(h,2))+"): "+g+" times"),d++)}}d||a.g("no frequency data available")}}
|
|
|
|
function mf(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return hf(a)||a.g("no variables"),!0;if(!c[2])return hf(a,c[1]);if(!c[3])return delete a.oa[c[1]],!0;var d=me(a,c[3]);return void 0!==d?(a.oa[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.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,c){var d=null;if(b=Y(a,b,!0)){var e=jf(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 of(a,b){switch(b[1]){case "8080":a.style=Yd;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.ab=c;break;case "start":a.b.i.nb=c;break;case "stop":a.b.i.cb=c;break;default:a.g("unknown cs option");return}void 0!==c&&fc(a.b);a.g("checksums "+(a.b.A.Xa?"enabled":"disabled"));return;case "sp":void 0!==b[2]&&(wc(a.b,+b[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.i.Oa.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.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")+
|
|
|
|
" ("+a.b.i.Ra+"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 ve(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=me(a,f);if(void 0!==g)switch(h=!0,e.toUpperCase()){case "A":d.j=g&255;break;case "B":d.N=g&255;break;case "BC":d.N=g>>8&255;case "C":d.O=g&255;break;case "D":d.P=
|
|
|
|
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.P=g>>8&255;case "E":d.R=g&255;break;case "H":d.S=g&255;break;case "HL":d.S=g>>8&255;case "L":d.V=g&255;break;case "SP":d.ca=g&65535;break;case "PC":I(d,g);a.X=V(d.M);break;case "PS":Ec(d,g);break;case "PSW":Ec(d,g&255|d.ra&-256);d.j=g>>8;break;case "CF":d.Y=g?d.Y|256:d.Y&255;break;case "PF":g?Oc(d)||(d.aa^=1):Oc(d)&&(d.aa^=1);break;case "AF":d.ma=g?~d.aa&16|d.ma&-17:d.aa&16|d.ma&-17;break;case "ZF":d.Y=g?d.Y&-256:d.Y|255;break;case "SF":g?Rc(d)||(d.aa^=192):Rc(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.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);
|
|
|
|
break;case "IF":d.ra=g?d.ra|512:d.ra&-513;break;default:a.g("unknown register: "+e);return}if(!h){a.g("invalid value: "+f);return}sc(d);a.g("updated registers:")}a.g(cf(a));c&&(a.X=V(d.M),we(a,Z(a.X.D)))}}function pf(a,b){b=ha(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(te(a,c[2])):me(a,b,!0)}function qf(a,b,c){var d="t"!=b;c=ff(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Aa(c,function(){return hb(a,!0)&&a.hb(e,d,!1)},function(){sc(a.b);hb(a,!1)})}
|
|
|
|
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)})}
|
|
|
|
function we(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=jf(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=$e(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 oe(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(ha(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.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 Ze(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.ia&&(a.g("ended assemble at "+Z(a.ha.D)),a.X=a.ha,a.ia=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.va=null;if(jb(a)&&0<b.length){a.ia&&(b="a "+Z(a.ha.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.ha=
|
|
|
|
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=
|
|
|
|
n,void 0===f[2])a.g("begin assemble at "+Z(n.D)),a.ia=!0,sc(a.b);else{var p;a.g("not supported yet");p=[];if(p.length){for(var r=0;r<p.length;r++)a.ka(n,p[r],1);a.g($e(a,a.ha))}}break;case "b":a:{var u=f[0],v=f[1],G=b;if("?"==v)a.g("breakpoint commands:"),a.g("\tbi [p]\ttoggle break on input port [p]"),a.g("\tbo [p]\ttoggle break on output port [p]"),a.g("\tbp [a]\tset exec breakpoint at addr [a]"),a.g("\tbr [a]\tset read breakpoint at addr [a]"),a.g("\tbw [a]\tset write breakpoint at addr [a]"),
|
|
|
|
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]"),
|
|
|
|
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 P=0,P=P+Ye(a,a.C),P=P+Ye(a,a.Z);(P+=Ye(a,a.H))||a.g("no breakpoints")}else if("n"==x)a.ua=ff(a,v),a.g("break after "+a.ua+" instruction(s)");else if(void 0===v)a.g("missing breakpoint address");else{var C=V();if("*"!=v&&(C=Y(a,v,!0),!C))break a;v=t(C.D);"c"==x?null==C.D?(Zd(a),a.g("all breakpoints cleared")):We(a,a.C,C)||We(a,a.Z,C)||
|
|
|
|
a.g("\tbc [a]\tclear breakpoint at addr [a]"),a.g("\tbl\tlist all breakpoints"),a.g("\tbn [n]\tbreak after [n] instruction(s)");else{var 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)||
|
|
|
|
We(a,a.H,C)||a.g("breakpoint missing: "+Z(C.D)):"i"==x?a.g("breakpoint "+(yb(a.B,C.D)?"enabled":"cleared")+": port "+v+" (input)"):"o"==x?a.g("breakpoint "+(Bb(a.B,C.D)?"enabled":"cleared")+": port "+v+" (output)"):null!=C.D&&(ne(a,C,G),"p"==x?a.Ma(a.C,C):"r"==x?a.Ma(a.Z,C):"w"==x?a.Ma(a.H,C):a.g("unknown breakpoint command: "+x))}}}break;case "c":a.wa&&(a.wa.value="");break;case "d":a:{var Ea,Fa=f[0],ta=f[1],Ma=f[2],Lf=f[3];if("?"==ta){var ua="";for(Ea in ge)a.Ca[Ea]&&(ua&&(ua+=","),ua+=Ea);ua+=
|
|
|
|
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";
|
|
|
|
",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");ua.length&&a.g("dump extension commands:\n\t"+ua)}else if("state"==ta){var ye=rf(a.u,!0);"console"==Ma?console.log(ye):(a.wa&&(a.wa.value=""),a.g(ye))}else if("symbols"==ta)for(var Zc=0;Zc<a.I.length;Zc++){var $c=a.I[Zc],fb;for(fb in $c.Ia)if("."!=fb.charAt(0)){var ze=
|
|
|
|
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;
|
|
|
|
$c.Ia[fb].o;if(void 0!==ze){var Ae=$c.Ia[fb].l;Ae&&(fb=Ae);a.g(Z(ze)+" "+fb)}}}else{if("d"==Fa){for(Ea in ge)if(f[1]==Ea){var Be=a.Ca[Ea];Be?(f.shift(),f.shift(),Be(f)):a.g("no dump registered for "+ta);break a}ta||(Fa=a.Ab||"db")}else a.Ab=Fa;if("dh"==Fa){var Ce=ta,De=Ma,Ee="",Fe=0,T=a.pa,va=a.T;if(va.length){var X=+Ce||a.lb,gb=+De||10;isNaN(X)?X=gb:Ee="more ";X>va.length&&(a.g("note: only "+va.length+" available"),X=va.length);T-=X;0>T&&(null==va[va.length-1].D?(X=T+X,T=0):T+=va.length);var ad=
|
|
|
|
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&&
|
|
|
|
[];"call"==De&&(gb=1E5,ad=["CALL"]);for(void 0!==Ce&&a.g(X+" instructions earlier:");0<gb&&T!=a.pa;){var Ge=va[T++];if(null==Ge.D)break;var Eb=V(Ge.D),Mf=X--,He=$e(a,Eb,"history",Mf);(!ad.length||0<=He.indexOf(ad[0]))&&a.g(He);Eb.Gb&&(T+=Eb.Gb,gb-=Eb.Gb,X-=Eb.Gb);T>=va.length&&(T=0);a.lb=X;Fe++;gb--}}Fe||(a.g("no "+Ee+"history available"),a.lb=void 0)}else{var gc=Y(a,ta);if(gc){var hc=0;Ma&&("l"==Ma.charAt(0)&&(Ma=Ma.substr(1)||Lf),hc=ff(a,Ma)>>>0,65536<hc&&(hc=65536));for(var Na="",ic="dd"==Fa?4:
|
|
|
|
(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,
|
|
|
|
"dw"==Fa?2:1,jc=ic*hc||128,Nf=jc+15>>4||1;Nf--&&0<jc;){var kc=0,bd=0,Fb,Gb="",cd="",ta=Z(gc.D);for(Fb=16;0<Fb&&0<jc;Fb--){var lc=a.W(gc,1),kc=kc|lc<<(bd++<<3);bd==ic&&(Gb+=q(kc,2*ic),Gb+=1==ic?9==Fb?"-":" ":" ",kc=bd=0);cd+=32<=lc&&128>lc?String.fromCharCode(lc):".";jc--}Na&&(Na+="\n");Na+=ta+" "+Gb+(0==Fb?" "+cd:"")}Na&&a.g(Na);a.jb=gc}}}}break;case "e":if("else"==f[0])break;var mc=1,Ie=255,Je=a.W,Ke=a.ka;"ew"==f[0]&&(mc=2,Ie=65535,Je=a.La,Ke=a.Db);var Le=mc<<1,Me=f[1];if(null==Me)a.g("edit memory commands:"),
|
|
|
|
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:"),
|
|
|
|
a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");else{var nc=Y(a,Me);if(nc)for(var oc=2;oc<f.length;oc++){var Hb=me(a,f[oc]);if(void 0===Hb){a.g("unrecognized value: "+f[oc]);break}Hb&~Ie&&a.g("warning: "+q(Hb)+" exceeds "+mc+"-byte value");var Of=Je.call(a,nc);a.g("changing "+Z(nc.D)+" from 0x"+q(Of,Le)+" to 0x"+q(Hb,Le));Ke.call(a,nc,Hb,mc)}}break;case "f":lf(a,f[1]);break;case "g":a:{var Ne=f[1],Pf=b;if(void 0!==Ne){var dd=Y(a,Ne,!0);if(!dd)break a;
|
|
|
|
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;
|
|
|
|
ne(a,dd,Pf);a.Ma(a.C,dd,!0)}a.Sa(!0)||c||a.g("cpu busy or unavailable, run command ignored")}break;case "h":a:{var ed;if(a.A.qa)ed="halting",a.da();else{if(ib(a,!0))break a;ed="already halted"}c||a.g(ed)}break;case "i":if("if"==f[0]){var fd;var Ib=b.substr(2),Ib=ha(Ib);me(a,Ib)?(c||a.g("true: "+Ib),fd=!0):(c||a.g("false: "+Ib),fd=!1);fd||(d=!1);break}var gd=f[1];if(gd&&"?"!=gd){var hd=ff(a,gd);if(void 0!==hd){var Qf=zb(a.B,hd);a.g(t(hd)+": "+("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.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]"),
|
|
|
|
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 id=0,Oe=V(),Jb=V(a.b.ca);for(a.g("stack trace for "+Z(Jb.D));10>id;){for(var Oa=null,Sf=256;65536>Jb.D>>>0;){Oe.D=a.La(Jb,2);if(null==Jb.D||!Sf--)break;for(var Tf=a,pc=Oe,Pe=null,Kb=pc.D,Qe=Kb,jd=1;6>=jd&&Kb;jd++){if(2<jd){pc.D=Kb;var qc=$e(Tf,pc);if(0<=qc.indexOf("CALL")){var Re=qc.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(),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(" ");
|
|
|
|
if(Kb+(qc.indexOf(" ",Re+1)-Re-1)/2==Qe){Pe=qc;break}}}Kb--}pc.D=Qe;if(Oa=Pe)break}if(!Oa||null==Oa)break;var Se=null;if("ks"==Rf){var Te=Oa.match(/[0-9A-F]+$/);Te&&(Se=nf(a,Te[0]))}Oa=ga(Oa,50)+" ;"+(Se||"stack="+Z(Jb.D));a.g(Oa);id++}id||a.g("no return addresses found")}break;case "l":if("ln"==f[0]){nf(a,f[1],!0);break}break;case "m":a:{var wa,xa=null,H=f[1];"?"==H&&(H=void 0);if(void 0!==H){var Ga=0;if("all"==H)Ga=1878917119,H=null;else if("on"==H)xa=!0,H=null;else if("off"==H)xa=!1,H=null;else{"keys"==
|
|
|
|
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"==
|
|
|
|
H&&(H="key");"kbd"==H&&(H="keyboard");for(wa in ge)if(H==wa){Ga=ge[wa];xa=!!(a.ja&Ga);break}if(!Ga){a.g("unknown message category: "+H);break a}}if(Ga)if("on"==f[2])a.ja|=Ga,xa=!0;else if("off"==f[2]&&(a.ja&=~Ga,xa=!1,1073741824==Ga)){for(var kd=0;kd<a.Aa.length;kd++)a.g(a.Aa[kd]);a.Aa=[]}}var Uf=0,Ha="";for(wa in ge)if(!H||H==wa){var Vf=!!(a.ja&ge[wa]);if(null===xa||xa==Vf)Ha&&(Ha+=","),++Uf%10||(Ha+="\n\t"),"key"==wa&&(wa="keys"),Ha+=wa}void 0===H&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
|
|
|
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");
|
|
|
|
a.g((null!==xa?xa?"messages on: ":"messages off: ":"message categories:\n\t")+(Ha||"none"));$d(a)}break;case "o":var ld=f[1],Wf=f[2];if(ld&&"?"!=ld){var md=ff(a,ld,"port #"),nd=ff(a,Wf);void 0!==md&&void 0!==nd&&(Cb(a.B,md,nd),a.g(t(md)+": "+("0x"+q(nd,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]){pf(a,b.substr(5));break}var Ue="pr"==f[0]?1:0,Xf=1+Ue;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"+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");
|
|
|
|
else{var od=V(a.b.M);switch(a.W(od)){case 205:a.ba=Xf,ie(od,3)}a.ba?(a.Ma(a.C,od,!0),a.Sa()||(a.u&&a.u.tb(),a.ba=0)):qf(a,Ue?"tr":"t")}break;case "r":if("reset"==b){a.u&&a.u.reset();break}ve(a,f);break;case "s":of(a,f);break;case "t":qf(a,f[0],f[1]);break;case "u":we(a,f[1],f[2],8);break;case "v":if("var"==f[0]){mf(a,b.substr(3))||(d=!1);break}a.g("PC8080 version 1.23.3 ("+a.b.Pa+",RELEASE"+(lb?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(oa());break;case "?":if(f[1]){pf(a,b.substr(1));break}var Lb="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.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:",
|
|
|
|
pd;for(pd in be)Lb+="\n"+ga(pd,7)+be[pd];rd(a)||(Lb+="\nnote: frequency/history disabled if no exec breakpoints");a.g(Lb);break;default:a.g("unknown command: "+b),d=!1}}}catch(Ve){a.g("debugger error: "+(Ve.stack||Ve.message)),d=!1}return d}function rc(a,b,c){b=oe(a,b,c);for(var d in b)if(!Ze(a,b[d]))return!1;return!0}Ka(function(){for(var a=D(document,"pc8080","debugger"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Xd(d);ab(d,c)}});
|
|
|
|
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)}});
|
|
|
|
function Hc(a,b,c){this.id=a.id;this.key=sf(a,b,c);this.G=a.G;tf(this,a.ac)}function sf(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.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}
|
|
|
|
Hc.prototype={constructor:Hc,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){tf(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 tf(a,b){a[a.id]={};b&&J(a,"parms",b);a.b=!1}function uf(a){var b=!0;if(ra()){var c=JSON.stringify(a[a.id]);ya(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function vf(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){w(c.message||c),b=!1}return b}function wf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:ra()&&(b=sa(a.key))?(a[a.id]=b,a.b=!0):!1}function xf(a,b){return a[a.id][b]||null}function J(a,b,c){try{a[a.id][b]=c}catch(d){}}
|
|
|
|
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 yf(a,b,c){y.call(this,"Computer",a,yf,67108864);this.A.la=!1;zf(this,b);this.ba=dc(this,"autoPower",a);this.w=0;this.oa=a.busWidth||a.buswidth;this.u=Af;this.X=null;this.J=this.ia=!1;this.pa=dc(this,"url")||"";(Math.random()+.1).toString(36);this.C=Bf(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.oa},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.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))&&
|
|
|
|
this.F.wa)for(b=0;b<e.length;b++)d=e[b],d.ga=this.F.ga,d.g=this.F.g,d.wa=this.F.wa;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.Ja&&d.Ja(this,this.B,this.b,this.G);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.T=d:this.u=parseInt(d,10));var f;if(a=dc(this,"state")||(f=!0,a.state))b=this.ea=a,f||(this.J=!0,this.u=Af),this.u&&(this.Z=new Hc(this,"1.23.3"),wf(this.Z)?
|
|
|
|
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)?
|
|
|
|
b=null:delete this.Z);!b&&this.u&&(b=Cf(this))&&(this.J=!0);if(b){var h=this;ma(b,null,!0,function(a,b,c){c?(h.T=null,h.J=!1,h.ga("Unable to load machine state from server (error "+c+(b?": "+ha(b):"")+")")):(h.X=b,h.ia=!0);E(h)})}else E(this);this.L.power||(this.ba=!0);!c&&this.ba&&Df(this,this.rb)}else w("Unable to find CPU component")}A(yf);var Af=0;function zf(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.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}
|
|
|
|
function dc(a,b,c){var d=b.toLowerCase(),d=Sa[b]||Sa[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 Df(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(){Df(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 Ef(a,b){var c=new Hc(a,"1.23.3","validate");if(wf(c)&&vf(c)){var d=xf(c,"timestamp"),e=b?xf(b,"timestamp"):"unknown";d!=e&&(a.ga("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=yf.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.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;
|
|
|
|
m.rb=function(a){void 0===a&&(a=this.u||(this.X?1:Af));if(!this.w){this.w++;var b=!1,c=!1;this.ha=!1;var d=this.Z||new Hc(this,"1.23.3");if(-1==a)b=!0;else if(a>Af){if(wf(d,this.X)){this.H=new Hc(this,"1.23.3","failsafe");wf(this.H)&&(Ff(this,d),a=2,tf(this.H));J(this.H,"timestamp",ka());uf(this.H);var e=this.u&&!this.J;if(1==a||pa("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=vf(d)){var f=xf(d,"code"),h=xf(d,"data");f&&("ok"==f?wf(d,h):("error"==
|
|
|
|
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"==
|
|
|
|
f&&"no machine state"!=h?(this.ga("Error: "+h),"unable to verify user"==h&&(ya("user",""),this.C=null)):this.g(f+": "+h),tf(d),wf(d)?(c=vf(d),e=!0):c=!1))}e&&Ef(this,c?d:null)}else 2==a&&d.clear()}else Ef(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=Gf(this,h,d,b,c));b=[d,a,c];-1!=a?Df(this,this.Qb,b):this.Qb(b)}};
|
|
|
|
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)}};
|
|
|
|
function Gf(a,b,c,d,e){if(!b.A.la){b.A.la=!0;if(b.Ga){var f=null;e&&((f=xf(c,b.id))||(f=xf(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Ga(f,d)&&f&&(w("Unable to restore state for "+b.type),a.ea&&!a.ia?(c.clear(),a.u=Af,window&&window.location.reload()):a.ha=!0,b.Ga(null),e=!1)}if(!d&&b.Pb)for(a=b.Pb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
|
|
|
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}
|
|
|
|
m.Qb=function(a){var b=a[0],c=0>a[1];a=a[2];this.sa=!0;this.A.la=!0;var d=this.L.power;d&&(d.textContent="Shutdown");this.b&&(Gf(this,this.b,b,c,a),tc(this.b));this.ha&&(Ff(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.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};
|
|
|
|
function Ff(a,b){if(pa("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.C||"",d=b.toString(),e={app:"PC8080",ver:"1.23.3"};e.url=a.pa;e.user=c;e.type="bug";e.data=d;ma("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.qa;e.user=c;e.type="bug";e.data=d;oa("http://www.pcjs.org/api/v1/report",e,!0)}}
|
|
|
|
function rf(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new Hc(a,"1.23.3"),h=new Hc(a,"1.23.3","validate"),g=ka();J(h,"timestamp",g);J(f,"timestamp",g);J(f,"version","1.23.3");J(f,"url",window?window.location.href:null);J(f,"browser",oa());a.b&&a.b.Fa&&(c&&a.b.da(),d=a.b.Fa(b,c),"object"===typeof d&&J(f,a.b.id,d),c&&(a.b.A.la=!1,!1===d&&(e=null)));for(var g=Za(a.id),l=0;l<g.length;l++){var k=g[l];k.A.la&&(k.Fa&&(d=k.Fa(b,c),"object"===typeof d&&J(f,k.id,d)),c&&(k.A.la=!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();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&&
|
|
|
|
(c?(g=d=!1,b?(a.C&&Hf(a,a.C,f.toString()),uf(h)&&uf(f)||(e=null,d=g=!0)):a.u&&(d=!0,g=3==a.u),d&&f.clear(g)):e=f.toString());c&&(a.A.la=!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.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())}};
|
|
|
|
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.na=function(a,b,c){var d=this;switch(b){case "power":return this.L[b]=c,c.onclick=function(){d.w||(d.A.la?rf(d,!1,!0):Df(d,d.rb))},!0;case "reset":return this.L[b]=c,c.onclick=function(){if(d.A.la&&!d.w)if(d.u&&!d.T){var a=pa("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");rf(d,a,!0);!a&&d.ea?window&&window.location.reload():d.rb(Af)}else d.reset(),d.b&&tc(d.b)},!0;case "save":if(da(na(),"pcjs.org")){c.parentNode.removeChild(c);
|
|
|
|
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);
|
|
|
|
break}this.L[b]=c;c.onclick=function(){var a=Bf(d,!0);if(a){var b=!!(d.u&&!d.T||d.ea),c=rf(d,b);b?Hf(d,a,c):d.ga("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.ha("Resume disabled, machine state not saved")}};return!0}return!1};
|
|
|
|
function Bf(a,b){var c=a.C;c||(c=sa("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=If(a,c))||a.ga("The user ID is invalid."))):b&&a.ga("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.ha("The user ID is invalid."))):b&&a.ha("Browser local storage is not available"));return c}
|
|
|
|
function If(a,b){a.C=null;var c=ma(na()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(ya("user",c.data),a.C=c.data)}catch(e){w(e.message+" ("+d+")")}return a.C}function Cf(a){var b=null;a.C&&(b=na()+"/api/v1/user?req=load&user="+a.C+"&state="+sf(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){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 Hf(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=sf(a,"1.23.3");d.data=c;b=ma(na()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.ga("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.ga(c),ya("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.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 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.oa&&d.oa.focus();a&&window&&window.scrollTo(b,c)}};m.za=function(a){this.b&&this.b.za(a);this.F&&this.F.za(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.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 zc(a,b){for(var c=0;c<a.I.length;c++){var d=a.I[c],e=!0;if(0<=b){if(d.Vb)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.Ta){for(var f=d.B,h=d.Ca,g=!0,l=d.ea>>>f.fa;0<h&&l<f.U.length;)f.U[l].Da&&(f.U[l].Da=g=!1,f.U[l].Sb=!0),h-=f.ya,l++;f=g}f&&(e=!1)}if(e)if(1<d.ta)switch(d.ua){case 2:for(g=d.ea,e=-1,f=0;f<d.Ua+1;f++){for(var h=0,l=g,k=e;h<d.Ha.length;){var n=vb(d.B,l++);if(127==(n&127)){g=vb(d.B,l++);e=g&96;g=d.ea|(g&31)<<8|vb(d.B,l);break}d.Ha[h++]=n}if(0<=k){var p;
|
|
|
|
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++]=
|
|
|
|
switch(k){case 96:p=0;break;case 64:p=1;break;case 32:p=2;break;case 0:p=2}if(l=d.Aa[p])for(k=0;k<h;k++){var n=d,r=l,u=f-1,v=d.jb,G=void 0,x=void 0,P=d.Ha[k]&127;v?(G=k*r.ta,x=u*r.xa):(G=k*n.kb+0,x=u*n.lb+0);u=(P&15)*r.ta;P=(P>>4)*r.xa;v?v.drawImage(r.canvas,u,P,r.ta,r.xa,G,x,r.ta,r.xa):n.I.drawImage(r.canvas,u,P,r.ta,r.xa,G,x,n.kb,n.lb)}}}}else{g=d.ea;l=g+d.Ca;r=n=k=0;e=d.K;v=0;f=d.ia;G=h=0;x=d.Ba;P=(1<<x)-1;d.uc&&(x=-x,G=16+x);for(;g<l;){u=wb(d.B,g);if(d.Ta&&u===d.va[k])n+=d.Xb;else{d.va[k]=u;var C=
|
|
|
|
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,
|
|
|
|
G;C&&(u=u>>8|(u&255)<<8);n<e&&(e=n);for(var Ea=d.Xb;Ea--;){var Fa=u>>C&P;Wd(d,d.zb,n++,r,Fa);C+=x}n>v&&(v=n);r<f&&(f=r);r>=h&&(h=r+1)}g+=2;k++;if(n>=d.K&&(n=0,r++,r>d.ia))break}d.Ta=!0;e<d.K&&(g=v-e,h-=f,d.F&&(l=e,k=g,e=f,g=h,f=d.K-(l+k),h=k),d.jb.putImageData(d.zb,0,0,e,f,g,h),d.I.drawImage(d.T,0,0,d.T.width,d.T.height,0,0,d.ha,d.X))}}}
|
|
|
|
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,
|
|
|
|
Ka(function(){for(var a=D(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=B(c),c=D(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],h=B(f),h=new yf(h,d,!0);ab(h,f);h.ba&&Df(h,h.rb)}});Ca.show.push(function(){for(var a=D(document,"pc8080","computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=$a("Computer",c.id))&&c.sa&&!c.A.la&&c.rb(-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.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)}});
|
|
|
|
Ca.exit.push(function(){for(var a=D(document,"pc8080","computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=$a("Computer",c.id))&&c.A.la&&rf(c,!(!c.u||c.T),!0)}});var Jf=0;function Kf(a,b,c,d,e,f){e("Loading "+a+"...");ma(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.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)})}
|
|
|
|
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+"...");ma(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var 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]*/,
|
|
|
|
"");a=a.replace(d[0],h);Zf(a,b,c)}})}else c(a,null)}
|
|
|
|
"");a=a.replace(d[0],h);Zf(a,b,c)}})}else c(a,null)}
|
|
|
|
function $f(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&&(--Jf||Pa(!0));l=!1}var h,g,l=!0;Jf++;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?Kf(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,--Jf||Pa(!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),--Jf||Pa(!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)?Kf(b,a,d,!0,e,k):Yf(b,null,a,d,!1,e,k)}else f("missing machine element: "+a)}catch(r){f(r.message)}return l}window.embedPC8080=function(a,b,c,d){Pa(!1);return $f(a,b,c,d)};window.enableEvents=Pa;window.sendEvent=Qa;
|
|
|
|
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(da(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?ma(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 w("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=ca(k);if("xml"==p){for(p=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=p.exec(g[k]);){var r=d[2];r&&(g[r]||(n=n.replace(d[0],"")))}d=k=ba(k)}else"xsl"==p&&(e=k=ba(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,
|
|
|
|
"©"),k=h,g=null,l="data:application/javascript,",l=za("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',
|
|
|
|
"©"),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.",w(c)):w("Missing XML/XSL resources")}
|
|
|
|
window.savePC=function(a,b,c){var d=$a("Computer",a),e=$a("Debugger",a);if(d){var f=rf(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;ma(b,null,!0,function(c,d,e){ag(c,d,e,[a,ba(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,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};})();
|
|
|
|
|