More support for saving entire machines
This commit is contained in:
parent
0a31a64d0c
commit
6bffc69b25
8 changed files with 348 additions and 255 deletions
|
|
@ -1,40 +1,40 @@
|
|||
(function(){var f;function n(a,b){var c="";void 0===b?b=8:8<b&&(b=8);if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;){var d=a&15,d=d+(0<=d&&9>=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function p(a){return"0x"+n(a,2)}function q(a){return"0x"+n(a,4)}var aa={"&":"&","<":"<",">":">",'"':""","'":"'"};function ba(a){return a.replace(/[&<>"']/g,function(a){return aa[a]})}var ca=Date.now||function(){return+new Date};
|
||||
function t(a,b,c){var d;d=!0;var e=0,g=null,h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");d&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),c&&(b?c.call(b,a,g,e,void 0):c(a,g,e,void 0)))});h.open("GET",a,d);h.send();d||(g=h.responseText,200!=h.status&&(e=h.status||-1),c&&(b?c.call(b,a,g,e,void 0):c(a,g,e,void 0)))}
|
||||
function t(a,b,c){var d=0,e=null;if(resources&&(e=resources[a]))c&&(b?c.call(b,a,e,d,void 0):c(a,e,d,void 0));else{var g=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");g.onreadystatechange=function(){4===g.readyState&&(e=g.responseText,200==g.status||!g.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(d=g.status||-1),c&&(b?c.call(b,a,e,d,void 0):c(a,e,d,void 0)))};g.open("GET",a,!0);g.send()}}
|
||||
function u(a){window&&window.alert(a)}function v(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function da(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
||||
function ea(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,g=!1;a.onmousedown=function(){g||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);g=!0}}var w={init:[],show:[],exit:[]},fa=!1,ga=!0;function ha(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function x(a){w.init.push(a)}
|
||||
function ia(a){if(ga)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){u("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function y(a){!ga&&a?(ga=!0,fa&&ja("init")):ga=a}function ja(a){w[a]&&ia(w[a])}ha("onload",function(){fa=!0;ia(w.init)});ha("onpageshow",function(){ia(w.show)});ha(v("Opera")||v("iOS")?"onunload":"onbeforeunload",function(){ia(w.exit)});
|
||||
function z(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.rb=this.id.substr(0,b),this.qb=this.id.substr(b+1)):this.qb=this.id;this[a]=c;this.C={Za:!1,Ba:!1,jb:!1,M:!1,Ca:!1};this.cb=null;this.C.Ca=!1;this.H={};this.u=null;this.la=d||0;A.push(this)}var ka=void 0;
|
||||
if(window){ka||(ka=window.location.search.substr(1));for(var la,ma=/\+/g,na=/([^&=]+)=?([^&]*)/g;la=na.exec(ka);)la[1].replace(ma," "),la[2].replace(ma," ")}function oa(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 B(a){var b;b||(b=z);a.prototype=oa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var A=[],C={};
|
||||
function pa(a,b,c){C[a]&&(C[a][b]||(C[a][b]=[]),C[a][b].push(c))}function qa(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<A.length;c++)if(A[c].id===a)return A[c]}return null}function D(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){u(c.message+" ("+a+")")}return b}document&&!document.ELEMENT_NODE&&(document.ELEMENT_NODE=1);
|
||||
function pa(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<A.length;c++)if(A[c].id===a)return A[c]}return null}function D(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){u(c.message+" ("+a+")")}return b}document&&!document.ELEMENT_NODE&&(document.ELEMENT_NODE=1);
|
||||
function E(a,b){for(var c=F(b.parentNode,"c1pjs-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,g=0;g<e.length;g++){var h=e[g];if(h.nodeType===document.ELEMENT_NODE){var k=h.getAttribute("class");if(k)for(var l=k.split(" "),m=0;m<l.length;m++)switch(k=l[m],k){case "c1pjs-binding":(k=D(h))&&k.binding&&a.T(k.type,k.binding,h,k.value),m=l.length}}}}
|
||||
function F(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}
|
||||
z.prototype={constructor:z,parent:null,toString:function(){return this.name?this.name:this.id||this.type},T:function(a,b,c){switch(b){case "clear":return this.H[b]||(this.H[b]=c,c.onclick=function(a){return function(){a.H.print&&(a.H.print.value="")}}(this)),!0;case "print":return this.H[b]||(this.gb=this.H[b]=c,c.value="",this.l=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.$a=function(a,b,c){this.l(a,"notice",c)}),!0;default:return!1}},log:function(){},l:function(){},status:function(a){this.l(this.qb+": "+a)},$a:function(a,b){b||u(a)},X:function(a){this.C.Ca||(this.C.Za=!1!==a,this.C.Za&&(a=this.cb,this.cb=null,a&&a()))}};function G(a,b){if(a.u){a===a.u?b|=0:b=b||a.la;var c=a.u.la&b;return!!b&&c===b||!!(c&a.u.Re)}return!1}function I(a,b){if(a.C.jb)return a.C.Ba&&(a.C.Ba=!1),a.C.jb=!1;if(a.C.Ca)return a.l(a.toString()+" error"),!1;a.C.Ba=b;return a.C.Ba}
|
||||
function J(a,b){a.C.Ba&&(b?a.C.jb=!0:void 0===b&&a.l(a.toString()+" busy"));return a.C.Ba}function K(a,b){b&&(a.C.Za?b():a.cb=b);return a.C.Za}function ra(a,b){a.C.Ca=!0;a.$a(b)}function sa(a){z.call(this,"C1PPanel",a);this.C.M=!1}B(sa);sa.prototype.T=function(a,b,c,d){return this.J&&this.J.T(a,b,c,d)||this.s&&this.s.T(a,b,c,d)||this.b&&this.b.T(a,b,c,d)||this.u&&this.u.T(a,b,c,d)?!0:z.prototype.T.call(this,a,b,c,d)};
|
||||
sa.prototype.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.s=L(b,"cpu"),this.b=L(b,"keyboard"),this.u=L(b,"debugger"),ta())};function ta(){for(var a=!1,b=F(document,"c1pjs","panel"),c=0;c<b.length;c++){var d=b[c],e=D(d),g=qa(e.id);g||(a=!0,g=new sa(e));E(g,d);a&&g.X()}}x(ta);
|
||||
function ua(a){z.call(this,"C1PCPU",a);va(this);this.C.M=!1;this.C.ma=!1;this.Ta=a.autoStart;this.Ra=0;this.Ob=1;this.eb=2;this.speed=this.Ra;this.Ja=30;this.Ia=5;this.Ma=8;this.Sa=["Slow","Fast","Max"];this.ib=["(1Mhz)","(up to "+this.Ma+"Mhz)","(unlimited)"];this.P=[];this.K=[];this.oa=65536;this.pa=0;this.da=65536;this.ia=0;this.Qa=32;this.bb=2;this.Nb=1;this.o=[this.yc,this.Sd,this.Je,this.m,this.m,this.Ud,this.oc,this.m,this.Xd,this.Rd,this.nc,this.m,this.m,this.Od,this.lc,this.m,this.xc,this.Td,
|
||||
function J(a,b){a.C.Ba&&(b?a.C.jb=!0:void 0===b&&a.l(a.toString()+" busy"));return a.C.Ba}function K(a,b){b&&(a.C.Za?b():a.cb=b);return a.C.Za}function qa(a,b){a.C.Ca=!0;a.$a(b)}function ra(a){z.call(this,"C1PPanel",a);this.C.M=!1}B(ra);ra.prototype.T=function(a,b,c,d){return this.J&&this.J.T(a,b,c,d)||this.s&&this.s.T(a,b,c,d)||this.b&&this.b.T(a,b,c,d)||this.u&&this.u.T(a,b,c,d)?!0:z.prototype.T.call(this,a,b,c,d)};
|
||||
ra.prototype.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.s=L(b,"cpu"),this.b=L(b,"keyboard"),this.u=L(b,"debugger"),sa())};function sa(){for(var a=!1,b=F(document,"c1pjs","panel"),c=0;c<b.length;c++){var d=b[c],e=D(d),g=pa(e.id);g||(a=!0,g=new ra(e));E(g,d);a&&g.X()}}x(sa);
|
||||
function ta(a){z.call(this,"C1PCPU",a);ua(this);this.C.M=!1;this.C.ma=!1;this.Ta=a.autoStart;this.Ra=0;this.Ob=1;this.eb=2;this.speed=this.Ra;this.Ja=30;this.Ia=5;this.Ma=8;this.Sa=["Slow","Fast","Max"];this.ib=["(1Mhz)","(up to "+this.Ma+"Mhz)","(unlimited)"];this.P=[];this.K=[];this.oa=65536;this.pa=0;this.da=65536;this.ia=0;this.Qa=32;this.bb=2;this.Nb=1;this.o=[this.yc,this.Sd,this.Je,this.m,this.m,this.Ud,this.oc,this.m,this.Xd,this.Rd,this.nc,this.m,this.m,this.Od,this.lc,this.m,this.xc,this.Td,
|
||||
this.m,this.m,this.m,this.Vd,this.pc,this.m,this.Bc,this.Qd,this.m,this.m,this.m,this.Pd,this.mc,this.m,this.pd,this.hc,this.m,this.m,this.uc,this.jc,this.ce,this.m,this.Zd,this.gc,this.be,this.m,this.tc,this.dc,this.$d,this.m,this.vc,this.ic,this.m,this.m,this.m,this.kc,this.de,this.m,this.te,this.fc,this.m,this.m,this.m,this.ec,this.ae,this.m,this.je,this.cd,this.m,this.m,this.m,this.ed,this.Ld,this.m,this.Wd,this.bd,this.Kd,this.m,this.od,this.Zc,this.Id,this.m,this.zc,this.dd,this.m,this.m,this.m,
|
||||
this.fd,this.Md,this.m,this.Dc,this.ad,this.m,this.m,this.m,this.$c,this.Jd,this.m,this.ke,this.yb,this.m,this.m,this.m,this.Ab,this.he,this.m,this.Yd,this.xb,this.ge,this.m,this.nd,this.ub,this.ee,this.m,this.Ac,this.zb,this.m,this.m,this.m,this.Bb,this.ie,this.m,this.ve,this.wb,this.m,this.m,this.m,this.vb,this.fe,this.m,this.m,this.ze,this.m,this.m,this.He,this.Be,this.Ee,this.m,this.Yc,this.m,this.Ne,this.m,this.Ge,this.we,this.De,this.m,this.qc,this.Ae,this.m,this.m,this.Ie,this.Ce,this.Fe,this.m,
|
||||
this.Pe,this.ye,this.Oe,this.m,this.m,this.xe,this.m,this.m,this.Fd,this.ud,this.Ad,this.m,this.Gd,this.wd,this.Bd,this.m,this.Le,this.td,this.Ke,this.m,this.Dd,this.qd,this.yd,this.m,this.rc,this.vd,this.m,this.m,this.Hd,this.xd,this.Cd,this.m,this.Ec,this.sd,this.Me,this.m,this.Ed,this.rd,this.zd,this.m,this.Rc,this.Jc,this.m,this.m,this.Sc,this.Lc,this.Vc,this.m,this.md,this.Ic,this.Xc,this.m,this.Qc,this.Fc,this.Tc,this.m,this.wc,this.Kc,this.m,this.m,this.m,this.Mc,this.Wc,this.m,this.Cc,this.Hc,
|
||||
this.m,this.m,this.m,this.Gc,this.Uc,this.m,this.Oc,this.Gb,this.m,this.m,this.Pc,this.Ib,this.jd,this.m,this.ld,this.Fb,this.Nd,this.m,this.Nc,this.Cb,this.gd,this.m,this.sc,this.Hb,this.m,this.m,this.m,this.Jb,this.kd,this.m,this.ue,this.Eb,this.m,this.m,this.m,this.Db,this.hd,this.m];this.fb=[7,6,0,0,0,3,5,0,3,2,2,0,0,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,3,6,0,0,3,3,5,0,4,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,6,6,0,0,0,3,5,0,3,2,2,0,3,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,6,6,0,0,0,3,
|
||||
5,0,4,2,2,0,5,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,0,6,0,0,3,3,3,0,2,0,2,0,4,4,4,0,2,5,0,0,4,4,4,0,2,4,2,0,0,4,0,0,2,6,2,0,3,3,3,0,2,2,2,0,4,4,4,0,2,5,0,0,4,4,4,0,2,4,2,0,4,4,4,0,2,6,0,0,3,3,5,0,2,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,2,6,0,0,3,3,5,0,2,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0]}B(ua);f=ua.prototype;
|
||||
f.reset=function(a){this.C.ma&&this.aa();va(this);this.f=this.a[65532]|this.a[65533]<<8;this.C.Ca=!1;this.u?this.u.reset():a&&(!0===this.Ta||null===this.Ta&&!this.u&&void 0===this.H.run)&&this.va()};
|
||||
5,0,4,2,2,0,5,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,0,6,0,0,3,3,3,0,2,0,2,0,4,4,4,0,2,5,0,0,4,4,4,0,2,4,2,0,0,4,0,0,2,6,2,0,3,3,3,0,2,2,2,0,4,4,4,0,2,5,0,0,4,4,4,0,2,4,2,0,4,4,4,0,2,6,0,0,3,3,5,0,2,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0,2,6,0,0,3,3,5,0,2,2,2,0,4,4,6,0,2,5,0,0,0,4,6,0,2,4,0,0,0,4,7,0]}B(ta);f=ta.prototype;
|
||||
f.reset=function(a){this.C.ma&&this.aa();ua(this);this.f=this.a[65532]|this.a[65533]<<8;this.C.Ca=!1;this.u?this.u.reset():a&&(!0===this.Ta||null===this.Ta&&!this.u&&void 0===this.H.run)&&this.va()};
|
||||
f.T=function(a,b,c){a=!1;switch(b){case "run":this.H[b]=c;c.onclick=function(a){return function(){a.C.ma?a.aa():a.va()}}(this);a=!0;break;case "A":case "X":case "Y":case "S":case "PC":case "C":case "Z":case "I":case "D":case "B":case "V":case "N":case "speed":this.H[b]=c;a=!0;break;case "setSpeed":this.H[b]=c,c.onclick=function(a){return function(){M(a,2<=a.speed?a.Ra:a.speed+1,!0)}}(this),a=!0}return a};
|
||||
f.ba=function(a,b,c){this.a=a;this.O=b;this.qa=c-b+1;this.Ga=this.O+this.qa;this.O?u("unsupported CPU address buffer offset ("+this.O+")"):this.X()};f.ha=function(a,b){if(a&&!this.C.M){this.J=b;(this.u=L(b,"debugger"))&&this.u.Tb();var c=L(b,"video");c&&(this.hb=function(a){return function(){wa(a)}}(c),this.ca=function(a){return function(){a.ca()}}(c));this.C.M=!0;this.reset(!0);this.update()}};function xa(a,b,c,d,e){0>ya(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa<c&&(a.pa=c),a.P.push([b,c,d,e]))}
|
||||
function za(a,b,c){for(var d=0;d<a.P.length;d++)b>=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>ya(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ia<c&&(a.ia=c),a.K.push([b,c,d,e]))}function Aa(a,b,c){for(var d=0;d<a.K.length;d++)b>=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function ya(a,b,c,d,e){for(var g=0;g<a.length;g++)if(a[g][0]==b&&a[g][1]==c&&a[g][2]==d&&a[g][3]==e)return g;return-1}
|
||||
function M(a,b,c){void 0!==b&&(a.speed=b,a.H.setSpeed&&(a.H.setSpeed.innerHTML=a.Sa[2<=b?0:b+1]),a.l("running at "+a.Sa[b].toLowerCase()+" speed "+a.ib[b]),c&&a.ca());a.U=0;a.Oa=ca();Ba(a)}f.hb=function(){};f.ca=function(){};function O(a,b,c,d){void 0!==a.H[b]&&(void 0===d&&(d=1),c="0000"+c.toString(16),a.H[b].innerHTML=c.slice(c.length-d).toUpperCase())}
|
||||
function Ca(a){O(a,"A",a.h,2);O(a,"X",a.w,2);O(a,"Y",a.F,2);var b=Da(a);O(a,"C",b&1?1:0);O(a,"Z",b&2?1:0);O(a,"I",b&4?1:0);O(a,"D",b&8?1:0);O(a,"B",b&16?1:0);O(a,"V",b&64?1:0);O(a,"N",b&128?1:0);O(a,"S",a.G,4);O(a,"PC",a.f,4);a.H.speed&&a.ta&&(a.H.speed.innerHTML=a.ta.toFixed(1)+"Mhz")}
|
||||
function Ba(a,b){var c=30;c<a.Ja&&(c=a.Ja);c<a.Ia&&(c=a.Ia);var d=1;b&&a.speed>a.Ra&&a.ta&&(d=a.ta);d>a.Ma&&2>a.speed&&(d=a.Ma);a.kb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Xa=Math.floor(1E6/a.Ja*d);a.Wa=Math.floor(1E6/a.Ia*d);b||(a.R=a.ra,a.Z=a.Xa,a.V=a.Wa);a.Aa=0}
|
||||
function Ea(a){var b=ca(),c=a.kb;a.$&&(c=Math.round(c*a.$/a.ra));c=c-(b-a.lb);if(b=b-a.Oa)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.Ma&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c}
|
||||
f.va=function(){if(I(this,!0)){this.C.ma||(M(this),this.J&&this.J.start(),this.C.ma=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Ba(this,!0);this.$=0;this.lb=ca();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Xa,this.hb());this.V-=this.ja;0>=this.V&&(this.V+=this.Wa,Ca(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.ma)}catch(b){this.aa();this.update();I(this,!1);ra(this,
|
||||
b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Ea(this))}else this.update(),this.J&&this.J.stop(this.Oa,this.U)};
|
||||
f.step=function(a){var b=!0;this.b=this.g=-1;var c;if(c=a&&this.u)c=this.u,c=0<c.sa.length||0<c.wa.length||0<c.ya.length;this.L=this.D=a;do{a=this.a[this.f];var d;if(d=c){d=this.u;var e=a,g=!1;Fa(d,this.f,d.sa,"exec")?g=!0:(d.L++,d.B[e][1]++,d.xa[d.La++]=d.s.f,d.La>=d.xa.length&&(d.La=0));d=!!g}if(d){b=void 0;this.aa();break}this.f++;this.o[a].call(this);if(0<=this.b){this.b>=this.oa&&this.b<=this.pa&&za(this,this.b,this.f);if(d=c)d=this.u,e=!1,Fa(d,this.b,d.wa,"read")&&(e=!0),d=!!e;if(d){b=!1;this.aa();
|
||||
break}this.b=-1}else if(0<=this.g){this.g>=this.da&&this.g<=this.ia&&Aa(this,this.g,this.f);if(d=c){d=this.u;var e=this.g,g=this.a[this.g],h=!1;(g&255)!=g&&(d.l("invalid value at "+q(e)+": "+g),h=!0);Fa(d,e,d.ya,"write")&&(h=!0);d=!!h}if(d){b=!1;this.aa();break}this.g=-1}this.D-=this.fb[a]}while(0<this.D);return b};function Ga(a){a.R=0;a.L-=a.D;a.D=0}f.aa=function(){J(this,!0);this.L-=this.D;this.D=0;this.C.ma&&(this.C.ma=!1,this.H.run&&(this.H.run.innerHTML="Run"))};
|
||||
f.update=function(){this.hb();Ca(this)};function Ha(a){return a.C.ma?a.U+a.L-a.D:0}f.S=function(a){return this.a[a]};f.W=function(a,b){this.a[a]=b};function Da(a){var b=a.c&256?1:0,b=b|(a.j&255?0:2),b=b|((a.v&255^a.A^a.v>>1)&128?64:0),b=b|(a.i&128?128:0);return a.B&60|b}
|
||||
function Ia(a){a.B|=8;a.o[97]=a.$b;a.o[101]=a.bc;a.o[105]=a.Zb;a.o[109]=a.Wb;a.o[113]=a.ac;a.o[117]=a.cc;a.o[121]=a.Yb;a.o[125]=a.Xb;a.o[225]=a.pe;a.o[229]=a.re;a.o[233]=a.oe;a.o[237]=a.le;a.o[241]=a.qe;a.o[245]=a.se;a.o[249]=a.ne;a.o[253]=a.me}function Ja(a){a.B&=-9;a.o[97]=a.yb;a.o[101]=a.Ab;a.o[105]=a.xb;a.o[109]=a.ub;a.o[113]=a.zb;a.o[117]=a.Bb;a.o[121]=a.wb;a.o[125]=a.vb;a.o[225]=a.Gb;a.o[229]=a.Ib;a.o[233]=a.Fb;a.o[237]=a.Cb;a.o[241]=a.Hb;a.o[245]=a.Jb;a.o[249]=a.Eb;a.o[253]=a.Db}
|
||||
function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.A=b^c;a.v=e;a.i=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.j=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.i=a.j=(a.c=b-c-d)&255;a.A=b^c;a.v=a.c;a.c^=256;a.D--;return e&255}function va(a){a.h=0;a.w=0;a.F=0;a.G=256;a.B=0;a.i=0;a.j=0;a.A=0;a.v=0;a.c=0;a.f=0;a.b=-1;a.g=-1;a.ta=0;a.U=a.L=a.D=0}
|
||||
f.yc=function(){this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.B|=16;this.B=Da(this);this.a[this.G--]=this.B;this.G|=256;this.B&=239;this.b=65534;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Sd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h|=this.a[this.b]};f.Ud=function(){this.b=this.a[this.f++];this.i=this.j=this.h|=this.a[this.b]};
|
||||
f.oc=function(){this.g=this.a[this.f++];this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Xd=function(){this.B=Da(this);this.a[this.G--]=this.B;this.G|=256};f.Rd=function(){this.b=this.f++;this.i=this.j=this.h|=this.a[this.b]};f.nc=function(){this.c=this.h<<1;this.i=this.j=this.h=this.c&255};f.Od=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h|=this.a[this.b]};
|
||||
f.ba=function(a,b,c){this.a=a;this.O=b;this.qa=c-b+1;this.Ga=this.O+this.qa;this.O?u("unsupported CPU address buffer offset ("+this.O+")"):this.X()};f.ha=function(a,b){if(a&&!this.C.M){this.J=b;(this.u=L(b,"debugger"))&&this.u.Tb();var c=L(b,"video");c&&(this.hb=function(a){return function(){va(a)}}(c),this.ca=function(a){return function(){a.ca()}}(c));this.C.M=!0;this.reset(!0);this.update()}};function wa(a,b,c,d,e){0>xa(a.P,b,c,d,e)&&(a.oa>b&&(a.oa=b),a.pa<c&&(a.pa=c),a.P.push([b,c,d,e]))}
|
||||
function ya(a,b,c){for(var d=0;d<a.P.length;d++)b>=a.P[d][0]&&b<=a.P[d][1]&&a.P[d][3].call(a.P[d][2],b,c)}function N(a,b,c,d,e){0>xa(a.K,b,c,d,e)&&(a.da>b&&(a.da=b),a.ia<c&&(a.ia=c),a.K.push([b,c,d,e]))}function za(a,b,c){for(var d=0;d<a.K.length;d++)b>=a.K[d][0]&&b<=a.K[d][1]&&a.K[d][3].call(a.K[d][2],b,c)}function xa(a,b,c,d,e){for(var g=0;g<a.length;g++)if(a[g][0]==b&&a[g][1]==c&&a[g][2]==d&&a[g][3]==e)return g;return-1}
|
||||
function M(a,b,c){void 0!==b&&(a.speed=b,a.H.setSpeed&&(a.H.setSpeed.innerHTML=a.Sa[2<=b?0:b+1]),a.l("running at "+a.Sa[b].toLowerCase()+" speed "+a.ib[b]),c&&a.ca());a.U=0;a.Oa=ca();Aa(a)}f.hb=function(){};f.ca=function(){};function O(a,b,c,d){void 0!==a.H[b]&&(void 0===d&&(d=1),c="0000"+c.toString(16),a.H[b].innerHTML=c.slice(c.length-d).toUpperCase())}
|
||||
function Ba(a){O(a,"A",a.h,2);O(a,"X",a.w,2);O(a,"Y",a.F,2);var b=Ca(a);O(a,"C",b&1?1:0);O(a,"Z",b&2?1:0);O(a,"I",b&4?1:0);O(a,"D",b&8?1:0);O(a,"B",b&16?1:0);O(a,"V",b&64?1:0);O(a,"N",b&128?1:0);O(a,"S",a.G,4);O(a,"PC",a.f,4);a.H.speed&&a.ta&&(a.H.speed.innerHTML=a.ta.toFixed(1)+"Mhz")}
|
||||
function Aa(a,b){var c=30;c<a.Ja&&(c=a.Ja);c<a.Ia&&(c=a.Ia);var d=1;b&&a.speed>a.Ra&&a.ta&&(d=a.ta);d>a.Ma&&2>a.speed&&(d=a.Ma);a.kb=Math.round(1E3/30);a.ja=Math.floor(1E6/c*d);a.ra=Math.floor(1E6/30*d);a.Xa=Math.floor(1E6/a.Ja*d);a.Wa=Math.floor(1E6/a.Ia*d);b||(a.R=a.ra,a.Z=a.Xa,a.V=a.Wa);a.Aa=0}
|
||||
function Da(a){var b=ca(),c=a.kb;a.$&&(c=Math.round(c*a.$/a.ra));c=c-(b-a.lb);if(b=b-a.Oa)a.ta=Math.round(a.U/(100*b))/10,864E5<=b&&M(a);0>c?c=0:1==a.speed?a.ta<=a.Ma&&(c=0):2==a.speed&&(c=0);a.Aa+=a.$;return c}
|
||||
f.va=function(){if(I(this,!0)){this.C.ma||(M(this),this.J&&this.J.start(),this.C.ma=!0,this.H.run&&(this.H.run.innerHTML="Halt"),this.ca());1E6<=this.Aa&&Aa(this,!0);this.$=0;this.lb=ca();try{do{this.step(this.ja);var a=this.L-this.D;this.U+=a;this.$+=a;this.L=this.D=0;this.Z-=this.ja;0>=this.Z&&(this.Z+=this.Xa,this.hb());this.V-=this.ja;0>=this.V&&(this.V+=this.Wa,Ba(this));this.R-=this.ja;if(0>=this.R){this.R+=this.ra;break}}while(this.C.ma)}catch(b){this.aa();this.update();I(this,!1);qa(this,
|
||||
b.stack||b.message);return}setTimeout(function(a){return function(){a.va()}}(this),Da(this))}else this.update(),this.J&&this.J.stop(this.Oa,this.U)};
|
||||
f.step=function(a){var b=!0;this.b=this.g=-1;var c;if(c=a&&this.u)c=this.u,c=0<c.sa.length||0<c.wa.length||0<c.ya.length;this.L=this.D=a;do{a=this.a[this.f];var d;if(d=c){d=this.u;var e=a,g=!1;Ea(d,this.f,d.sa,"exec")?g=!0:(d.L++,d.B[e][1]++,d.xa[d.La++]=d.s.f,d.La>=d.xa.length&&(d.La=0));d=!!g}if(d){b=void 0;this.aa();break}this.f++;this.o[a].call(this);if(0<=this.b){this.b>=this.oa&&this.b<=this.pa&&ya(this,this.b,this.f);if(d=c)d=this.u,e=!1,Ea(d,this.b,d.wa,"read")&&(e=!0),d=!!e;if(d){b=!1;this.aa();
|
||||
break}this.b=-1}else if(0<=this.g){this.g>=this.da&&this.g<=this.ia&&za(this,this.g,this.f);if(d=c){d=this.u;var e=this.g,g=this.a[this.g],h=!1;(g&255)!=g&&(d.l("invalid value at "+q(e)+": "+g),h=!0);Ea(d,e,d.ya,"write")&&(h=!0);d=!!h}if(d){b=!1;this.aa();break}this.g=-1}this.D-=this.fb[a]}while(0<this.D);return b};function Fa(a){a.R=0;a.L-=a.D;a.D=0}f.aa=function(){J(this,!0);this.L-=this.D;this.D=0;this.C.ma&&(this.C.ma=!1,this.H.run&&(this.H.run.innerHTML="Run"))};
|
||||
f.update=function(){this.hb();Ba(this)};function Ga(a){return a.C.ma?a.U+a.L-a.D:0}f.S=function(a){return this.a[a]};f.W=function(a,b){this.a[a]=b};function Ca(a){var b=a.c&256?1:0,b=b|(a.j&255?0:2),b=b|((a.v&255^a.A^a.v>>1)&128?64:0),b=b|(a.i&128?128:0);return a.B&60|b}
|
||||
function Ha(a){a.B|=8;a.o[97]=a.$b;a.o[101]=a.bc;a.o[105]=a.Zb;a.o[109]=a.Wb;a.o[113]=a.ac;a.o[117]=a.cc;a.o[121]=a.Yb;a.o[125]=a.Xb;a.o[225]=a.pe;a.o[229]=a.re;a.o[233]=a.oe;a.o[237]=a.le;a.o[241]=a.qe;a.o[245]=a.se;a.o[249]=a.ne;a.o[253]=a.me}function Ia(a){a.B&=-9;a.o[97]=a.yb;a.o[101]=a.Ab;a.o[105]=a.xb;a.o[109]=a.ub;a.o[113]=a.zb;a.o[117]=a.Bb;a.o[121]=a.wb;a.o[125]=a.vb;a.o[225]=a.Gb;a.o[229]=a.Ib;a.o[233]=a.Fb;a.o[237]=a.Cb;a.o[241]=a.Hb;a.o[245]=a.Jb;a.o[249]=a.Eb;a.o[253]=a.Db}
|
||||
function P(a,b,c){var d=a.c&256?1:0,e=(b&15)+(c&15)+d;10<=e&&(e=e+6&15|16);e+=(b&240)+(c&240);a.A=b^c;a.v=e;a.i=e&255;160<=e&&(e+=96);512<=e&&(e-=256);a.c=e;a.j=b+c+d&255;a.D--;return e&255}function Q(a,b,c){var d=a.c&256?0:1,e=(b&15)-(c&15)-d;0>e&&(e=(e-6&15)-16);e+=(b&240)-(c&240);0>e&&(e-=96);a.i=a.j=(a.c=b-c-d)&255;a.A=b^c;a.v=a.c;a.c^=256;a.D--;return e&255}function ua(a){a.h=0;a.w=0;a.F=0;a.G=256;a.B=0;a.i=0;a.j=0;a.A=0;a.v=0;a.c=0;a.f=0;a.b=-1;a.g=-1;a.ta=0;a.U=a.L=a.D=0}
|
||||
f.yc=function(){this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.B|=16;this.B=Ca(this);this.a[this.G--]=this.B;this.G|=256;this.B&=239;this.b=65534;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.Sd=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h|=this.a[this.b]};f.Ud=function(){this.b=this.a[this.f++];this.i=this.j=this.h|=this.a[this.b]};
|
||||
f.oc=function(){this.g=this.a[this.f++];this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Xd=function(){this.B=Ca(this);this.a[this.G--]=this.B;this.G|=256};f.Rd=function(){this.b=this.f++;this.i=this.j=this.h|=this.a[this.b]};f.nc=function(){this.c=this.h<<1;this.i=this.j=this.h=this.c&255};f.Od=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.h|=this.a[this.b]};
|
||||
f.lc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.xc=function(){this.f+=(this.i&128?0:(this.D--,this.a[this.f]<<24>>24))+1};f.Td=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Vd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h|=this.a[this.b]};
|
||||
f.pc=function(){this.g=this.a[this.f++]+this.w&255;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};f.Bc=function(){this.c=0};f.Qd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.h|=this.a[this.b]};f.Pd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h|=this.a[this.b]};f.mc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.a[this.g]<<1;this.i=this.j=this.a[this.g]=this.c&255};
|
||||
f.pd=function(){this.b=this.f++;this.a[this.G--]=this.f>>8;this.G|=256;this.a[this.G--]=this.f&255;this.G|=256;this.f=this.a[this.b]|this.a[this.b+1]<<8};f.hc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.h&=this.a[this.b]};f.uc=function(){this.b=this.a[this.f++];this.j=this.h&this.a[this.b];this.i=this.i&127|this.a[this.b]&128;this.v=0;this.A=this.a[this.b]&64?128:0};f.jc=function(){this.b=this.a[this.f++];this.i=this.j=this.h&=this.a[this.b]};
|
||||
|
|
@ -64,102 +64,102 @@ f.xd=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.h=this.a[t
|
|||
f.rd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.h=this.a[this.b]};f.zd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.w=this.a[this.b]};f.Rc=function(){this.b=this.f++;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Jc=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};
|
||||
f.Sc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Lc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Vc=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.md=function(){this.i=this.j=this.F=this.F+1&255};f.Ic=function(){this.b=this.f++;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Xc=function(){this.i=this.j=this.w=this.w-1&255};
|
||||
f.Qc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.F-this.a[this.b];this.c^=256};f.Fc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Tc=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.wc=function(){this.f+=(this.j&255?(this.D--,this.a[this.f]<<24>>24):0)+1};
|
||||
f.Kc=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Mc=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Wc=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Cc=function(){Ja(this)};
|
||||
f.Kc=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Mc=function(){this.b=this.a[this.f++]+this.w&255;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Wc=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Cc=function(){Ia(this)};
|
||||
f.Hc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Gc=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.c=this.h-this.a[this.b];this.c^=256};f.Uc=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]-1&255};f.Oc=function(){this.b=this.f++;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256};
|
||||
f.Gb=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.pe=function(){this.b=this.a[this.f++]+this.w&255;this.b=this.a[this.b]|this.a[this.b+1]<<8;this.h=Q(this,this.h,this.a[this.b])};f.Pc=function(){this.b=this.a[this.f++];this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256};
|
||||
f.Ib=function(){this.b=this.a[this.f++];this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.re=function(){this.b=this.a[this.f++];this.h=Q(this,this.h,this.a[this.b])};f.jd=function(){this.g=this.a[this.f++];this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.ld=function(){this.i=this.j=this.w=this.w+1&255};
|
||||
f.Fb=function(){this.b=this.f++;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.oe=function(){this.b=this.f++;this.h=Q(this,this.h,this.a[this.b])};f.Nd=function(){};f.Nc=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.c=this.w-this.a[this.b];this.c^=256};
|
||||
f.Cb=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.le=function(){this.b=this.a[this.f++]|this.a[this.f++]<<8;this.h=Q(this,this.h,this.a[this.b])};f.gd=function(){this.g=this.a[this.f++]|this.a[this.f++]<<8;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.sc=function(){this.f+=(this.j&255?0:(this.D--,this.a[this.f]<<24>>24))+1};
|
||||
f.Hb=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.qe=function(){this.b=this.a[this.f++];this.b=(this.a[this.b]|this.a[this.b+1]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])};
|
||||
f.Jb=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.se=function(){this.b=this.a[this.f++]+this.w&255;this.h=Q(this,this.h,this.a[this.b])};f.kd=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.ue=function(){Ia(this)};
|
||||
f.Jb=function(){this.b=this.a[this.f++]+this.w&255;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.se=function(){this.b=this.a[this.f++]+this.w&255;this.h=Q(this,this.h,this.a[this.b])};f.kd=function(){this.g=this.a[this.f++]+this.w&255;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};f.ue=function(){Ha(this)};
|
||||
f.Eb=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.ne=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.F;this.h=Q(this,this.h,this.a[this.b])};
|
||||
f.Db=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.c=this.h-this.a[this.b]-(this.c&256?0:1);this.A=this.h^this.a[this.b];this.v=this.c;this.i=this.j=this.h=this.c&255;this.c^=256};f.me=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.h=Q(this,this.h,this.a[this.b])};f.hd=function(){this.g=(this.a[this.f++]|this.a[this.f++]<<8)+this.w;this.i=this.j=this.a[this.g]=this.a[this.g]+1&255};
|
||||
f.Je=function(){var a;a=this.a[this.f++];switch(a){case 0:this.l("HALT");this.aa();break;case 1:a=this.f;for(var b="";a<this.a.length;){var c=this.a[a++];if(!c)break;b+=String.fromCharCode(c)}this.f=a;b=b.replace(/%A/g,n(this.h,2)).replace(/%X/g,n(this.w,2)).replace(/%Y/g,n(this.F,2));this.l(b);Ga(this);break;default:this.f-=2,this.l("undefined opSim: "+p(a)+" at "+q(this.f)),this.aa()}};f.m=function(){var a=this.a[--this.f];this.l("undefined opcode: "+p(a)+" at "+q(this.f));this.aa()};
|
||||
x(function(){for(var a=F(document,"c1pjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new ua(d);E(d,c)}});function R(a){z.call(this,"C1PROM",a);this.b=this.a=null;this.g=a.size;if(this.o=a.image){a=this.o;var b;b=this.o;var c="",d=b.lastIndexOf(".");0<=d&&(c=b.substr(d+1).toLowerCase());b=c;"json"!=b&&"hex"!=b&&(a="http://"+(window?window.location.host:"www.pcjs.org")+"/api/v1/dump?file="+this.o+"&format=bytes");t(a,this,this.A)}}B(R);
|
||||
R.prototype.ba=function(a,b,c,d){this.a=a;this.v=b;a=c-b+1;this.g||(this.g=a);a!=this.g?ra(this,"computer-specified ROM size ("+q(a)+") does not match component-specified size ("+q(this.g)+")"):(d&&(this.s=d,N(d,b,c,this,this.W)),Ka(this))};R.prototype.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))};R.prototype.W=function(a,b){if(void 0!==b){this.u&&S(this.u,this,a,b,this.u.pb,!0);var c=a-this.v;this.a[this.v+c]=this.b?this.b[c]:0}};
|
||||
R.prototype.A=function(a,b,c){if(c)this.l('Error loading ROM "'+a+'" ('+c+")");else{if("["==b.charAt(0)||"{"==b.charAt(0))try{var d=eval("("+b+")"),e=d.bytes;e?this.b=e:this.b=d}catch(g){this.l('Error processing ROM "'+a+'": '+g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.b=Array(a.length),b=0;b<a.length;b++)this.b[b]=parseInt(a[b],16);Ka(this)}};
|
||||
function Ka(a){if(!K(a))if(!a.o)a.X();else if(a.b&&a.a){var b=a.b.length;if(b!=a.g)ra(a,"ROM image size ("+q(b)+") does not match component-specified size ("+q(a.g)+")");else{for(var c=0;c<b;c++)a.a[a.v+c]=a.b[c];a.X()}}}x(function(){for(var a=F(document,"c1pjs","rom"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new R(d);E(d,c)}});function La(a){z.call(this,"C1PRAM",a)}B(La);La.prototype.ba=function(a){this.a=a;this.X()};
|
||||
x(function(){for(var a=F(document,"c1pjs","ram"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new La(d);E(d,c)}});
|
||||
function Ma(a){z.call(this,"C1PKeyboard",a);this.C.M=!1;this.Ia=a.model;this.da=8;this.fb=10;this.Xa=13;this.ia=27;this.Oa=this.da;this.Wa=this.fb;this.Ja=this.Xa;this.$=this.ia;this.L=241;this.Z=224;this.Sa=3;this.Ta=15;this.K=1;this.D=[];this.D["break"]=this.Z;this.D.esc=this.$;this.D["ctrl-c"]=this.Sa;this.D["ctrl-o"]=this.Ta;this.b=[];this.b[49]=30464;this.b[33]=30704;this.b[50]=30208;this.b[34]=30448;this.b[51]=29952;this.b[35]=30192;this.b[52]=29696;this.b[36]=29936;this.b[53]=29440;this.b[37]=
|
||||
f.Je=function(){var a;a=this.a[this.f++];switch(a){case 0:this.l("HALT");this.aa();break;case 1:a=this.f;for(var b="";a<this.a.length;){var c=this.a[a++];if(!c)break;b+=String.fromCharCode(c)}this.f=a;b=b.replace(/%A/g,n(this.h,2)).replace(/%X/g,n(this.w,2)).replace(/%Y/g,n(this.F,2));this.l(b);Fa(this);break;default:this.f-=2,this.l("undefined opSim: "+p(a)+" at "+q(this.f)),this.aa()}};f.m=function(){var a=this.a[--this.f];this.l("undefined opcode: "+p(a)+" at "+q(this.f));this.aa()};
|
||||
x(function(){for(var a=F(document,"c1pjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new ta(d);E(d,c)}});function R(a){z.call(this,"C1PROM",a);this.b=this.a=null;this.g=a.size;if(this.o=a.image){a=this.o;var b;b=this.o;var c="",d=b.lastIndexOf(".");0<=d&&(c=b.substr(d+1).toLowerCase());b=c;"json"!=b&&"hex"!=b&&(a="http://"+(window?window.location.host:"www.pcjs.org")+"/api/v1/dump?file="+this.o+"&format=bytes");t(a,this,this.A)}}B(R);
|
||||
R.prototype.ba=function(a,b,c,d){this.a=a;this.v=b;a=c-b+1;this.g||(this.g=a);a!=this.g?qa(this,"computer-specified ROM size ("+q(a)+") does not match component-specified size ("+q(this.g)+")"):(d&&(this.s=d,N(d,b,c,this,this.W)),Ja(this))};R.prototype.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))};R.prototype.W=function(a,b){if(void 0!==b){this.u&&S(this.u,this,a,b,this.u.pb,!0);var c=a-this.v;this.a[this.v+c]=this.b?this.b[c]:0}};
|
||||
R.prototype.A=function(a,b,c){if(c)this.l('Error loading ROM "'+a+'" ('+c+")");else{if("["==b.charAt(0)||"{"==b.charAt(0))try{var d=eval("("+b+")"),e=d.bytes;e?this.b=e:this.b=d}catch(g){this.l('Error processing ROM "'+a+'": '+g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.b=Array(a.length),b=0;b<a.length;b++)this.b[b]=parseInt(a[b],16);Ja(this)}};
|
||||
function Ja(a){if(!K(a))if(!a.o)a.X();else if(a.b&&a.a){var b=a.b.length;if(b!=a.g)qa(a,"ROM image size ("+q(b)+") does not match component-specified size ("+q(a.g)+")");else{for(var c=0;c<b;c++)a.a[a.v+c]=a.b[c];a.X()}}}x(function(){for(var a=F(document,"c1pjs","rom"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new R(d);E(d,c)}});function Ka(a){z.call(this,"C1PRAM",a)}B(Ka);Ka.prototype.ba=function(a){this.a=a;this.X()};
|
||||
x(function(){for(var a=F(document,"c1pjs","ram"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new Ka(d);E(d,c)}});
|
||||
function La(a){z.call(this,"C1PKeyboard",a);this.C.M=!1;this.Ia=a.model;this.da=8;this.fb=10;this.Xa=13;this.ia=27;this.Oa=this.da;this.Wa=this.fb;this.Ja=this.Xa;this.$=this.ia;this.L=241;this.Z=224;this.Sa=3;this.Ta=15;this.K=1;this.D=[];this.D["break"]=this.Z;this.D.esc=this.$;this.D["ctrl-c"]=this.Sa;this.D["ctrl-o"]=this.Ta;this.b=[];this.b[49]=30464;this.b[33]=30704;this.b[50]=30208;this.b[34]=30448;this.b[51]=29952;this.b[35]=30192;this.b[52]=29696;this.b[36]=29936;this.b[53]=29440;this.b[37]=
|
||||
29680;this.b[54]=29184;this.b[38]=29424;this.b[55]=28928;this.b[39]=29168;this.b[56]=26368;this.b[40]=26608;this.b[57]=26112;this.b[41]=26352;this.b[48]=25856;this.b[58]=25600;this.b[42]=25840;this.b[45]=25344;this.b[61]=25584;this.b[46]=22272;this.b[62]=22512;this.b[108]=22016;this.b[76]=22256;this.b[92]=22256;this.b[111]=21760;this.b[79]=22E3;this.b[this.Oa]=22E3;this.b[this.Wa]=21504;this.b[this.Ja]=21248;this.b[119]=18176;this.b[87]=18416;this.b[101]=17920;this.b[69]=18160;this.b[114]=17664;this.b[82]=
|
||||
17904;this.b[116]=17408;this.b[84]=17648;this.b[121]=17152;this.b[89]=17392;this.b[117]=16896;this.b[85]=17136;this.b[105]=16640;this.b[73]=16880;this.b[115]=14080;this.b[83]=14320;this.b[100]=13824;this.b[68]=14064;this.b[102]=13568;this.b[70]=13808;this.b[103]=13312;this.b[71]=13552;this.b[104]=13056;this.b[72]=13296;this.b[106]=12800;this.b[74]=13040;this.b[107]=12544;this.b[75]=12784;this.b[91]=12784;this.b[120]=9984;this.b[88]=10224;this.b[99]=9728;this.b[67]=9968;this.b[118]=9472;this.b[86]=
|
||||
9712;this.b[98]=9216;this.b[66]=9456;this.b[110]=8960;this.b[78]=9200;this.b[94]=9200;this.b[109]=8704;this.b[77]=8944;this.b[93]=8944;this.b[44]=8448;this.b[60]=8688;this.b[113]=5888;this.b[81]=6128;this.b[97]=5632;this.b[65]=5872;this.b[122]=5376;this.b[90]=5616;this.b[32]=5120;this.b[47]=4864;this.b[63]=5104;this.b[59]=4608;this.b[43]=4848;this.b[112]=4352;this.b[80]=4592;this.b[64]=4592;this.b[this.L]=1536;this.b[this.$]=1280;this.b[240]=512;this.b[242]=256;this.b[244]=0;this.reset()}B(Ma);
|
||||
f=Ma.prototype;f.reset=function(){this.Na(this.Ia);this.g=this.K;this.oa=0;this.o=[this.K,0,0,0,0,0,0,0];this.P=[];if(this.v)for(var a in this.v)isNaN(+a)||this.v[a]&&clearTimeout(this.v[a]);this.v=[];this.Aa=this.A=0;this.pa=-1;this.ja=this.o;this.qa=this.V=0;this.B=""};
|
||||
f.T=function(a,b,c){if(void 0===this.H[b])switch(b){case "keyDown":return this.H[b]=c,c.onkeydown=function(a){return function(b){return Na(a,b,!0)}}(this),!0;case "keyPress":return this.H[b]=c,c.onkeypress=function(a){return function(b){var c=!0;b=b||window.event;b=b.which||b.keyCode;a.B="";a.g&8?a.g&=-9:c=!Oa(a,b);a.u&&G(a.u,a.u.za)&&a.u.message("keyPress("+p(b)+"): "+(c?"pass":"consume"));return c}}(this),!0;case "keyUp":return this.H[b]=c,c.onkeyup=function(a){return function(b){return Na(a,b,
|
||||
!1)}}(this),!0;case "break":return this.H[b]=c,c.onclick=function(a){return function(){a.J&&a.J.reset(!0)}}(this),!0;default:if(void 0!==this.D[b])return this.H[b]=c,c.onclick=function(a,b,c){return function(){a.s&&a.s.ca();return!Oa(a,c)}}(this,b,this.D[b]),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.ra=b;this.ib=c-b+1;this.lb=this.ra+this.ib;d&&(this.s=d,N(d,b,c,this,this.W));this.X()};f.Na=function(a){this.O=a;this.R=255;600!=this.O&&(this.R=0,this.l("updated keyboard model: "+this.O))};
|
||||
f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.u=L(b,"debugger"))};f.X=function(){this.U=(this.kb=v("iOS"))||v("Android");this.u&&G(this.u,this.u.za)&&this.u.message("mobile keyboard support: "+(this.U?"true":"false")+" ("+window.navigator.userAgent+")");z.prototype.X.call(this)};function Pa(a,b){var c=b?100:250;a.s&&a.s.ta&&(c/=a.s.ta);return c}function Qa(a,b){!a.A||void 0!==b&&b==a.A||(a.u&&G(a.u,a.u.za)&&a.u.message("autoClear("+p(a.A)+")"),clearTimeout(a.v[a.A]),T(a,a.A,!1,4))}
|
||||
function U(a,b,c){a.B=b;Ra(a,c||300)}function Ra(a,b){if(0<a.B.length){var c=a.B.charCodeAt(0);10==c&&(c=13);65<=c&&90>=c&&(c+=32);a.B=a.B.substr(1);Oa(a,c)}0<a.B.length&&setTimeout(function(a){return function(){Ra(a,b)}}(a),b)}
|
||||
function Na(a,b,c){var d,e=!c;b=b.keyCode;c&&(a.Aa=b);16==b?(a.g&=-5,c&&(a.g|=4),b+=224,e=!1):18==b?(a.g&=-3,c&&(a.g|=2),b+=224,e=!1):b==a.L-224?(a.g&=-65,c&&(a.g|=64),b+=224,e=!1):20==b?(c=!c,a.g&=~a.K,c&&(a.g|=a.K),b+=224,e=!1):91==b?(a.g&=-9,c&&(a.g|=8),e=!1,d=!0):d=9==b?e=!1:b==a.ia||b==a.da?c?!Oa(a,b):!1:!0;e&&(a.g&=-9,a.U||b!=a.Aa||Qa(a));void 0===d&&(d=!T(a,b,c,2));a.u&&G(a.u,a.u.za)&&a.u.message("key"+(c?"Down":"Up")+"("+p(b)+"): "+(d?"pass":"consume"));return d}
|
||||
function Oa(a,b){var c=!1;b==a.Z?a.J&&(a.J.reset(!0),c=!0):(a.U&&65<=b&&90>=b&&(b+=32),Qa(a,b),T(a,b,!0,0)&&(a.s.speed==a.s.eb?T(a,b,!1,1):(c=!1,a.v[b]&&(clearTimeout(a.v[b]),c=!0),c=Pa(a,c),a.v[a.A=b]=setTimeout(function(a){return function(){T(a,b,!1,3)}}(a),c),a.u&&G(a.u,a.u.za)&&a.u.message("keyPressSimulate("+p(b)+"): setTimeout()")),c=!0));a.u&&G(a.u,a.u.za)&&a.u.message("keyPressSimulate("+p(b)+"): "+(c?"true":"false"));return c}
|
||||
function T(a,b,c,d){var e=!1;c||(a.v[b]=null,a.A==b&&(a.A=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.L),h=a.b[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.o[b]|=1<<e,a.o[0]=g==a.L?a.o[0]|64:240==g?a.o[0]|4:242==g?a.o[0]|2:a.o[0]&-71):(a.o[b]&=~(1<<e),a.o[0]&=-71,a.o[0]|=a.g&70),c=0==d&&!a.P.length,a.P.push(a.o.slice()),Sa(a,c),e=!0);return e}f.S=function(){};f.W=function(a){this.oa=this.s.S(a)^this.R;this.V++;Sa(this,!1,a)};
|
||||
function Sa(a,b,c){var d=Ha(a.s);b||(a.s.speed==a.s.eb?b=void 0!==c&&32<=a.V:(b=d-a.qa,b=0>b||8192<=b));b&&(b=a.P.shift(),void 0!==b&&(a.ja=b),a.V=0,a.qa=d);for(b=d=0;8>b;b++)a.oa&1<<b&&(d|=a.ja[b]);d^=a.R;if(void 0!==c)a.a[c]=d;else if(c=a.ra,d!=a.pa)for(;c<a.lb;c++)a.a[c]=d;a.pa=d}x(function(){for(var a=F(document,"c1pjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new Ma(d);E(d,c)}});
|
||||
function Ta(a,b,c,d){z.call(this,"C1PVideo",a);this.ja=a.model;this.Z=a.charCols;this.$=a.charRows;this.pa=a.screenWidth;this.qa=a.screenHeight;this.A=a.charWidth;this.B=a.charHeight;Ua(this);this.D=b;this.ia=c;this.o=d}B(Ta);f=Ta.prototype;f.reset=function(a){this.Na(this.ja);if(this.a)for(var b=this.K;b<this.P;b++)this.a[b]=a?Math.floor(256*Math.random()):32};f.T=function(a,b,c){switch(b){case "refresh":return this.H[b]=c,c.onclick=function(a){return function(){Va(a);wa(a)}}(this),!0}return!1};
|
||||
f.ba=function(a,b,c,d){this.a=a;this.K=b;this.oa=c-b+1;this.P=this.K+this.oa;d&&(this.s=d,xa(d,56832,56832,this,this.S),N(d,56832,56832,this,this.W));this.reset(!0)};function Ua(a,b,c,d,e){a.J=void 0!==b?b:a.Z;a.ra=void 0!==c?c:a.$;a.g=a.J*a.ra;a.P=a.K+a.g;a.V=void 0!==d?d:0;a.da=void 0!==e?e:c;a.R=Math.floor(a.pa/a.J);a.U=Math.floor(a.qa/a.da)}f.ca=function(){this.D.focus()};
|
||||
f.Na=function(a){this.O=a;600==this.O?(Ua(this,this.Z,this.$,3,25),1024==this.g&&this.s&&(this.v=this.P+this.g-1,N(this.s,this.v,this.v,this,this.Mb))):(this.l("updated video model: "+this.O),Ua(this,64,32));Va(this);wa(this)};f.ha=function(a,b){if(a&&!this.C.M&&K(this)){if(this.C.M=!0,this.u=L(b,"debugger"),this.b=L(b,"keyboard"))this.b.T("canvas","keyDown",this.D),this.b.T("canvas","keyPress",this.D),this.b.T("canvas","keyUp",this.D)}else!a&&this.C.M&&(this.C.M=!1)};
|
||||
f.X=function(){this.A||(this.A=Math.floor(this.o.width/16));this.B||(this.B=Math.floor(this.o.height/16));z.prototype.X.call(this)};f.S=function(a,b){var c=this.s.S(a);void 0!==b&&this.u&&S(this.u,this,a,b,this.u.ab);this.s.W(a,c&127|(Math.floor(Ha(this.s)/8333)&1?128:0))};f.W=function(a,b){void 0!==b&&this.u&&S(this.u,this,a,b,this.u.ab)};
|
||||
f.Mb=function(a,b){if(void 0!==b){this.u&&S(this.u,this,a,b,this.u.ab,!0);this.Na(540);this.b&&this.b.Na(542);var c=this.s,d=c.K,e=[],g=ya(d,this.v,this.v,this,this.Mb);if(0<=g){e.push(d[g][0]);e.push(d[g][1]);d.splice(g,1);for(var h=65536,k=0,g=0;g<d.length;g++)h>d[g][0]&&(h=d[g][0]),k<d[g][1]&&(k=d[g][1]);e.push(h);e.push(k)}4==e.length&&(c.da=e[2],c.ia=e[3])}};function Va(a){a.L=Array(a.g);for(var b=0;b<=a.g;b++)a.L[b]=-1}
|
||||
function wa(a){var b=0;if(a.C.M)for(;b<a.g;){var c=a.a[a.K+b];if(a.L[b]!=c){var d=Math.floor(b/a.J);if(d>=a.V&&(d-=a.V,d<a.da)){var e=c*a.A;a.ia.drawImage(a.o,e%a.o.width,Math.floor(e/a.o.width)*a.B,a.A,a.B,b%a.J*a.R,d*a.U,a.R,a.U)}a.L[b]=c}b++}}
|
||||
9712;this.b[98]=9216;this.b[66]=9456;this.b[110]=8960;this.b[78]=9200;this.b[94]=9200;this.b[109]=8704;this.b[77]=8944;this.b[93]=8944;this.b[44]=8448;this.b[60]=8688;this.b[113]=5888;this.b[81]=6128;this.b[97]=5632;this.b[65]=5872;this.b[122]=5376;this.b[90]=5616;this.b[32]=5120;this.b[47]=4864;this.b[63]=5104;this.b[59]=4608;this.b[43]=4848;this.b[112]=4352;this.b[80]=4592;this.b[64]=4592;this.b[this.L]=1536;this.b[this.$]=1280;this.b[240]=512;this.b[242]=256;this.b[244]=0;this.reset()}B(La);
|
||||
f=La.prototype;f.reset=function(){this.Na(this.Ia);this.g=this.K;this.oa=0;this.o=[this.K,0,0,0,0,0,0,0];this.P=[];if(this.v)for(var a in this.v)isNaN(+a)||this.v[a]&&clearTimeout(this.v[a]);this.v=[];this.Aa=this.A=0;this.pa=-1;this.ja=this.o;this.qa=this.V=0;this.B=""};
|
||||
f.T=function(a,b,c){if(void 0===this.H[b])switch(b){case "keyDown":return this.H[b]=c,c.onkeydown=function(a){return function(b){return Ma(a,b,!0)}}(this),!0;case "keyPress":return this.H[b]=c,c.onkeypress=function(a){return function(b){var c=!0;b=b||window.event;b=b.which||b.keyCode;a.B="";a.g&8?a.g&=-9:c=!Na(a,b);a.u&&G(a.u,a.u.za)&&a.u.message("keyPress("+p(b)+"): "+(c?"pass":"consume"));return c}}(this),!0;case "keyUp":return this.H[b]=c,c.onkeyup=function(a){return function(b){return Ma(a,b,
|
||||
!1)}}(this),!0;case "break":return this.H[b]=c,c.onclick=function(a){return function(){a.J&&a.J.reset(!0)}}(this),!0;default:if(void 0!==this.D[b])return this.H[b]=c,c.onclick=function(a,b,c){return function(){a.s&&a.s.ca();return!Na(a,c)}}(this,b,this.D[b]),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.ra=b;this.ib=c-b+1;this.lb=this.ra+this.ib;d&&(this.s=d,N(d,b,c,this,this.W));this.X()};f.Na=function(a){this.O=a;this.R=255;600!=this.O&&(this.R=0,this.l("updated keyboard model: "+this.O))};
|
||||
f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.u=L(b,"debugger"))};f.X=function(){this.U=(this.kb=v("iOS"))||v("Android");this.u&&G(this.u,this.u.za)&&this.u.message("mobile keyboard support: "+(this.U?"true":"false")+" ("+window.navigator.userAgent+")");z.prototype.X.call(this)};function Oa(a,b){var c=b?100:250;a.s&&a.s.ta&&(c/=a.s.ta);return c}function Pa(a,b){!a.A||void 0!==b&&b==a.A||(a.u&&G(a.u,a.u.za)&&a.u.message("autoClear("+p(a.A)+")"),clearTimeout(a.v[a.A]),T(a,a.A,!1,4))}
|
||||
function U(a,b,c){a.B=b;Qa(a,c||300)}function Qa(a,b){if(0<a.B.length){var c=a.B.charCodeAt(0);10==c&&(c=13);65<=c&&90>=c&&(c+=32);a.B=a.B.substr(1);Na(a,c)}0<a.B.length&&setTimeout(function(a){return function(){Qa(a,b)}}(a),b)}
|
||||
function Ma(a,b,c){var d,e=!c;b=b.keyCode;c&&(a.Aa=b);16==b?(a.g&=-5,c&&(a.g|=4),b+=224,e=!1):18==b?(a.g&=-3,c&&(a.g|=2),b+=224,e=!1):b==a.L-224?(a.g&=-65,c&&(a.g|=64),b+=224,e=!1):20==b?(c=!c,a.g&=~a.K,c&&(a.g|=a.K),b+=224,e=!1):91==b?(a.g&=-9,c&&(a.g|=8),e=!1,d=!0):d=9==b?e=!1:b==a.ia||b==a.da?c?!Na(a,b):!1:!0;e&&(a.g&=-9,a.U||b!=a.Aa||Pa(a));void 0===d&&(d=!T(a,b,c,2));a.u&&G(a.u,a.u.za)&&a.u.message("key"+(c?"Down":"Up")+"("+p(b)+"): "+(d?"pass":"consume"));return d}
|
||||
function Na(a,b){var c=!1;b==a.Z?a.J&&(a.J.reset(!0),c=!0):(a.U&&65<=b&&90>=b&&(b+=32),Pa(a,b),T(a,b,!0,0)&&(a.s.speed==a.s.eb?T(a,b,!1,1):(c=!1,a.v[b]&&(clearTimeout(a.v[b]),c=!0),c=Oa(a,c),a.v[a.A=b]=setTimeout(function(a){return function(){T(a,b,!1,3)}}(a),c),a.u&&G(a.u,a.u.za)&&a.u.message("keyPressSimulate("+p(b)+"): setTimeout()")),c=!0));a.u&&G(a.u,a.u.za)&&a.u.message("keyPressSimulate("+p(b)+"): "+(c?"true":"false"));return c}
|
||||
function T(a,b,c,d){var e=!1;c||(a.v[b]=null,a.A==b&&(a.A=0));var g=0,h=a.b[b];void 0===h&&(1<=b&&26>=b&&(b+=64,g=a.L),h=a.b[b]);void 0!==h&&(b=h>>12,e=h>>8&15,g||(g=h&255),c?(a.o[b]|=1<<e,a.o[0]=g==a.L?a.o[0]|64:240==g?a.o[0]|4:242==g?a.o[0]|2:a.o[0]&-71):(a.o[b]&=~(1<<e),a.o[0]&=-71,a.o[0]|=a.g&70),c=0==d&&!a.P.length,a.P.push(a.o.slice()),Ra(a,c),e=!0);return e}f.S=function(){};f.W=function(a){this.oa=this.s.S(a)^this.R;this.V++;Ra(this,!1,a)};
|
||||
function Ra(a,b,c){var d=Ga(a.s);b||(a.s.speed==a.s.eb?b=void 0!==c&&32<=a.V:(b=d-a.qa,b=0>b||8192<=b));b&&(b=a.P.shift(),void 0!==b&&(a.ja=b),a.V=0,a.qa=d);for(b=d=0;8>b;b++)a.oa&1<<b&&(d|=a.ja[b]);d^=a.R;if(void 0!==c)a.a[c]=d;else if(c=a.ra,d!=a.pa)for(;c<a.lb;c++)a.a[c]=d;a.pa=d}x(function(){for(var a=F(document,"c1pjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new La(d);E(d,c)}});
|
||||
function Sa(a,b,c,d){z.call(this,"C1PVideo",a);this.ja=a.model;this.Z=a.charCols;this.$=a.charRows;this.pa=a.screenWidth;this.qa=a.screenHeight;this.A=a.charWidth;this.B=a.charHeight;Ta(this);this.D=b;this.ia=c;this.o=d}B(Sa);f=Sa.prototype;f.reset=function(a){this.Na(this.ja);if(this.a)for(var b=this.K;b<this.P;b++)this.a[b]=a?Math.floor(256*Math.random()):32};f.T=function(a,b,c){switch(b){case "refresh":return this.H[b]=c,c.onclick=function(a){return function(){Ua(a);va(a)}}(this),!0}return!1};
|
||||
f.ba=function(a,b,c,d){this.a=a;this.K=b;this.oa=c-b+1;this.P=this.K+this.oa;d&&(this.s=d,wa(d,56832,56832,this,this.S),N(d,56832,56832,this,this.W));this.reset(!0)};function Ta(a,b,c,d,e){a.J=void 0!==b?b:a.Z;a.ra=void 0!==c?c:a.$;a.g=a.J*a.ra;a.P=a.K+a.g;a.V=void 0!==d?d:0;a.da=void 0!==e?e:c;a.R=Math.floor(a.pa/a.J);a.U=Math.floor(a.qa/a.da)}f.ca=function(){this.D.focus()};
|
||||
f.Na=function(a){this.O=a;600==this.O?(Ta(this,this.Z,this.$,3,25),1024==this.g&&this.s&&(this.v=this.P+this.g-1,N(this.s,this.v,this.v,this,this.Mb))):(this.l("updated video model: "+this.O),Ta(this,64,32));Ua(this);va(this)};f.ha=function(a,b){if(a&&!this.C.M&&K(this)){if(this.C.M=!0,this.u=L(b,"debugger"),this.b=L(b,"keyboard"))this.b.T("canvas","keyDown",this.D),this.b.T("canvas","keyPress",this.D),this.b.T("canvas","keyUp",this.D)}else!a&&this.C.M&&(this.C.M=!1)};
|
||||
f.X=function(){this.A||(this.A=Math.floor(this.o.width/16));this.B||(this.B=Math.floor(this.o.height/16));z.prototype.X.call(this)};f.S=function(a,b){var c=this.s.S(a);void 0!==b&&this.u&&S(this.u,this,a,b,this.u.ab);this.s.W(a,c&127|(Math.floor(Ga(this.s)/8333)&1?128:0))};f.W=function(a,b){void 0!==b&&this.u&&S(this.u,this,a,b,this.u.ab)};
|
||||
f.Mb=function(a,b){if(void 0!==b){this.u&&S(this.u,this,a,b,this.u.ab,!0);this.Na(540);this.b&&this.b.Na(542);var c=this.s,d=c.K,e=[],g=xa(d,this.v,this.v,this,this.Mb);if(0<=g){e.push(d[g][0]);e.push(d[g][1]);d.splice(g,1);for(var h=65536,k=0,g=0;g<d.length;g++)h>d[g][0]&&(h=d[g][0]),k<d[g][1]&&(k=d[g][1]);e.push(h);e.push(k)}4==e.length&&(c.da=e[2],c.ia=e[3])}};function Ua(a){a.L=Array(a.g);for(var b=0;b<=a.g;b++)a.L[b]=-1}
|
||||
function va(a){var b=0;if(a.C.M)for(;b<a.g;){var c=a.a[a.K+b];if(a.L[b]!=c){var d=Math.floor(b/a.J);if(d>=a.V&&(d-=a.V,d<a.da)){var e=c*a.A;a.ia.drawImage(a.o,e%a.o.width,Math.floor(e/a.o.width)*a.B,a.A,a.B,b%a.J*a.R,d*a.U,a.R,a.U)}a.L[b]=c}b++}}
|
||||
x(function(){for(var a=F(document,"c1pjs","video"),b=0;b<a.length;b++){var c=a[b],d=D(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","c1pjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor;
|
||||
e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",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.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Ta(d,e,h,g);g.onload=function(a){return function(){a.X()}}(e,d.charSet);g.src=d.charSet;E(e,c)}});
|
||||
function Wa(a){z.call(this,"C1PSerialPort",a);this.C.M=!1;this.O=a.demo;this.reset()}B(Wa);f=Wa.prototype;f.reset=function(){if(2!=this.g){this.v=this.B=0;var a=1;if(this.rb){var b=this.rb.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.o='10 PRINT "HELLO OSI #'+a+'"\n';this.g=this.A=0}};f.start=function(){this.b&&this.O&&(U(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.g=1;U(a.b,"LOAD\n")}}(this),12E3));this.O=!1};
|
||||
e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",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.appendChild(e);var g=new Image,h=e.getContext("2d"),e=new Sa(d,e,h,g);g.onload=function(a){return function(){a.X()}}(e,d.charSet);g.src=d.charSet;E(e,c)}});
|
||||
function Va(a){z.call(this,"C1PSerialPort",a);this.C.M=!1;this.O=a.demo;this.reset()}B(Va);f=Va.prototype;f.reset=function(){if(2!=this.g){this.v=this.B=0;var a=1;if(this.rb){var b=this.rb.match(/\d+/);null!==b&&(a=parseInt(b[0],10))}this.o='10 PRINT "HELLO OSI #'+a+'"\n';this.g=this.A=0}};f.start=function(){this.b&&this.O&&(U(this.b," C\n\n",3E3),setTimeout(function(a){return function(){a.g=1;U(a.b,"LOAD\n")}}(this),12E3));this.O=!1};
|
||||
f.T=function(a,b,c){var d=this;switch(b){case "listSerial":return this.H[b]=c,!0;case "loadSerial":return this.H[b]=c,c.onclick=function(){d.H.listSerial&&t(d.H.listSerial.value,d,d.sb)},!0;case "mountSerial":return!v("Mobi")&&window&&"FileReader"in window?(this.H[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){var b=a.currentTarget[1].files[0],c=new FileReader;c.onload=function(){d.sb(b.name,c.result.toString(),
|
||||
0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.D=b;this.L=c-b+1;this.K=this.D+this.L;if(this.s=d)xa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))};
|
||||
f.sb=function(a,b,c){b?(this.o=b,this.g=this.A=0,this.J&&this.b&&this.s.C.ma?(this.l("auto-loading "+a),this.s.ca(),"."!=this.o.charAt(0)?(this.g=1,U(this.b,"NEW\nLOAD\n")):(this.g=2,this.J.reset(!0),U(this.b,"ML"))):this.l(a+" ready to load")):this.l(a+" load error ("+c+")")};f.S=function(a,b){void 0!==b&&(a&1?Xa(this):this.o&&!this.A&&Xa(this))};f.W=function(a,b){void 0!==b&&this.u&&S(this.u,this,a,b,this.u.Rb,!0)};
|
||||
function Xa(a){if(void 0!==a.o){a.B=0;a.v=0;if(a.A<a.o.length){var b=a.o.charCodeAt(a.A++);10==b&&(b=13);a.B=b;a.v=1}else 1==a.g&&a.b&&U(a.b," \nRUN\n"),a.g=0;for(b=a.D+0;b<a.K;b+=2)a.a[b]=a.v?1:0;for(b=a.D+1;b<a.K;b+=2)a.a[b]=a.v?a.B:0}}x(function(){for(var a=F(document,"c1pjs","serial"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new Wa(d);E(d,c)}});function Ya(a){z.call(this,"C1PDiskController",a);this.C.M=!1;this.reset(!0)}B(Ya);f=Ya.prototype;
|
||||
f.reset=function(a){Za(this);this.b=-1;a&&(this.g=[],this.g[0]={Se:0,tb:40,Sb:!0,Fa:20,na:0,Ea:-1,Va:[]})};
|
||||
function Za(a){a.K={I:64,read:function(){},update:function(a){return function(c){void 0!==c&&(this.I=c);a.B.I&4||V(a,0,this)}}(a)};a.o={I:255,read:function(){this.update()},update:function(a){return function(c){void 0===c?c=a.o.I:$a(a,c,a.A.I);c=(c|190)&-2;if(0<=a.b&&a.g[a.b].Va.length){var d=a.g[a.b];d.Sb&&(c&=-33);d.na||(c&=-3);10>=--d.Fa&&(0<d.Fa?(c&=-129,ab(a)):(d.Fa=100,0<=a.b&&(a.g[a.b].Ea=0,bb(a))))}this.I=c;a.B.I&4&&V(a,0,this)}}(a)};a.B={I:0,read:function(){},update:function(a){return function(c){void 0!==
|
||||
c&&(this.I=c&-193);V(a,1,this);a.o.update();a.K.update()}}(a)};a.L={I:255,read:function(){},update:function(a){return function(c){void 0!==c&&(this.I=c);a.D.I&4||V(a,2,this)}}(a)};a.A={I:255,read:function(){},update:function(a){return function(c){void 0===c?c=a.A.I:$a(a,a.o.I,c);if(0<=a.b&&a.b<a.g.length){var d=a.g[a.b];d.Va.length&&a.A.I&8&&!(c&8)&&(c&4?d.na--:d.na++,a.u&&G(a.u,a.u.Ha)&&a.u.message("stepping "+(c&4?"down":"up")+" to track "+d.na),d.na>=d.tb&&(d.na=d.tb),0>d.na&&(d.na=0),d.Fa=20,
|
||||
a.o.update(a.o.I|128),ab(a))}this.I=c;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(this.I=c&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.v.I=14),this.I=c);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.v.I);c&=-2;0<=a.b&&0<=a.g[a.b].Ea&&(c|=1);this.I=c;V(a,16,this)}}(a)};a.O={I:0,read:function(a){return function(){bb(a)}}(a),
|
||||
0)};c.readAsText(b);return!1}):c.parentNode.removeChild(c),!0}return!1};f.ba=function(a,b,c,d){this.a=a;this.D=b;this.L=c-b+1;this.K=this.D+this.L;if(this.s=d)wa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.J=b,this.b=L(b,"keyboard"),this.u=L(b,"debugger"))};
|
||||
f.sb=function(a,b,c){b?(this.o=b,this.g=this.A=0,this.J&&this.b&&this.s.C.ma?(this.l("auto-loading "+a),this.s.ca(),"."!=this.o.charAt(0)?(this.g=1,U(this.b,"NEW\nLOAD\n")):(this.g=2,this.J.reset(!0),U(this.b,"ML"))):this.l(a+" ready to load")):this.l(a+" load error ("+c+")")};f.S=function(a,b){void 0!==b&&(a&1?Wa(this):this.o&&!this.A&&Wa(this))};f.W=function(a,b){void 0!==b&&this.u&&S(this.u,this,a,b,this.u.Rb,!0)};
|
||||
function Wa(a){if(void 0!==a.o){a.B=0;a.v=0;if(a.A<a.o.length){var b=a.o.charCodeAt(a.A++);10==b&&(b=13);a.B=b;a.v=1}else 1==a.g&&a.b&&U(a.b," \nRUN\n"),a.g=0;for(b=a.D+0;b<a.K;b+=2)a.a[b]=a.v?1:0;for(b=a.D+1;b<a.K;b+=2)a.a[b]=a.v?a.B:0}}x(function(){for(var a=F(document,"c1pjs","serial"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new Va(d);E(d,c)}});function Xa(a){z.call(this,"C1PDiskController",a);this.C.M=!1;this.reset(!0)}B(Xa);f=Xa.prototype;
|
||||
f.reset=function(a){Ya(this);this.b=-1;a&&(this.g=[],this.g[0]={Se:0,tb:40,Sb:!0,Fa:20,na:0,Ea:-1,Va:[]})};
|
||||
function Ya(a){a.K={I:64,read:function(){},update:function(a){return function(c){void 0!==c&&(this.I=c);a.B.I&4||V(a,0,this)}}(a)};a.o={I:255,read:function(){this.update()},update:function(a){return function(c){void 0===c?c=a.o.I:Za(a,c,a.A.I);c=(c|190)&-2;if(0<=a.b&&a.g[a.b].Va.length){var d=a.g[a.b];d.Sb&&(c&=-33);d.na||(c&=-3);10>=--d.Fa&&(0<d.Fa?(c&=-129,$a(a)):(d.Fa=100,0<=a.b&&(a.g[a.b].Ea=0,ab(a))))}this.I=c;a.B.I&4&&V(a,0,this)}}(a)};a.B={I:0,read:function(){},update:function(a){return function(c){void 0!==
|
||||
c&&(this.I=c&-193);V(a,1,this);a.o.update();a.K.update()}}(a)};a.L={I:255,read:function(){},update:function(a){return function(c){void 0!==c&&(this.I=c);a.D.I&4||V(a,2,this)}}(a)};a.A={I:255,read:function(){},update:function(a){return function(c){void 0===c?c=a.A.I:Za(a,a.o.I,c);if(0<=a.b&&a.b<a.g.length){var d=a.g[a.b];d.Va.length&&a.A.I&8&&!(c&8)&&(c&4?d.na--:d.na++,a.u&&G(a.u,a.u.Ha)&&a.u.message("stepping "+(c&4?"down":"up")+" to track "+d.na),d.na>=d.tb&&(d.na=d.tb),0>d.na&&(d.na=0),d.Fa=20,
|
||||
a.o.update(a.o.I|128),$a(a))}this.I=c;a.D.I&4&&V(a,2,this)}}(a)};a.D={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(this.I=c&-193);V(a,3,this);a.A.update();a.L.update()}}(a)};a.P={I:0,read:function(){},update:function(a){return function(c){void 0!==c&&(3==(c&3)&&(a.v.I=14),this.I=c);a.v.update()}}(a)};a.v={I:14,read:function(){},update:function(a){return function(c){void 0===c&&(c=a.v.I);c&=-2;0<=a.b&&0<=a.g[a.b].Ea&&(c|=1);this.I=c;V(a,16,this)}}(a)};a.O={I:0,read:function(a){return function(){ab(a)}}(a),
|
||||
update:function(a){return function(c){void 0!==c&&(this.I=c);V(a,17,this)}}(a)};a.R={I:0,read:function(){},update:function(){return function(){}}(a)}}
|
||||
f.T=function(a,b,c){switch(b){case "listDisk":return this.H[b]=c,!0;case "loadDisk":return this.H[b]=c,c.onclick=function(a){return function(){if(a.H.listDisk){var b=a.H.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);var h=b,k=b.lastIndexOf("/");0<=k&&(h=b.substr(k+1));k=h.indexOf("&");0<k&&(h=h.substr(0,k));a.l("loading "+h+"...");t(c,a,a.Ub)}}}(this),!0}return!1};
|
||||
f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)xa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))};
|
||||
f.Ub=function(a,b,c){if(c)this.l("disk load error ("+c+")");else{c=[];this.l("mounting "+a+"...");try{if(c=eval("("+b+")"),c.length)if(c[0].length){var d=c[0];if(void 0===d[0].trackNum)this.l("data error: "+d[0]);else if(this.g[0]){for(b=0;b<d.length;b++){var e,g=d[b],h=g.sectors;if(void 0===(e=g.trackNum)||void 0===h)throw Error("track "+b+" missing data");e!=b&&u("track "+e+" out of order (expected "+b+")");c=[];var k,l,m;if(e){cb(c,g,"trackSig");db(c,g);W(c,g,"trackType");for(var r=0;r<h.length;r++){k=
|
||||
h[r];l=k.sectorData;W(c,k,"sectorSig");W(c,k,"sectorNum");W(c,k,"sectorPages");for(m=0;m<l.length;m++)c.push(l[m]);cb(c,k,"sectorEndSig")}}else for(k=h[0],l=k.sectorData,W(c,g,"trackLoad",2),W(c,k,"sectorPages"),m=0;m<l.length;m++)c.push(l[m]);d[e].Lb=c;this.u&&G(this.u,this.u.Ha)&&this.u.message("track "+e+": "+c.length+" bytes")}this.g[0].Va=d;this.l("mount of "+a+" complete")}else this.l("no available drives")}else this.l("no tracks: "+a);else this.l("no data: "+a)}catch(H){this.l("disk data error: "+
|
||||
H.message)}}};function db(a,b){var c=b.trackNum;if(void 0===c)throw Error("missing bcd value: trackNum");a.push(Math.floor(c/10)<<4|c%10)}function W(a,b,c,d){b=b[c];if(void 0===b)throw Error("missing binary value: "+c);2==d&&a.push(b>>8&255);a.push(b&255)}function cb(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;c<b.length;c++)a.push(b.charCodeAt(c))}
|
||||
function eb(a,b,c){b&=63;16>b?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.O;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=eb(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Ha,!1,c.Kb);c.read()}};
|
||||
f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=eb(this,a-this.J,!0);if(this.u&&G(this.u,this.u.Ha|this.u.pb)&&(S(this.u,this,a,b,this.u.Ha,!0,d.Kb),d.Pb))for(var e=128,g=d.I^c;g&&e;)g&e&&this.u.message(" changed "+d.Kb+"."+d.Pb[e]+" to "+(c&e?"1":"0")),e>>=1;d.update(c)}};function $a(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function ab(a){0<=a.b&&(a.g[a.b].Ea=-1,a.O.update(255),a.v.update())}
|
||||
function bb(a){var b=null;if(0<=a.b){var b=a.g[a.b],c=b.Va[b.na];void 0!==c&&(0<=b.Ea&&b.Ea<c.Lb.length?(b.Fa=100,b=c.Lb[b.Ea++],a.O.update(b),a.v.update()):(b.Fa=10,ab(a)))}}function V(a,b,c){a.s.W(b+a.J,c.I)}x(function(){for(var a=F(document,"c1pjs","disk"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new Ya(d);E(d,c)}});
|
||||
function fb(a){z.call(this,"C1PDebugger",a);this.u=this;this.L=-1;this.ua=0;this.nb=null;this.Ya=!1;this.ga=0;this.sa=[];this.wa=[];this.ya=[];this.La=0;this.xa=[];this.B=[];this.pb=1;this.za=16;this.ab=32;this.Ha=64;this.Rb=128;this.la=this.Z=0;this.Ua={port:1,kbd:16,video:32,disk:64,serial:128};this.Qa=28;this.bb=56;this.Ka="ADC AND ASL BCC BCS BEQ BIT BMI BNE BPL BRK BVC BVS CLC CLD CLI CLV CMP CPX CPY DEC DEX DEY EOR INC INX INY JMP JSR LDA LDX LDY LSR NOP ORA PHA PHP PLA PLP ROL ROR RTI RTS SBC SEC SED SEI STA STX STY TAX TAY TSX TXA TXS TYA SIM .DB".split(" ");
|
||||
this.V=["HLT","MSG"];gb(this,!0);this.fa=[[10],[34,1,this.D],[this.bb,1],[],[],[34,1,this.b],[2,1,this.b],[],[36],[34,1,this.v],[2,0,this.P],[],[],[34,2,this.N],[2,2,this.N],[],[9,1,this.ea],[34,1,this.J],[],[],[],[34,1,this.g],[2,1,this.g],[],[13],[34,2,this.A],[],[],[],[34,2,this.o],[2,2,this.o],[],[this.Qa,2,this.Pa],[1,1,this.D],[],[],[6,1,this.b],[1,1,this.b],[39,1,this.b],[],[38],[1,1,this.v],[39,0,this.P],[],[6,2,this.N],[1,2,this.N],[39,2,this.N],[],[7,1,this.ea],[1,1,this.J],[],[],[],[1,
|
||||
f.ba=function(a,b,c,d){this.a=a;this.J=b;if(this.s=d)wa(d,b,c,this,this.S),N(d,b,c,this,this.W);this.X()};f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.u=L(b,"debugger"))};
|
||||
f.Ub=function(a,b,c){if(c)this.l("disk load error ("+c+")");else{c=[];this.l("mounting "+a+"...");try{if(c=eval("("+b+")"),c.length)if(c[0].length){var d=c[0];if(void 0===d[0].trackNum)this.l("data error: "+d[0]);else if(this.g[0]){for(b=0;b<d.length;b++){var e,g=d[b],h=g.sectors;if(void 0===(e=g.trackNum)||void 0===h)throw Error("track "+b+" missing data");e!=b&&u("track "+e+" out of order (expected "+b+")");c=[];var k,l,m;if(e){bb(c,g,"trackSig");cb(c,g);W(c,g,"trackType");for(var r=0;r<h.length;r++){k=
|
||||
h[r];l=k.sectorData;W(c,k,"sectorSig");W(c,k,"sectorNum");W(c,k,"sectorPages");for(m=0;m<l.length;m++)c.push(l[m]);bb(c,k,"sectorEndSig")}}else for(k=h[0],l=k.sectorData,W(c,g,"trackLoad",2),W(c,k,"sectorPages"),m=0;m<l.length;m++)c.push(l[m]);d[e].Lb=c;this.u&&G(this.u,this.u.Ha)&&this.u.message("track "+e+": "+c.length+" bytes")}this.g[0].Va=d;this.l("mount of "+a+" complete")}else this.l("no available drives")}else this.l("no tracks: "+a);else this.l("no data: "+a)}catch(H){this.l("disk data error: "+
|
||||
H.message)}}};function cb(a,b){var c=b.trackNum;if(void 0===c)throw Error("missing bcd value: trackNum");a.push(Math.floor(c/10)<<4|c%10)}function W(a,b,c,d){b=b[c];if(void 0===b)throw Error("missing binary value: "+c);2==d&&a.push(b>>8&255);a.push(b&255)}function bb(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;c<b.length;c++)a.push(b.charCodeAt(c))}
|
||||
function db(a,b,c){b&=63;16>b?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.B.I&4?a.o:a.K;break;case 1:a=a.B;break;case 2:a=a.D.I&4?a.A:a.L;break;case 3:a=a.D;break;case 16:a=c?a.P:a.v;break;case 17:a=a.O;break;default:a=a.R}return a}f.S=function(a,b){if(void 0!==b){var c=db(this,a-this.J,!1);this.u&&S(this.u,this,a,b,this.u.Ha,!1,c.Kb);c.read()}};
|
||||
f.W=function(a,b){if(void 0!==b){var c=this.s.S(a),d=db(this,a-this.J,!0);if(this.u&&G(this.u,this.u.Ha|this.u.pb)&&(S(this.u,this,a,b,this.u.Ha,!0,d.Kb),d.Pb))for(var e=128,g=d.I^c;g&&e;)g&e&&this.u.message(" changed "+d.Kb+"."+d.Pb[e]+" to "+(c&e?"1":"0")),e>>=1;d.update(c)}};function Za(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.o.I&64||(d|=1));a.b!=d&&(a.b=d,a.v.update())}function $a(a){0<=a.b&&(a.g[a.b].Ea=-1,a.O.update(255),a.v.update())}
|
||||
function ab(a){var b=null;if(0<=a.b){var b=a.g[a.b],c=b.Va[b.na];void 0!==c&&(0<=b.Ea&&b.Ea<c.Lb.length?(b.Fa=100,b=c.Lb[b.Ea++],a.O.update(b),a.v.update()):(b.Fa=10,$a(a)))}}function V(a,b,c){a.s.W(b+a.J,c.I)}x(function(){for(var a=F(document,"c1pjs","disk"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new Xa(d);E(d,c)}});
|
||||
function eb(a){z.call(this,"C1PDebugger",a);this.u=this;this.L=-1;this.ua=0;this.nb=null;this.Ya=!1;this.ga=0;this.sa=[];this.wa=[];this.ya=[];this.La=0;this.xa=[];this.B=[];this.pb=1;this.za=16;this.ab=32;this.Ha=64;this.Rb=128;this.la=this.Z=0;this.Ua={port:1,kbd:16,video:32,disk:64,serial:128};this.Qa=28;this.bb=56;this.Ka="ADC AND ASL BCC BCS BEQ BIT BMI BNE BPL BRK BVC BVS CLC CLD CLI CLV CMP CPX CPY DEC DEX DEY EOR INC INX INY JMP JSR LDA LDX LDY LSR NOP ORA PHA PHP PLA PLP ROL ROR RTI RTS SBC SEC SED SEI STA STX STY TAX TAY TSX TXA TXS TYA SIM .DB".split(" ");
|
||||
this.V=["HLT","MSG"];fb(this,!0);this.fa=[[10],[34,1,this.D],[this.bb,1],[],[],[34,1,this.b],[2,1,this.b],[],[36],[34,1,this.v],[2,0,this.P],[],[],[34,2,this.N],[2,2,this.N],[],[9,1,this.ea],[34,1,this.J],[],[],[],[34,1,this.g],[2,1,this.g],[],[13],[34,2,this.A],[],[],[],[34,2,this.o],[2,2,this.o],[],[this.Qa,2,this.Pa],[1,1,this.D],[],[],[6,1,this.b],[1,1,this.b],[39,1,this.b],[],[38],[1,1,this.v],[39,0,this.P],[],[6,2,this.N],[1,2,this.N],[39,2,this.N],[],[7,1,this.ea],[1,1,this.J],[],[],[],[1,
|
||||
1,this.g],[39,1,this.g],[],[44],[1,2,this.A],[],[],[],[1,2,this.o],[39,2,this.o],[],[41],[23,1,this.D],[],[],[],[23,1,this.b],[32,1,this.b],[],[35],[23,1,this.v],[32,0,this.P],[],[27,2,this.Pa],[23,2,this.N],[32,2,this.N],[],[11,1,this.ea],[23,1,this.J],[],[],[],[23,1,this.g],[32,1,this.g],[],[15],[23,2,this.A],[],[],[],[23,2,this.o],[32,2,this.o],[],[42],[0,1,this.D],[],[],[],[0,1,this.b],[40,1,this.b],[],[37],[0,1,this.v],[40,0,this.P],[],[27,2,this.ob],[0,2,this.N],[40,2,this.N],[],[12,1,this.ea],
|
||||
[0,1,this.J],[],[],[],[0,1,this.g],[40,1,this.g],[],[46],[0,2,this.A],[],[],[],[0,2,this.o],[40,2,this.o],[],[],[47,1,this.D],[],[],[49,1,this.b],[47,1,this.b],[48,1,this.b],[],[22],[],[53],[],[49,2,this.N],[47,2,this.N],[48,2,this.N],[],[3,1,this.ea],[47,1,this.J],[],[],[49,1,this.g],[47,1,this.g],[48,1,this.U],[],[55],[47,2,this.A],[54],[],[],[47,2,this.o],[],[],[31,1,this.v],[29,1,this.D],[30,1,this.v],[],[31,1,this.b],[29,1,this.b],[30,1,this.b],[],[51],[29,1,this.v],[50],[],[31,2,this.N],[29,
|
||||
2,this.N],[30,2,this.N],[],[4,1,this.ea],[29,1,this.J],[],[],[31,1,this.g],[29,1,this.g],[30,1,this.U],[],[16],[29,2,this.A],[52],[],[31,2,this.o],[29,2,this.o],[30,2,this.A],[],[19,1,this.v],[17,1,this.D],[],[],[19,1,this.b],[17,1,this.b],[20,1,this.b],[],[26],[17,1,this.v],[21],[],[19,2,this.N],[17,2,this.N],[20,2,this.N],[],[8,1,this.ea],[17,1,this.J],[],[],[],[17,1,this.g],[20,1,this.g],[],[14],[17,2,this.A],[],[],[],[17,2,this.o],[20,2,this.o],[],[18,1,this.v],[43,1,this.D],[],[],[18,1,this.b],
|
||||
[43,1,this.b],[24,1,this.b],[],[25],[43,1,this.v],[33],[],[18,2,this.N],[43,2,this.N],[24,2,this.N],[],[5,1,this.ea],[43,1,this.J],[],[],[],[43,1,this.g],[24,1,this.g],[],[45],[43,2,this.A],[],[],[],[43,2,this.o],[24,2,this.o],[]]}B(fb);f=fb.prototype;
|
||||
f.T=function(a,b,c){var d=this;switch(b){case "debugInput":return this.R=this.H[b]=c,this.R.focus(),c.onkeypress=function(a,c){return function(d){13==d.keyCode&&(b=c.value,c.value="",hb(a,b))}}(this,c),!0;case "debugEnter":return this.H[b]=c,ea(c,function(){return d.R?(b=d.R.value,hb(d,b),!0):!1}),!0;case "step":return this.H[b]=c,ea(c,function(a){var b=!1;J(d,!0)||(I(d,!0),b=d.step(a?1:0),I(d,!1));return b}),!0}return!1};
|
||||
[43,1,this.b],[24,1,this.b],[],[25],[43,1,this.v],[33],[],[18,2,this.N],[43,2,this.N],[24,2,this.N],[],[5,1,this.ea],[43,1,this.J],[],[],[],[43,1,this.g],[24,1,this.g],[],[45],[43,2,this.A],[],[],[],[43,2,this.o],[24,2,this.o],[]]}B(eb);f=eb.prototype;
|
||||
f.T=function(a,b,c){var d=this;switch(b){case "debugInput":return this.R=this.H[b]=c,this.R.focus(),c.onkeypress=function(a,c){return function(d){13==d.keyCode&&(b=c.value,c.value="",gb(a,b))}}(this,c),!0;case "debugEnter":return this.H[b]=c,ea(c,function(){return d.R?(b=d.R.value,gb(d,b),!0):!1}),!0;case "step":return this.H[b]=c,ea(c,function(a){var b=!1;J(d,!0)||(I(d,!0),b=d.step(a?1:0),I(d,!1));return b}),!0}return!1};
|
||||
f.ba=function(a,b,c){this.a=a;this.O=b;this.qa=c-b+1;this.Ga=this.O+this.qa;this.X()};f.ha=function(a,b){a&&!this.C.M&&(this.C.M=!0,this.s=L(b,"cpu"))};f.ca=function(){this.R.focus()};
|
||||
function gb(a,b){a.P=0;a.v=1;a.o=2;a.A=3;a.Pa=4;a.ob=5;a.g=6;a.U=7;a.D=8;a.J=9;a.N=10;a.b=11;a.ea=a.Pa;var c="",d,e;if(b)for(a.ka="A #$nn $nnnn,X $nnnn,Y $nnnn ($nnnn) $nn,X $nn,Y ($nn,X) ($nn),Y $nnnn $nn".split(" "),d=0;d<a.ka.length;d++)e=a.ka[d],c+="("+e.replace(/\(/g,"\\(").replace(/\)/g,"\\)").replace(/nnnn/g,"[0-9A-F][0-9A-F][0-9A-F][0-9A-F]?").replace(/nn/g,"[0-9A-F][0-9A-F]?").replace(/\$/g,"\\$")+"|)";else for(a.ka="A nn [nnnn+X] [nnnn+Y] nnnn [nnnn] [nn+X] [nn+Y] [[nn+X]] [[nn]+Y] [nnnn] [nn]".split(" "),
|
||||
d=0;d<a.ka.length;d++)e=a.ka[d],c+="("+e.replace(/\[/g,"\\[").replace(/]/g,"\\]").replace(/nnnn/g,"[0-9A-F][0-9A-F][0-9A-F][0-9A-F]?").replace(/nn/g,"[0-9A-F][0-9A-F]?").replace(/\+/g,"\\+")+"|)";a.Qe=new RegExp(c);a.Qb=[27,a.Qa,9,7,11,12,3,4,8,5]}f.aa=function(){this.s.aa()};function S(a,b,c,d,e,g,h){(a.la&e)==e&&(e=a.s.S(c),a.message(b.id+"."+(g?"setByte":"getByte")+"("+q(c)+")"+(void 0!==d?" @"+q(d):"")+": "+(h?h+"=":"")+p(e)))}f.message=function(a){this.l(a);Ga(this.s)};f.Tb=function(){this.l("Type ? for list of debugger commands\n")};
|
||||
f.va=function(){if(!ib(this))return!1;this.s.va();return!0};f.step=function(a){if(!ib(this))return!1;var b;try{b=this.s.step(a)}catch(c){b=void 0,ra(this.s,c.stack||c.message)}void 0!==b&&this.L++;this.s.update(!0);this.update(!0);return b};f.update=function(a){this.ua=this.s.f;a||this.Da?jb(this):kb(this)};function ib(a){a.s&&K(a.s)&&!J(a.s)?(a=a.s,a.C.Ca?(a.l(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}
|
||||
f.reset=function(){var a;this.xa.length||(this.xa=Array(1E3));for(a=0;a<this.xa.length;a++)this.xa[a]=-1;this.B.length||(this.B=Array(256));for(a=0;a<this.B.length;a++)this.B[a]=[a,0];this.L&&this.update();this.L=0};f.start=function(){this.Da||this.l("running")};f.stop=function(a,b){if(!this.Da&&(this.l("stopped"),b)){var c=ca();this.l(c-a+"ms ("+b+" cycles)")}this.update();this.ca();this.Da||(this.L=0);lb(this,this.s.f)};function mb(a,b){return a+(b<<24>>24)}
|
||||
f.S=function(a){var b;a>=this.O&&a<this.Ga&&(za(this.s,a),b=this.a[this.O+a],b&=255);return b};f.W=function(a,b){a<this.O||a>=this.Ga?this.l("invalid address: "+q(a)):(this.a[this.O+a]=b&255,Aa(this.s,a),this.s.update())};function nb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;e<a.length;e++)if(a[e]==b){c&&a.splice(e,1);d=!0;break}return d}function ob(a,b){void 0!==b&&(lb(a,a.K),nb(a,b)&&(a.K=b))}
|
||||
function lb(a,b){void 0!==a.K&&b==a.K&&X(a.sa,a.K,!0)&&(a.K=void 0);a.Da=!1}function Fa(a,b,c,d){for(var e=!1,g=0;g<c.length;g++)if(c[g]==b){b!=a.K&&a.l("breakpoint hit: "+q(b)+" ("+d+")");e=!0;break}return e}
|
||||
function pb(a,b,c){var d=n(b,4),e=a.S(b++),g=a.fa[e],h=void 0===e?0:e,k=[],l=void 0===g[1]?0:g[1];do{d+=" "+n(h,2);if(!l--)break;h=a.S(b++);if(void 0===h)break;k.push(h)}while(1);void 0===g[0]&&(g=[57,1,a.v],k.push(e));var d=(d+" ").substr(0,15),d=d+a.Ka[g[0]],m=null;if(void 0!==g[2]){l=g[2];m=a.ka[l];if(1==g[1]&&l==a.ea)m=m.replace(/nnnn/,n(mb(b,h=k.pop()),4));else for(;k.length;)m=m.replace(/nn/,n(h=k.pop(),2));l==a.v&&1==g[1]&&32<=h&&128>h&&(m+=" ;'"+String.fromCharCode(h)+"'")}if(e==a.s.bb&&
|
||||
function fb(a,b){a.P=0;a.v=1;a.o=2;a.A=3;a.Pa=4;a.ob=5;a.g=6;a.U=7;a.D=8;a.J=9;a.N=10;a.b=11;a.ea=a.Pa;var c="",d,e;if(b)for(a.ka="A #$nn $nnnn,X $nnnn,Y $nnnn ($nnnn) $nn,X $nn,Y ($nn,X) ($nn),Y $nnnn $nn".split(" "),d=0;d<a.ka.length;d++)e=a.ka[d],c+="("+e.replace(/\(/g,"\\(").replace(/\)/g,"\\)").replace(/nnnn/g,"[0-9A-F][0-9A-F][0-9A-F][0-9A-F]?").replace(/nn/g,"[0-9A-F][0-9A-F]?").replace(/\$/g,"\\$")+"|)";else for(a.ka="A nn [nnnn+X] [nnnn+Y] nnnn [nnnn] [nn+X] [nn+Y] [[nn+X]] [[nn]+Y] [nnnn] [nn]".split(" "),
|
||||
d=0;d<a.ka.length;d++)e=a.ka[d],c+="("+e.replace(/\[/g,"\\[").replace(/]/g,"\\]").replace(/nnnn/g,"[0-9A-F][0-9A-F][0-9A-F][0-9A-F]?").replace(/nn/g,"[0-9A-F][0-9A-F]?").replace(/\+/g,"\\+")+"|)";a.Qe=new RegExp(c);a.Qb=[27,a.Qa,9,7,11,12,3,4,8,5]}f.aa=function(){this.s.aa()};function S(a,b,c,d,e,g,h){(a.la&e)==e&&(e=a.s.S(c),a.message(b.id+"."+(g?"setByte":"getByte")+"("+q(c)+")"+(void 0!==d?" @"+q(d):"")+": "+(h?h+"=":"")+p(e)))}f.message=function(a){this.l(a);Fa(this.s)};f.Tb=function(){this.l("Type ? for list of debugger commands\n")};
|
||||
f.va=function(){if(!hb(this))return!1;this.s.va();return!0};f.step=function(a){if(!hb(this))return!1;var b;try{b=this.s.step(a)}catch(c){b=void 0,qa(this.s,c.stack||c.message)}void 0!==b&&this.L++;this.s.update(!0);this.update(!0);return b};f.update=function(a){this.ua=this.s.f;a||this.Da?ib(this):jb(this)};function hb(a){a.s&&K(a.s)&&!J(a.s)?(a=a.s,a.C.Ca?(a.l(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}
|
||||
f.reset=function(){var a;this.xa.length||(this.xa=Array(1E3));for(a=0;a<this.xa.length;a++)this.xa[a]=-1;this.B.length||(this.B=Array(256));for(a=0;a<this.B.length;a++)this.B[a]=[a,0];this.L&&this.update();this.L=0};f.start=function(){this.Da||this.l("running")};f.stop=function(a,b){if(!this.Da&&(this.l("stopped"),b)){var c=ca();this.l(c-a+"ms ("+b+" cycles)")}this.update();this.ca();this.Da||(this.L=0);kb(this,this.s.f)};function lb(a,b){return a+(b<<24>>24)}
|
||||
f.S=function(a){var b;a>=this.O&&a<this.Ga&&(ya(this.s,a),b=this.a[this.O+a],b&=255);return b};f.W=function(a,b){a<this.O||a>=this.Ga?this.l("invalid address: "+q(a)):(this.a[this.O+a]=b&255,za(this.s,a),this.s.update())};function mb(a,b){X(a.sa,b,void 0)||a.sa.push(b);return!0}function X(a,b,c){for(var d=!1,e=0;e<a.length;e++)if(a[e]==b){c&&a.splice(e,1);d=!0;break}return d}function nb(a,b){void 0!==b&&(kb(a,a.K),mb(a,b)&&(a.K=b))}
|
||||
function kb(a,b){void 0!==a.K&&b==a.K&&X(a.sa,a.K,!0)&&(a.K=void 0);a.Da=!1}function Ea(a,b,c,d){for(var e=!1,g=0;g<c.length;g++)if(c[g]==b){b!=a.K&&a.l("breakpoint hit: "+q(b)+" ("+d+")");e=!0;break}return e}
|
||||
function ob(a,b,c){var d=n(b,4),e=a.S(b++),g=a.fa[e],h=void 0===e?0:e,k=[],l=void 0===g[1]?0:g[1];do{d+=" "+n(h,2);if(!l--)break;h=a.S(b++);if(void 0===h)break;k.push(h)}while(1);void 0===g[0]&&(g=[57,1,a.v],k.push(e));var d=(d+" ").substr(0,15),d=d+a.Ka[g[0]],m=null;if(void 0!==g[2]){l=g[2];m=a.ka[l];if(1==g[1]&&l==a.ea)m=m.replace(/nnnn/,n(lb(b,h=k.pop()),4));else for(;k.length;)m=m.replace(/nn/,n(h=k.pop(),2));l==a.v&&1==g[1]&&32<=h&&128>h&&(m+=" ;'"+String.fromCharCode(h)+"'")}if(e==a.s.bb&&
|
||||
(h<a.V.length&&(m=a.V[h]),h==a.s.Nb)){l=0;for(m='"';h=a.S(b++);)16>l?m+=String.fromCharCode(h):16==l&&(m+="\u2026"),l++;m+='"'}m&&(d+=" "+m);c&&(d=(d+" ").substr(0,30),d+=";"+c.toString());a.$=b;return d}
|
||||
function Y(a,b){var c=a.ua;if(void 0!==b){var d=16;"$"==b.charAt(0)?b=b.substr(1):"0x"==b.substr(0,2)?b=b.substr(2):"."==b.charAt(b.length-1)&&(d=10,b=b.substr(0,b.length-1));c=parseInt(b,d);isNaN(c)&&(a.l("invalid base-"+d+" address: "+b),c=void 0)}void 0!==c&&(c<a.O||c>=a.Ga)&&(a.l("address out of range: "+n(c)),c=void 0);return c}
|
||||
function qb(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0,d;if(a.B)if("clear"==b){for(d=0;d<a.B.length;d++)a.B[d]=[d,0];a.l("frequency data cleared");c++}else if(void 0!==b)a.l("unknown frequency command: "+b),c++;else{var e=a.B.slice();e.sort(function(a,b){return b[1]-a[1]});for(d=0;d<e.length;d++){var g=e[d][0],h=e[d][1];h&&(a.l(a.Ka[a.fa[g][0]]+" ("+p(g)+"): "+h+" times"),c++)}}c||a.l("no frequency data available")}}
|
||||
function jb(a,b,c,d){var e=Y(a,b);if(void 0!==e){void 0===d&&(d=1);b=a.Ga;if(void 0!==c){b=Y(a,c);if(void 0===b||b<e)return;if(256<b-e){a.l("range too large");return}b++;d=-1}for(e!=a.ua&&a.l();d--&&e<b;)c=pb(a,e,J(a,!1)||a.Da?a.L:0),a.l(c),a.ua=e=a.$}}
|
||||
function kb(a,b){if(b&&"?"==b[1])a.l("\nregister commands:"),a.l("r to display all"),a.l("r [target=value] to modify"),a.l("supported targets:"),a.l("A,X,Y,S,PC and flags C,Z,D,V,N");else{var c=!0;if(void 0!==b&&1<b.length){var c=!1,d=b[1],e=null,g=d.indexOf("=");if(0<g)e=d.substr(g+1),d=d.substr(0,g);else if(2<b.length)e=b[2];else{a.l("missing value for "+b[1]);return}g=parseInt(e,16);if(isNaN(g)){a.l("invalid value: "+e);return}switch(d.toUpperCase()){case "A":a.s.h=g&255;break;case "X":a.s.w=g&
|
||||
255;break;case "Y":a.s.F=g&255;break;case "C":a.s.c=g?256:0;break;case "Z":a.s.j=g?0:1;break;case "D":g?Ia(a.s):Ja(a.s);break;case "V":g?(d=a.s,d.v=0,d.A=128):(d=a.s,d.v=0,d.A=0);break;case "N":a.s.i=g?128:0;break;case "S":if(256!=(g&-256)){a.l("invalid stack pointer: "+e);return}a.s.G=g;break;case "PC":c=!0;a.s.f=g&65535;a.ua=a.s.f;break;default:a.l("unknown register: "+d);return}a.s.update()}a.l("A="+n(a.s.h,2)+" X="+n(a.s.w,2)+" Y="+n(a.s.F,2)+" P="+n(Da(a.s),2)+" S="+n(a.s.G,4)+" PC="+n(a.s.f,
|
||||
4));c&&jb(a,n(a.ua=a.s.f,4))}}function rb(a,b){var c=void 0===b?1:parseInt(b,10),d=1==c?0:1;da(c,function(a){return function(){return I(a,!0)&&a.step(d)}}(a),function(a){return function(){I(a,!1)}}(a))}
|
||||
function hb(a,b){b.length||(a.Ya?(a.l("ended assemble @"+n(a.ga,4)),a.ua=a.ga,a.Ya=!1):a.nb&&(b=a.nb));if(K(a)&&!J(a,!0)&&0<b.length){a.Ya?b="a "+n(a.ga,4)+" "+b:1<b.length&&1!=b.indexOf(" ")&&(b=b.charAt(0).toLowerCase()+" "+b.substr(1));var c=b.split(" ");a.nb=c[0];switch(c[0].toLowerCase()){case "a":var d=Y(a,c[1]);if(void 0!==d)if(a.ga=d,void 0===c[2])a.l("begin assemble @"+q(a.ga)),a.Ya=!0,a.s.update();else{var e,g=c[2],h=c[3],c=a.ga,d=[];if(void 0!==g){var k,g=g.toUpperCase();"?"==g.charAt(g.length-
|
||||
function pb(a,b){if("?"==b)a.l("\nfrequency commands:"),a.l("clear\tclear all frequency counts");else{var c=0,d;if(a.B)if("clear"==b){for(d=0;d<a.B.length;d++)a.B[d]=[d,0];a.l("frequency data cleared");c++}else if(void 0!==b)a.l("unknown frequency command: "+b),c++;else{var e=a.B.slice();e.sort(function(a,b){return b[1]-a[1]});for(d=0;d<e.length;d++){var g=e[d][0],h=e[d][1];h&&(a.l(a.Ka[a.fa[g][0]]+" ("+p(g)+"): "+h+" times"),c++)}}c||a.l("no frequency data available")}}
|
||||
function ib(a,b,c,d){var e=Y(a,b);if(void 0!==e){void 0===d&&(d=1);b=a.Ga;if(void 0!==c){b=Y(a,c);if(void 0===b||b<e)return;if(256<b-e){a.l("range too large");return}b++;d=-1}for(e!=a.ua&&a.l();d--&&e<b;)c=ob(a,e,J(a,!1)||a.Da?a.L:0),a.l(c),a.ua=e=a.$}}
|
||||
function jb(a,b){if(b&&"?"==b[1])a.l("\nregister commands:"),a.l("r to display all"),a.l("r [target=value] to modify"),a.l("supported targets:"),a.l("A,X,Y,S,PC and flags C,Z,D,V,N");else{var c=!0;if(void 0!==b&&1<b.length){var c=!1,d=b[1],e=null,g=d.indexOf("=");if(0<g)e=d.substr(g+1),d=d.substr(0,g);else if(2<b.length)e=b[2];else{a.l("missing value for "+b[1]);return}g=parseInt(e,16);if(isNaN(g)){a.l("invalid value: "+e);return}switch(d.toUpperCase()){case "A":a.s.h=g&255;break;case "X":a.s.w=g&
|
||||
255;break;case "Y":a.s.F=g&255;break;case "C":a.s.c=g?256:0;break;case "Z":a.s.j=g?0:1;break;case "D":g?Ha(a.s):Ia(a.s);break;case "V":g?(d=a.s,d.v=0,d.A=128):(d=a.s,d.v=0,d.A=0);break;case "N":a.s.i=g?128:0;break;case "S":if(256!=(g&-256)){a.l("invalid stack pointer: "+e);return}a.s.G=g;break;case "PC":c=!0;a.s.f=g&65535;a.ua=a.s.f;break;default:a.l("unknown register: "+d);return}a.s.update()}a.l("A="+n(a.s.h,2)+" X="+n(a.s.w,2)+" Y="+n(a.s.F,2)+" P="+n(Ca(a.s),2)+" S="+n(a.s.G,4)+" PC="+n(a.s.f,
|
||||
4));c&&ib(a,n(a.ua=a.s.f,4))}}function qb(a,b){var c=void 0===b?1:parseInt(b,10),d=1==c?0:1;da(c,function(a){return function(){return I(a,!0)&&a.step(d)}}(a),function(a){return function(){I(a,!1)}}(a))}
|
||||
function gb(a,b){b.length||(a.Ya?(a.l("ended assemble @"+n(a.ga,4)),a.ua=a.ga,a.Ya=!1):a.nb&&(b=a.nb));if(K(a)&&!J(a,!0)&&0<b.length){a.Ya?b="a "+n(a.ga,4)+" "+b:1<b.length&&1!=b.indexOf(" ")&&(b=b.charAt(0).toLowerCase()+" "+b.substr(1));var c=b.split(" ");a.nb=c[0];switch(c[0].toLowerCase()){case "a":var d=Y(a,c[1]);if(void 0!==d)if(a.ga=d,void 0===c[2])a.l("begin assemble @"+q(a.ga)),a.Ya=!0,a.s.update();else{var e,g=c[2],h=c[3],c=a.ga,d=[];if(void 0!==g){var k,g=g.toUpperCase();"?"==g.charAt(g.length-
|
||||
1)&&(h="?",g=g.substr(0,g.length-1));for(k=0;k<a.Ka.length&&g!=a.Ka[k];k++);k==a.Ka.length&&(a.l("unknown operation: "+g),k=-1);var l="",m;if(0<=k&&void 0!==h)if(l=h.toUpperCase(),"?"==l){for(h=m=0;h<a.fa.length;h++)a.fa[h][0]===k&&(m||a.l("supported opcodes:"),a.l(" "+n(h,2)+": "+g+(void 0!==a.fa[h][2]?" "+a.ka[a.fa[h][2]]:"")),m++);k=-1}else if(m=l.match(a.Qe),null!==m&&m[0]==l){for(h=1;h<m.length;h++)if(m[h]==l)if(void 0===e)e=h-1;else{a.l("too many operand matches (both "+a.ka[e]+" and "+
|
||||
a.ka[h-1]+")");k=-1;break}e==a.Pa&&0>a.Qb.indexOf(k)&&(e=a.N);e==a.ob&&27!=k&&(e=a.N)}else a.l("unknown operand: "+l),k=-1;if(0<=k){m=-1;for(h=0;h<a.fa.length;h++)if(a.fa[h][0]===k&&a.fa[h][2]===e)if(0>m)m=h;else{a.l("too many instruction matches (both "+p(m)+" and "+p(h)+")");m=-2;break}if(0<=m){if(d.push(m),void 0!==e)if(g=a.fa[m][1],l=l.match(/[0-9A-F]+/),null!==l)for(l=parseInt(l[0],16),1==g&&e==a.ea&&(l-=c+2,-128>l||127<l)&&(a.l("branch out of range ("+l+")"),d=[],g=0),h=0;h<g;h++)d.push(l&255),
|
||||
l>>>=8;else g&&a.l("instruction missing "+g+" bytes")}else a.l("unknown instruction: "+g+" "+l+"")}}e=d;if(e.length){for(c=0;c<e.length;c++)a.W(a.ga+c,e[c]);a.l(pb(a,a.ga));a.ga+=e.length}}break;case "b":e=c[1];c=c[2];if(void 0===e||"?"==e)a.l("\nbreakpoint commands:"),a.l("bp [a]\tset exec breakpoint at [a]"),a.l("br [a]\tset read breakpoint at [a]"),a.l("bw [a]\tset write breakpoint at [a]"),a.l("bc [a]\tclear breakpoint at [a]"),a.l("bl\tlist all breakpoints");else if(void 0===c&&1<e.length&&(c=
|
||||
e.substr(1),e=e.substr(0,1)),"l"==e){e=0;d=a.sa;for(c=0;c<d.length;c++)a.l("breakpoint enabled: "+q(d[c])+" (exec)"),e++;d=a.wa;for(c=0;c<d.length;c++)a.l("breakpoint enabled: "+q(d[c])+" (read)"),e++;d=a.ya;for(c=0;c<d.length;c++)a.l("breakpoint enabled: "+q(d[c])+" (write)"),e++;e||a.l("no breakpoints")}else void 0===c?a.l("missing breakpoint address"):"c"==e&&"*"==c?(a.sa=[],a.wa=[],a.ya=[],a.l("all breakpoints cleared")):(c=Y(a,c),void 0!==c&&("p"==e?nb(a,c)?a.l("breakpoint enabled: "+q(c)+" (exec)"):
|
||||
l>>>=8;else g&&a.l("instruction missing "+g+" bytes")}else a.l("unknown instruction: "+g+" "+l+"")}}e=d;if(e.length){for(c=0;c<e.length;c++)a.W(a.ga+c,e[c]);a.l(ob(a,a.ga));a.ga+=e.length}}break;case "b":e=c[1];c=c[2];if(void 0===e||"?"==e)a.l("\nbreakpoint commands:"),a.l("bp [a]\tset exec breakpoint at [a]"),a.l("br [a]\tset read breakpoint at [a]"),a.l("bw [a]\tset write breakpoint at [a]"),a.l("bc [a]\tclear breakpoint at [a]"),a.l("bl\tlist all breakpoints");else if(void 0===c&&1<e.length&&(c=
|
||||
e.substr(1),e=e.substr(0,1)),"l"==e){e=0;d=a.sa;for(c=0;c<d.length;c++)a.l("breakpoint enabled: "+q(d[c])+" (exec)"),e++;d=a.wa;for(c=0;c<d.length;c++)a.l("breakpoint enabled: "+q(d[c])+" (read)"),e++;d=a.ya;for(c=0;c<d.length;c++)a.l("breakpoint enabled: "+q(d[c])+" (write)"),e++;e||a.l("no breakpoints")}else void 0===c?a.l("missing breakpoint address"):"c"==e&&"*"==c?(a.sa=[],a.wa=[],a.ya=[],a.l("all breakpoints cleared")):(c=Y(a,c),void 0!==c&&("p"==e?mb(a,c)?a.l("breakpoint enabled: "+q(c)+" (exec)"):
|
||||
a.l("breakpoint not set: "+q(c)):"c"==e?X(a.sa,c,!0)?a.l("breakpoint cleared: "+q(c)+" (exec)"):X(a.wa,c,!0)?a.l("breakpoint cleared: "+q(c)+" (read)"):X(a.ya,c,!0)?a.l("breakpoint cleared: "+q(c)+" (write)"):a.l("breakpoint missing: "+q(c)):"r"==e?(X(a.wa,c,void 0)||a.wa.push(c),a.l("breakpoint enabled: "+q(c)+" (read)")):"w"==e?(X(a.ya,c,void 0)||a.ya.push(c),a.l("breakpoint enabled: "+q(c)+" (write)")):a.l("unknown breakpoint command: "+e)));break;case "d":e=c[1];d=c[2];if("?"==e)a.l("\ndump commands:"),
|
||||
a.l("d [a] [#] dump # lines of memory");else if(e=Y(a,e),void 0!==e){c=0;void 0!==d&&("l"==d.charAt(0)&&(d=d.substr(1)),c=parseInt(d,10));c||(c=1);for(d=0;d<c;d++){l=g="";h=e;for(k=0;8>k&&e<a.Ga;k++)m=a.S(e),void 0===m&&(m=0),g+=n(m,2)+" ",l+=32<=m&&128>m?String.fromCharCode(m):".",e++;a.l(n(h,4)+" "+g+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;d<c.length;d++)g=parseInt(c[d],16),a.W(e++,g);break;case "f":qb(a,c[1]);break;case "g":e=
|
||||
c[1];void 0!==e&&ob(a,Y(a,e));a.va()||a.s.ca();break;case "h":a.aa();break;case "o":if(void 0===c[1]||"?"==c[1])a.l("\noption commands:"),a.l("max\trun at maximum speed"),a.l("fast\trun faster (up to "+a.s.Ma+"Mhz)"),a.l("slow\trun at normal speed (1Mhz)"),a.l("classic\tuse classic operand syntax"),a.l("modern\tuse modern operand syntax"),a.l("msg\tenable message categories");else switch(e=c[1],e){case "slow":M(a.s,a.s.Ra);break;case "fast":M(a.s,a.s.Ob);break;case "max":M(a.s,a.s.eb);break;case "classic":gb(a,
|
||||
!0);a.l("classic syntax enabled");break;case "modern":gb(a,!1);a.l("modern syntax enabled");break;case "msg":e=0;void 0!==c[2]&&("all"==c[2]?e=255:void 0!==a.Ua[c[2]]&&(e=a.Ua[c[2]]),e&&("on"==c[3]?a.la|=e:"off"==c[3]&&(a.la&=~e)));for(d in a.Ua)if(void 0===c[2]||"all"==c[2]||c[2]==d)e=a.Ua[d],a.l(d+" messages: "+(a.la&e?"on":"off"));break;default:a.l("unknown option: "+e)}break;case "p":l=c[1];e=10;c=a.La;d=a.xa;if(void 0!==d){g=void 0===l?a.Vb:parseInt(l,10);void 0===g&&(g=10);g>d.length&&(a.l("note: only "+
|
||||
d.length+" available"),g=d.length);void 0!==l&&(a.mb=0,a.l(g+" instructions earlier:"));l=a.mb?a.mb:1;c-=g;for(0>c&&(c=d.length-1);e&&c!=a.La;){h=d[c];if(0>h)break;a.l(pb(a,h,l++));++c==d.length&&(c=0);e--;g--}a.Vb=g;a.mb=l}10==e&&a.l("no history available");break;case "r":kb(a,c);break;case "s":a.S(a.s.f)==a.s.Qa?(ob(a,a.s.f+3),a.Da=!0,a.va()||a.s.ca()):rb(a);break;case "t":rb(a,c[1]);break;case "u":jb(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble");
|
||||
a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=F(document,"c1pjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new fb(d);E(d,c)}});function Z(a,b){z.call(this,"C1PComputer",a);this.Y=b}B(Z);Z.prototype.reset=function(a){var b=null,c;for(c in this.Y)for(var d=0;d<this.Y[c].length;d++){var e=this.Y[c][d];e&&e.reset&&(e.reset(),"cpu"==c&&(b=e))}b&&(b.update(),a&&b.va())};
|
||||
a.l("d [a] [#] dump # lines of memory");else if(e=Y(a,e),void 0!==e){c=0;void 0!==d&&("l"==d.charAt(0)&&(d=d.substr(1)),c=parseInt(d,10));c||(c=1);for(d=0;d<c;d++){l=g="";h=e;for(k=0;8>k&&e<a.Ga;k++)m=a.S(e),void 0===m&&(m=0),g+=n(m,2)+" ",l+=32<=m&&128>m?String.fromCharCode(m):".",e++;a.l(n(h,4)+" "+g+l)}a.ua=e}break;case "e":e=c[1];if(void 0===e)a.l("missing address");else if(e=Y(a,e),void 0!==e)for(d=2;d<c.length;d++)g=parseInt(c[d],16),a.W(e++,g);break;case "f":pb(a,c[1]);break;case "g":e=
|
||||
c[1];void 0!==e&&nb(a,Y(a,e));a.va()||a.s.ca();break;case "h":a.aa();break;case "o":if(void 0===c[1]||"?"==c[1])a.l("\noption commands:"),a.l("max\trun at maximum speed"),a.l("fast\trun faster (up to "+a.s.Ma+"Mhz)"),a.l("slow\trun at normal speed (1Mhz)"),a.l("classic\tuse classic operand syntax"),a.l("modern\tuse modern operand syntax"),a.l("msg\tenable message categories");else switch(e=c[1],e){case "slow":M(a.s,a.s.Ra);break;case "fast":M(a.s,a.s.Ob);break;case "max":M(a.s,a.s.eb);break;case "classic":fb(a,
|
||||
!0);a.l("classic syntax enabled");break;case "modern":fb(a,!1);a.l("modern syntax enabled");break;case "msg":e=0;void 0!==c[2]&&("all"==c[2]?e=255:void 0!==a.Ua[c[2]]&&(e=a.Ua[c[2]]),e&&("on"==c[3]?a.la|=e:"off"==c[3]&&(a.la&=~e)));for(d in a.Ua)if(void 0===c[2]||"all"==c[2]||c[2]==d)e=a.Ua[d],a.l(d+" messages: "+(a.la&e?"on":"off"));break;default:a.l("unknown option: "+e)}break;case "p":l=c[1];e=10;c=a.La;d=a.xa;if(void 0!==d){g=void 0===l?a.Vb:parseInt(l,10);void 0===g&&(g=10);g>d.length&&(a.l("note: only "+
|
||||
d.length+" available"),g=d.length);void 0!==l&&(a.mb=0,a.l(g+" instructions earlier:"));l=a.mb?a.mb:1;c-=g;for(0>c&&(c=d.length-1);e&&c!=a.La;){h=d[c];if(0>h)break;a.l(ob(a,h,l++));++c==d.length&&(c=0);e--;g--}a.Vb=g;a.mb=l}10==e&&a.l("no history available");break;case "r":jb(a,c);break;case "s":a.S(a.s.f)==a.s.Qa?(nb(a,a.s.f+3),a.Da=!0,a.va()||a.s.ca()):qb(a);break;case "t":qb(a,c[1]);break;case "u":ib(a,c[1],c[2],8);break;case "?":case "help":a.l("\ncommands:\n?\thelp\na [#]\tassemble\nb [#]\tbreakpoint\nd [#]\tdump memory\ne [#]\tedit memory\nf\tdump frequencies\ng [#]\trun to [#]\nh\thalt\no\toptions\np [#]\tdump history\nr\tdump/edit registers\ns\tstep over instruction\nt [#]\tstep instruction(s)\nu [#]\tunassemble");
|
||||
a.l("note: frequency and history commands operate only when breakpoints are set");break;default:a.l("unknown command: "+b)}}}x(function(){for(var a=F(document,"c1pjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new eb(d);E(d,c)}});function Z(a,b){z.call(this,"C1PComputer",a);this.Y=b}B(Z);Z.prototype.reset=function(a){var b=null,c;for(c in this.Y)for(var d=0;d<this.Y[c].length;d++){var e=this.Y[c][d];e&&e.reset&&(e.reset(),"cpu"==c&&(b=e))}b&&(b.update(),a&&b.va())};
|
||||
Z.prototype.start=function(){for(var a in this.Y)if("cpu"!=a)for(var b=0;b<this.Y[a].length;b++){var c=this.Y[a][b];c&&c.start&&c.start()}};Z.prototype.stop=function(a,b){for(var c in this.Y)if("cpu"!=c)for(var d=0;d<this.Y[c].length;d++){var e=this.Y[c][d];e&&e.stop&&e.stop(a,b)}};Z.prototype.T=function(a,b,c){switch(b){case "reset":return this.H[b]=c,c.onclick=function(a){return function(){a.reset()}}(this),!0}return!1};function L(a,b){return a.Y[b]?a.Y[b][0]:null}
|
||||
function sb(a){var b=null,c;for(c in a.Y)for(var d=0;d<a.Y[c].length;d++){var e=a.Y[c][d];if(e){if(!K(e)){K(e,function(a){return function(){sb(a)}}(a));return}"cpu"==c?b=e:e.ha&&e.ha(!0,a)}}a.X();a.l("C1Pjs v1.20.9\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>");b&&b.ha(!0,a)}
|
||||
x(function(){for(var a=F(document,"c1pjs","computer"),b=0;b<a.length;b++){for(var c=a[b],d=D(c),e,g={},h,k=0,l=0,m=0;m<d.modules.length;m++){var r=d.modules[m];if(!m){if("cpu"!=r.type)break;k=r.start;l=r.end;h=Array(l+1-k);for(e=k;e<h.length;e++)h[e]=0}if(e=qa(r.refID,d.id)){var H=r.type;void 0===g[H]&&(g[H]=[]);g[H].push(e);e.ba&&void 0!==r.start&&e.ba(h,r.start,r.end,g.cpu[0])}else{u('no component for <module refid="'+r.refID+'">');return}}if(void 0===h){u('<module type="cpu"> definition must appear first in the <computer> specification');
|
||||
break}if(e=qa("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,k,l,g.cpu[0]);k=new Z(d,g);if(l=qa("panel",d.id))if(g.panel=[l],l.gb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;d<A.length;d++)m=A[d],e&&m.id.indexOf(e)||g.push(m);d=g;for(g=0;g<d.length;g++)e=d[g],e!=l&&(e.$a=l.$a,e.l=l.l,e.gb=l.gb)}E(k,c);sb(k)}});var tb=0;function ub(a,b,c,d,e,g){e("Loading "+a+"...");t(a,null,function(h,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),g(k,null)):vb(k,a,b,c,d,e,g)})}
|
||||
function vb(a,b,c,d,e,g,h){function k(a,g){if(g)h(g,null);else{if(c){var k=b;k&&0>k.indexOf("/")&&(k=window.location.pathname+k);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+k+'"}';a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(k?' url="'+k+'"':""))}k=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(k=new window.ActiveXObject("Microsoft.XMLDOM"),
|
||||
k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(H){k=null,a=H.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,k)}}a?e?wb(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
||||
function wb(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,null,function(g,h,k){if(k||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(g=d[3])if(k=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,r=/( [a-z]+=)(['"])(.*?)\2/g;m=r.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(h=h.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],h);wb(a,b,c)}})}else c(a,null)}
|
||||
function xb(a,b,c){function d(a){if(void 0===h){var b=g&&F(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ba(a))}function e(a){d("Error: "+a);k&&(--tb||y(!0));k=!1}var g,h,k=!0;tb++;C[a]={};try{if(g=document.getElementById(a)){c||(c="/versions/c1pjs/1.20.9/components.xsl");var l=function(h,k){k?(pa(a,"xml",h),ub(c,null,null,!1,d,function(c,h){if(h)if(pa(a,"xsl",c),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=k.transformNode(h);l?(g.outerHTML=l,--tb||y(!0)):e("transformNodeToObject failed")}else document.implementation&&
|
||||
document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(h),(l=l.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--tb||y(!0)):e("invalid machine element: "+a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e(c)})):e(h)};"<"!=b.charAt(0)?ub(b,a,void 0,!0,d,l):vb(b,null,a,void 0,!1,d,l)}else e("missing machine element: "+a)}catch(m){e(m.message)}return k}window.embedC1P=function(a,b,c){y(!1);return xb(a,b,c)};
|
||||
window.enableEvents=y;window.sendEvent=ja;})();
|
||||
function rb(a){var b=null,c;for(c in a.Y)for(var d=0;d<a.Y[c].length;d++){var e=a.Y[c][d];if(e){if(!K(e)){K(e,function(a){return function(){rb(a)}}(a));return}"cpu"==c?b=e:e.ha&&e.ha(!0,a)}}a.X();a.l("C1Pjs v1.20.9\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>");b&&b.ha(!0,a)}
|
||||
x(function(){for(var a=F(document,"c1pjs","computer"),b=0;b<a.length;b++){for(var c=a[b],d=D(c),e,g={},h,k=0,l=0,m=0;m<d.modules.length;m++){var r=d.modules[m];if(!m){if("cpu"!=r.type)break;k=r.start;l=r.end;h=Array(l+1-k);for(e=k;e<h.length;e++)h[e]=0}if(e=pa(r.refID,d.id)){var H=r.type;void 0===g[H]&&(g[H]=[]);g[H].push(e);e.ba&&void 0!==r.start&&e.ba(h,r.start,r.end,g.cpu[0])}else{u('no component for <module refid="'+r.refID+'">');return}}if(void 0===h){u('<module type="cpu"> definition must appear first in the <computer> specification');
|
||||
break}if(e=pa("debugger",d.id))g["debugger"]=[e],e.ba&&e.ba(h,k,l,g.cpu[0]);k=new Z(d,g);if(l=pa("panel",d.id))if(g.panel=[l],l.gb){e=d.id;d=void 0;g=[];e&&(e=0<(d=e.indexOf("."))?e.substr(0,d+1):"");for(d=0;d<A.length;d++)m=A[d],e&&m.id.indexOf(e)||g.push(m);d=g;for(g=0;g<d.length;g++)e=d[g],e!=l&&(e.$a=l.$a,e.l=l.l,e.gb=l.gb)}E(k,c);rb(k)}});var sb=0;function tb(a,b,c,d,e,g){e("Loading "+a+"...");t(a,null,function(h,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),g(k,null)):ub(k,a,b,c,d,e,g)})}
|
||||
function ub(a,b,c,d,e,g,h){function k(a,g){if(g)h(g,null);else{if(c){var k=b;k&&0>k.indexOf("/")&&(k=window.location.pathname+k);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+k+'"}';a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(k?' url="'+k+'"':""))}k=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(k=new window.ActiveXObject("Microsoft.XMLDOM"),
|
||||
k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(H){k=null,a=H.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,k)}}a?e?vb(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
||||
function vb(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(e,null,function(g,h,k){if(k||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(g=d[3])if(k=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,r=/( [a-z]+=)(['"])(.*?)\2/g;m=r.exec(g);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(h=h.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],h);vb(a,b,c)}})}else c(a,null)}
|
||||
function wb(a,b,c){function d(a){if(void 0===h){var b=g&&F(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ba(a))}function e(a){d("Error: "+a);k&&(--sb||y(!0));k=!1}var g,h,k=!0;sb++;C[a]={};try{if(g=document.getElementById(a)){c||(c="/versions/c1pjs/1.20.9/components.xsl");var l=function(h,k){k?(C[a]&&(C[a][b]=h),tb(c,null,null,!1,d,function(h,l){if(l)if(C[a]&&(C[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=k.transformNode(l);m?(g.outerHTML=m,--sb||y(!0)):
|
||||
e("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(l),(m=m.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--sb||y(!0)):e("invalid machine element: "+a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser");else e(h)})):e(h)};"<"!=b.charAt(0)?tb(b,a,void 0,!0,d,l):ub(b,null,a,void 0,!1,d,l)}else e("missing machine element: "+a)}catch(m){e(m.message)}return k}
|
||||
window.embedC1P=function(a,b,c){y(!1);return wb(a,b,c)};window.enableEvents=y;window.sendEvent=ja;})();
|
||||
|
|
|
|||
|
|
@ -5,15 +5,15 @@ function ia(a){return"0x"+l(a,4)}function ja(a,b){var c=a,d=a.lastIndexOf("/");0
|
|||
function pa(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function qa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function ra(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 g=d+e>>1,k;k=c(b,a[g]);0<k?d=g+1:(e=g,f=!k)}return f?d:~d}var sa=Date.now||function(){return+new Date};
|
||||
function ta(){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())}var ua=[31,28,31,30,31,30,31,31,30,31,30,31];function wa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.qh|g<<f.shift&f.qh}return c}function xa(a,b){return(b&a.qh)>>a.shift}
|
||||
function ya(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 za(a,b,c,d,e,f){b=!!b;var g=0,k=null,q=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(q.onreadystatechange=function(){4===q.readyState&&(k=q.responseText,200==q.status||!q.status&&k.length&&"file:"==(window?window.location.protocol:"file:")||(g=q.status||-1),e&&(d?e.call(d,a,k,g,f):e(a,k,g,f)))});if(c){var r="",x;for(x in c)c.hasOwnProperty(x)&&(r&&(r+="&"),r+=x+"="+encodeURIComponent(c[x]));r=r.replace(/%20/g,"+");q.open("POST",a,b);q.setRequestHeader("Content-type",
|
||||
"application/x-www-form-urlencoded");q.send(r)}else q.open("GET",a,b),q.send();c=[];b||(k=q.responseText,200!=q.status&&(g=q.status||-1),e&&(d?e.call(d,a,k,g,f):e(a,k,g,f)),c=[g,k]);return c}function Aa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Ba(a){window&&window.alert(a)}function Ca(a){var b=!1;window&&(b=window.confirm(a));return b}var Ea=null;
|
||||
function za(a,b,c,d,e,f){var g=0,k=null;if(resources&&(k=resources[a]))return e&&(d?e.call(d,a,k,g,f):e(a,k,g,f)),[g,k];var q=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(q.onreadystatechange=function(){4===q.readyState&&(k=q.responseText,200==q.status||!q.status&&k.length&&"file:"==(window?window.location.protocol:"file:")||(g=q.status||-1),e&&(d?e.call(d,a,k,g,f):e(a,k,g,f)))});if(c){var r="",x;for(x in c)c.hasOwnProperty(x)&&(r&&(r+="&"),r+=
|
||||
x+"="+encodeURIComponent(c[x]));r=r.replace(/%20/g,"+");q.open("POST",a,!!b);q.setRequestHeader("Content-type","application/x-www-form-urlencoded");q.send(r)}else q.open("GET",a,!!b),q.send();c=[];b||(k=q.responseText,200!=q.status&&(g=q.status||-1),e&&(d?e.call(d,a,k,g,f):e(a,k,g,f)),c=[g,k]);return c}function Aa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Ba(a){window&&window.alert(a)}function Ca(a){var b=!1;window&&(b=window.confirm(a));return b}var Ea=null;
|
||||
function Fa(){if(null==Ea){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}Ea=a}return Ea}function Ga(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function Ha(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}
|
||||
function Ia(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Ka(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
||||
function Ma(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 Na={init:[],show:[],exit:[]},Pa=!1,Qa=!0;function Ra(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Sa(a){Na.init.push(a)}
|
||||
function Ta(a){if(Qa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){Ba("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function Ua(a){!Qa&&a?(Qa=!0,Pa&&Wa("init")):Qa=a}function Wa(a){Na[a]&&Ta(Na[a])}Ra("onload",function(){Pa=!0;Ta(Na.init)});Ra("onpageshow",function(){Ta(Na.show)});Ra(Ia("Opera")||Ia("iOS")?"onunload":"onbeforeunload",function(){Ta(Na.exit)});
|
||||
function Xa(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.uk=b.comment;this.xk=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.se=this.id.substr(0,b),this.be=this.id.substr(b+1)):this.be=this.id;this[a]=c;this.ra={$e:!1,cd:!1,fh:!1,hc:!1,wd:!1};this.sg=null;this.ra.wd=!1;this.xa={};this.ma=null;this.wc=d||0;Ya.push(this)}var Za=void 0,$a={};
|
||||
if(window){Za||(Za=window.location.search.substr(1));for(var bb,cb=/\+/g,db=/([^&=]+)=?([^&]*)/g;bb=db.exec(Za);)$a[decodeURIComponent(bb[1].replace(cb," "))]=decodeURIComponent(bb[2].replace(cb," "))}function fb(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 gb(a,b){b||(b=Xa);a.prototype=fb(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var Ya=[],hb={};function ib(a,b,c){hb[a]&&(hb[a][b]||(hb[a][b]=[]),hb[a][b].push(c))}function jb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Ya.length;b++){var d=Ya[b];a&&d.id.indexOf(a)||c.push(d)}return c}function kb(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Ya.length;c++)if(Ya[c].id===a)return Ya[c]}return null}
|
||||
function gb(a,b){b||(b=Xa);a.prototype=fb(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var Ya=[],hb={};function ib(a,b,c){hb[a]&&(hb[a][b]=c)}function jb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Ya.length;b++){var d=Ya[b];a&&d.id.indexOf(a)||c.push(d)}return c}function kb(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Ya.length;c++)if(Ya[c].id===a)return Ya[c]}return null}
|
||||
function lb(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<Ya.length;d++)if(c)c==Ya[d]&&(c=null);else if(!(a!=Ya[d].type||b&&Ya[d].id.indexOf(b)))return Ya[d]}return null}function mb(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){Ba(c.message+" ("+a+")")}return b}function ob(a,b,c){var d;b&&(void 0===d&&(d="Panel"),(d=lb(d,a.id))&&(b=d.xa[b])&&a.Ub(null,c,b))}document&&!document.ELEMENT_NODE&&(document.ELEMENT_NODE=1);
|
||||
function pb(a,b){for(var c=qb(b.parentNode,"pcjs-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(g.nodeType===document.ELEMENT_NODE){var k=g.getAttribute("class");if(k)for(var q=k.split(" "),r=0;r<q.length;r++)switch(k=q[r],k){case "pcjs-binding":(k=mb(g))&&k.binding&&a.Ub(k.type,k.binding,g,k.value),r=q.length}}}}
|
||||
function qb(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}
|
||||
|
|
@ -87,7 +87,7 @@ h.km=function(a){var b=this.M;a<<=3;var c=b.Pc+a|0;if(7<=(b.Od-c|0))return this.
|
|||
h.Pk=function(a,b){return(a>>>0)+b>this.fc?this.Fa+a|0:this.pg()};h.pg=function(){p.call(this.M,13,0);return-1};function od(a,b,c,d,e){a.ga=b;a.Fa=d;a.Za=e;a.fc=(e>>>0)+1;a.Bb=c;a.type=c&7936;a.ext=c>>16&192;a.dc=(b&4?a.M.Bc.Fa:a.M.Ec)+(b&65528)|0;4>a.id&&ld(a,!0)}function pd(a,b,c){var d=a.M,e=d.va(b+2),f=d.va(b)|(e&255)<<16,d=d.va(b+4);a.ga=c;a.Fa=f;a.Za=d;a.fc=(d>>>0)+1;a.Bb=e;a.type=e&7936;a.ext=0;a.dc=b;4>a.id&&ld(a,!0)}
|
||||
function nd(a,b,c,d){var e=a.M;if(!d&&c===a.A.ga)return a.ga=c,a.Fa=a.A.Fa,a.Za=a.A.Za,a.fc=(a.A.Za>>>0)+1,a.Bb=a.A.Bb,a.type=a.A.type,a.ext=a.A.ext,a.dc=a.A.dc,a.A.ga=-1,ld(a,!0,!0,!1),a.Fa;a.A.ga=-1;var f=e.va(b+0),g=e.va(b+4),k=g&7936,q=e.va(b+2)|(g&255)<<16,r=e.va(b+6),x=c&65528;if(80386<=e.na){var B=f,q=q|(r&65280)<<16,f=f|(r&15)<<16;r&128&&(f=f<<12|4095)}switch(a.id){case 1:var y=a.R;a.bf=!1;if(y&&1==c&&a.C.length){var J=a.C[a.Uf-1];if(J&&!J())return-1}var U=c&3,F=(g&24576)>>13,J=-1,O,V;x||
|
||||
b>=e.Ec&&b<e.Bd&&(k=0);if(6144<=k){if(J=0,U>a.$b&&(J=-1,!1===y||F==a.$b||k&1024&&F<=a.$b))J=qd(e),rd(e,qd(e),!0),t(e,J),a.bf=!0,J=0}else{if(256==k||2304==k)return sd(a,c,y)?a.Fa:-1;if(1024==k)J=2,V=0,U<a.$b&&(U=a.$b);else if(3072==k)J=4,V=0,U<a.$b&&(U=a.$b);else if(1536==k)J=2,V=148224;else if(3584==k)J=4,V=148224;else if(1792==k)J=2,V=147712;else if(3840==k)J=4,V=147712;else if(1280==k)return sd(a,q&65535,y)?a.Fa:-1}0<J&&!(g&32768)&&(J=0);if(0<J&&(x=a.$b,O=b==e.Pc+c,U<=F&&(!O||0<=e.lb||x<=F))){b=
|
||||
q&65535;k&2048&&(f=B|r<<16);r=k=0;c=b&3;if(c<x){if(-1===a.tg(b,!0))return-1;r=e.Ya.Fa;e.Ya.type&2048?(c=(c<<3)+4,d=4):(c=(c<<2)+2,d=2);k=e.va(r+c+d);if(!k)return p.call(e,10,k),-1;if(-1===e.Aa.tg(k,!0))return-1;r=2==d?e.va(r+c):e.ta(r+c)}c=e.ea;e.ea&=~V;c&131072&&xd(e,!0,!1);if(-1===a.tg(b))return-1;yd(e,J);a.Uf=f;if(a.$b<x){if(!0!==y)return-1;J=u(e);f=0;for(g&=31;g--;)a.P[f++]=zd(e,e.Aa,J),J+=2;y=e.Aa.ga;g=u(e);rd(e,k,!0);t(e,r);c&131072&&(yd(e,4),Ad(e,e.Tb.ga,4,2),e.Tb.load(0),Ad(e,e.Sb.ga,4,2),
|
||||
q&65535;k&2048&&(f=B|r<<16);r=k=0;c=b&3;if(c<x){if(-1===a.tg(b,!0))return-1;r=e.Ya.Fa;e.Ya.type&2048?(c=(c<<3)+4,d=4):(c=(c<<2)+2,d=2);k=e.va(r+c+d);if(!k)return p.call(e,10,k),-1;if(-1===e.Aa.tg(k,!0))return-1;r=2==d?e.va(r+c):e.ta(r+c)}c=e.ea;e.ea&=~V;c&131072&&td(e,!0,!1);if(-1===a.tg(b))return-1;yd(e,J);a.Uf=f;if(a.$b<x){if(!0!==y)return-1;J=u(e);f=0;for(g&=31;g--;)a.P[f++]=zd(e,e.Aa,J),J+=2;y=e.Aa.ga;g=u(e);rd(e,k,!0);t(e,r);c&131072&&(yd(e,4),Ad(e,e.Tb.ga,4,2),e.Tb.load(0),Ad(e,e.Sb.ga,4,2),
|
||||
e.Sb.load(0),Ad(e,e.Ab.ga,4,2),Bd(e,0),Ad(e,e.bb.ga,4,2),Cd(e,0));Ad(e,y,e.fa,2);for(Dd(e,g);f;)Dd(e,a.P[--f]);a.bf=!0}return a.Fa}if(0!=J)return p.call(e,13,c&65532|(O?2:0)),-1;if(!(g&32768))return p.call(e,11,c&65532|(O?2:0)),-1;break;case 2:if(x){if(4096>k||2048==(k&2560))return p.call(e,13,c&65532),-1;if(!(g&32768))return p.call(e,11,c&65532),-1}break;case 3:if(!x||4096>k||512!=(k&2560))return p.call(e,13,c&65532),-1;if(!(g&32768))return p.call(e,12,c&65532),-1;break;case 4:y=k&-513;if(!x||256!=
|
||||
y&&2304!=y)return p.call(e,13,c&65532),-1;2304==y&&(a.yi=q+e.va(q+100+2)|0,a.Kk=q+a.Za|0);break;case 6:if(!(k&4096)&&768<k&&2304!=k&&2816!=k)return-1}d?(a.A.ga=c,a.A.Fa=q,a.A.Za=f,a.A.Bb=g,a.A.type=k,a.A.ext=r,a.A.dc=b):(a.ga=c,a.Fa=q,a.Za=f,a.fc=(f>>>0)+1,a.Bb=g,a.type=k,a.ext=r,a.dc=b,ld(a,!0,!0,!1));return q}
|
||||
function sd(a,b,c){var d=a.M,e=a.$b,f=d.Ya.ga,g=d.Ya.Fa;if(!c){if(!(d.Ya.type&512))return p.call(d,13,b&65532),!1;d.pb(d.Ya.dc+4,d.Ya.Bb&=-513)}if(-1===d.Ya.load(b))return!1;var k=d.Ya.Fa;if(!1!==c){if(d.Ya.type&512)return p.call(d,13,b&65532),!1;d.pb(d.Ya.dc+4,d.Ya.Bb|=512)}d.Ya.type=d.Ya.type&-513|d.Ya.Bb&512;256==d.Ya.type||768==d.Ya.type?(d.pb(g+14,v(d)),d.pb(g+16,Ed(d)),d.pb(g+18,d.F),d.pb(g+20,d.G),d.pb(g+22,d.H),d.pb(g+24,d.D),d.pb(g+26,u(d)),d.pb(g+28,d.K),d.pb(g+30,d.J),d.pb(g+32,d.I),d.pb(g+
|
||||
|
|
@ -105,14 +105,14 @@ function Lc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.kd[(a.Ld+e&a.Mb)>>>a.Pa],g=f.Xd
|
|||
b.A=e>>2;b.Eb=g;b.C=k>>2;Ab&&gc&&c.ha&&!c.controller&&!c.Se&&!c.Te?(b.eb=c.eb,b.ce=c.ce,b.ha=c.ha,dc(b,Qc)):(b.O=c?Ec(32):0,b.Y=c?Ec(96):0,dc(b,Oc));Sb(b,a.ma,q);a.ya[d]=b;a.ie.push(d);return b}function Be(a){a.ya!==a.kd&&(a.ya=a.kd,a.le=null,a.ie=null,a.rd=null)}h=Id.prototype;h.reset=function(){this.ra.Ob&&this.bc();xe(this);Tc(this);this.ra.wd=!1};
|
||||
function Ce(a,b){var c;switch(b){case 0:c=a.F;break;case 1:c=a.G;break;case 2:c=a.H;break;case 3:c=a.D;break;case 4:c=u(a);break;case 5:c=a.K;break;case 6:c=a.J;break;case 7:c=a.I}return c}function De(a,b,c){switch(b){case 0:a.F=c;break;case 1:a.G=c;break;case 2:a.H=c;break;case 3:a.D=c;break;case 4:t(a,c);break;case 5:a.K=c;break;case 6:a.J=c;break;case 7:a.I=c}}
|
||||
function xe(a){a.F=0;a.D=0;a.G=0;a.H=0;a.ib=0;a.K=0;a.J=0;a.I=0;a.Va=!1;a.la=a.Ba=0;a.xb=0;a.Qg=0;a.pc=0;a.hb=65520;a.Pc=0;a.Od=1023;a.ea=a.Ra=0;a.Xc=a.vd=a.Wc=a.Yc=0;a.lb=-1;a.Lc=a.td=-1;a.He=a.X=-1;a.Ca=new kd(a,1,"CS");a.Ab=new kd(a,2,"DS");a.bb=new kd(a,2,"ES");a.Aa=new kd(a,3,"SS");t(a,0);rd(a,0);if(80386<=a.na){switch(a.oc){case 80562:case 80563:a.H=771;break;case 80578:a.H=772;break;case 80594:a.H=773;break;case 80595:case 80596:a.H=776}a.hb=16;a.ni=0;a.qe=0;a.Ld=0;a.Ma=[0,0,0,0,null,null,
|
||||
0,0];a.Ge=[null,null,null,null,null,null,0,0];a.Sb=new kd(a,2,"FS");a.Tb=new kd(a,2,"GS");Be(a)}a.pf=new kd(a,0,"NULL");a.P=a.Ab;a.O=a.Aa;a.V=a.La=0;a.Z=a.Y=-1;a.pd=a.pf;a.za=0;if(80286>a.na)Gd(a,0,65535);else{a.Ec=0;a.Bd=65535;a.Bc=new kd(a,5,"LDT",!0);a.Ya=new kd(a,4,"TSS",!0);a.Ea=new kd(a,6,"VER",!0);Gd(a,65520,61440);var b,c=v(a);b=a.Ca;var d=-65536;80386>b.M.na&&(d&=16777215);b=b.Fa=d;a.Na=b+c|0;a.of=b+a.Ca.Za|0}Fd(a,0);xd(a)}
|
||||
function Ee(a,b){b.ga&65528&&b.Mc<a.ua&&7168!=(b.Bb&7168)&&b.load(0)}function Fe(a){2==a.gd?(a.ic=a.va,a.Qa=z,a.Ta=Ge,a.Ib=He,a.da=A,a.qa=Ke,a.Oa=Le):(a.ic=a.ta,a.Qa=C,a.Ta=Me,a.Ib=Ne,a.da=D,a.qa=Oe,a.Oa=Pe)}function yd(a,b){a.fa!=b&&(a.La|=1024,a.fa=b,a.B=2==b?65535:-1,Qe(a))}function Qe(a){2==a.fa?(a.Ja=32768,a.vb=a.va,a.uc=a.pb):(a.Ja=-2147483648,a.vb=a.ta,a.uc=a.ub)}function Re(a){a.gd=a.Ca.gd;a.Ga=a.Ca.Ga;Fe(a);a.fa=a.Ca.fa;a.B=a.Ca.B;Qe(a);a.La&=-3073}
|
||||
h.Ti=function(){var a=this.F+this.D+this.G+this.H+u(this)+this.K+this.J+this.I|0;return a=a+v(this)+this.Ca.ga+this.Ab.ga+this.Aa.ga+this.bb.ga+Ed(this)|0};function Se(a,b,c){void 0===a.je[b]&&(a.je[b]=[]);a.je[b].push(c)}function Te(a,b,c){void 0!==c&&(null==a.ke[b]&&a.me++,a.ke[b]=c)}function Ue(a,b){var c=a.ke[b];null!=c&&(c(--a.me),delete a.ke[b])}
|
||||
0,0];a.Ge=[null,null,null,null,null,null,0,0];a.Sb=new kd(a,2,"FS");a.Tb=new kd(a,2,"GS");Be(a)}a.pf=new kd(a,0,"NULL");a.P=a.Ab;a.O=a.Aa;a.V=a.La=0;a.Z=a.Y=-1;a.pd=a.pf;a.za=0;if(80286>a.na)Gd(a,0,65535);else{a.Ec=0;a.Bd=65535;a.Bc=new kd(a,5,"LDT",!0);a.Ya=new kd(a,4,"TSS",!0);a.Ea=new kd(a,6,"VER",!0);Gd(a,65520,61440);var b,c=v(a);b=a.Ca;var d=-65536;80386>b.M.na&&(d&=16777215);b=b.Fa=d;a.Na=b+c|0;a.of=b+a.Ca.Za|0}Fd(a,0);td(a)}
|
||||
function Ee(a,b){b.ga&65528&&b.Mc<a.ua&&7168!=(b.Bb&7168)&&b.load(0)}function Fe(a){2==a.gd?(a.ic=a.va,a.Qa=z,a.Ta=Ge,a.Ib=Je,a.da=A,a.qa=Ke,a.Oa=Le):(a.ic=a.ta,a.Qa=C,a.Ta=Me,a.Ib=Ne,a.da=D,a.qa=Oe,a.Oa=Pe)}function yd(a,b){a.fa!=b&&(a.La|=1024,a.fa=b,a.B=2==b?65535:-1,Qe(a))}function Qe(a){2==a.fa?(a.Ja=32768,a.vb=a.va,a.uc=a.pb):(a.Ja=-2147483648,a.vb=a.ta,a.uc=a.ub)}function Re(a){a.gd=a.Ca.gd;a.Ga=a.Ca.Ga;Fe(a);a.fa=a.Ca.fa;a.B=a.Ca.B;Qe(a);a.La&=-3073}
|
||||
h.Ti=function(){var a=this.F+this.D+this.G+this.H+u(this)+this.K+this.J+this.I|0;return a=a+v(this)+this.Ca.ga+this.Ab.ga+this.Aa.ga+this.bb.ga+Ed(this)|0};function Se(a,b,c){void 0===a.je[b]&&(a.je[b]=[]);a.je[b].push(c)}function Te(a,b,c){void 0!==c&&(null==a.ke[b]&&a.me++,a.ke[b]=c)}function af(a,b){var c=a.ke[b];null!=c&&(c(--a.me),delete a.ke[b])}
|
||||
function bf(a,b){for(var c=a.Ma[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ma[e],g=g&~(d>>2&3);b?a.ya[g>>>a.Pa].Nd(g&a.Ha,f,a):Mc(a.ya[g>>>a.Pa],f)}c>>=2;d>>=4}}function Jc(a,b,c,d){if(!(a.V&8192)&&a.Ma[7]&255){c--;var e=a.Ma[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var k=f>>2;if(b+c>=a.Ma[g]&&b<=a.Ma[g]+k){a.Ma[6]|=1<<g;a.za|=2;break}}e>>=2;f>>=4}}}
|
||||
function xd(a,b,c){void 0===b&&(b=!!(a.hb&1));void 0===c&&(c=!!(a.ea&131072));a.Pg=b&&!c?cf:Md;ld(a.Ca,!1,b,c);ld(a.Ab,!1,b,c);ld(a.Aa,!1,b,c);ld(a.bb,!1,b,c);80386<=a.na&&(ld(a.Sb,!1,b,c),ld(a.Tb,!1,b,c));Re(a)}
|
||||
function td(a,b,c){void 0===b&&(b=!!(a.hb&1));void 0===c&&(c=!!(a.ea&131072));a.Pg=b&&!c?cf:Md;ld(a.Ca,!1,b,c);ld(a.Ab,!1,b,c);ld(a.Aa,!1,b,c);ld(a.bb,!1,b,c);80386<=a.na&&(ld(a.Sb,!1,b,c),ld(a.Tb,!1,b,c));Re(a)}
|
||||
h.save=function(){var a=new df(this);ef(a,0,[this.F,this.D,this.G,this.H,u(this),this.K,this.J,this.I]);var b=v(this),c=this.Ca.save(),d=this.Ab.save(),e=this.Aa.save(),f=this.bb.save(),g;null!=this.Ec?(g=[this.hb,this.Ec,this.Bd,this.Pc,this.Od,this.Bc.save(),this.Ya.save(),this.Ra],80386<=this.na&&(g.push(this.ni),g.push(this.qe),g.push(this.Ld),g.push(this.Ma),g.push(this.Ge))):g=null;b=[b,c,d,e,f,g,Ed(this)];80386<=this.na&&(b.push(this.Sb.save()),b.push(this.Tb.save()));ef(a,1,b);ef(a,2,[this.P.nc,
|
||||
this.O.nc,this.V,this.La,this.za,this.Z,this.Y]);ef(a,3,[0,this.Zb,this.ba.Td]);b=this.ja;c=!!(this.hb&-2147483648);d=0;e=[];(f=!b.ja&&b.xg==b.Mb)||Yb(b,!0);for(g=0;g<b.W;g++){var k=b.ya[g];if(c&&k.type!=fc||k.ab||k.Qi){e[d++]=g;var q=d++;a:if(k=k.save()){for(var r=0,x=0,B=[];r<k.length;){for(var y=k[r],J=r+1;J<k.length&&k[J]===y;)J++;B[x++]=J-r;B[x++]=y;r=J}if(B.length<k.length){k=B;break a}}e[q]=k}}f||Yb(b,!1);e[d]=f;ef(a,4,e);return a.data()};
|
||||
h.restore=function(a){var b=a[0];this.F=b[0];this.D=b[1];this.G=b[2];this.H=b[3];var c=b[4];this.K=b[5];this.J=b[6];this.I=b[7];b=a[1];this.Ca.restore(b[1]);this.Ab.restore(b[2]);this.Aa.restore(b[3]);this.bb.restore(b[4]);var d=b[5];d&&d.length&&(this.hb=d[0],this.Ec=d[1],this.Bd=d[2],this.Pc=d[3],this.Od=d[4],this.Bc.restore(d[5]),this.Ya.restore(d[6]),this.Ra=d[7],80386<=this.na&&(this.ni=d[8],this.qe=d[9],this.Ld=d[10],this.Ma=d[11],this.Ge=d[12]),xd(this));Fd(this,b[6]);var d=!1,e;a:{e=this.ja;
|
||||
h.restore=function(a){var b=a[0];this.F=b[0];this.D=b[1];this.G=b[2];this.H=b[3];var c=b[4];this.K=b[5];this.J=b[6];this.I=b[7];b=a[1];this.Ca.restore(b[1]);this.Ab.restore(b[2]);this.Aa.restore(b[3]);this.bb.restore(b[4]);var d=b[5];d&&d.length&&(this.hb=d[0],this.Ec=d[1],this.Bd=d[2],this.Pc=d[3],this.Od=d[4],this.Bc.restore(d[5]),this.Ya.restore(d[6]),this.Ra=d[7],80386<=this.na&&(this.ni=d[8],this.qe=d[9],this.Ld=d[10],this.Ma=d[11],this.Ge=d[12]),td(this));Fd(this,b[6]);var d=!1,e;a:{e=this.ja;
|
||||
var f=a[4],g;for(g=0;g<f.length-1;g+=2){var k=f[g],q=f[g+1];if(q&&q.length<e.la){for(var r=0,x=Array(e.la),B=0;B<q.length-1;)for(var y=q[B++],J=q[B++];y--;)x[r++]=J;q=x}r=e.ya[k];if(!r||!r.restore(q)){Ba("Unable to restore memory block "+k);e=!1;break a}}void 0!==f[g]&&Yb(e,f[g]);e=!0}e&&(Gd(this,b[0],this.Ca.ga),t(this,c),rd(this,this.Aa.ga),80386<=this.na&&(this.Sb.restore(b[7]),this.Tb.restore(b[8])),d=!0);b=a[2];this.P=null!=b[0]&&ff(this,b[0])||this.Ab;this.O=null!=b[1]&&ff(this,b[1])||this.Aa;
|
||||
this.V=b[2];this.La=b[3];this.za=b[4];this.Z=b[5];this.Y=b[6];b=a[3];this.Zb=b[1];dd(this,b[2]);return d};function ff(a,b){switch(b){case "CS":return a.Ca;case "DS":return a.Ab;case "SS":return a.Aa;case "ES":return a.bb;case "NULL":return a.pf;default:return[0,b,0,0,""]}}function gf(a,b){null!=Gd(a,v(a),b)&&(a.V|=a.Gd)}function Bd(a,b){-1!==a.Ab.load(b)&&(a.V|=a.Gd)}
|
||||
function rd(a,b,c){var d=u(a);-1!==a.Aa.load(b)&&(t(a,d),a.Aa.dd?(a.Mg=a.Aa.Fa+a.Aa.Ga|0,a.ud=a.Aa.Fa+a.Aa.Za|0):(a.Mg=a.Aa.Fa+a.Aa.Za|0,a.ud=a.Aa.Fa),c||(a.V|=4))}function Cd(a,b){-1!==a.bb.load(b)&&(a.V|=a.Gd)}function v(a){return a.Na-a.Ca.Fa|0}function hf(a,b){a.Na=a.Ca.Fa+(b&a.B)|0}function jf(a,b){a.Na=b|0;a.of=a.Ca.Fa+a.Ca.Za|0;a.ua=a.Ca.$b;Re(a)}function Gd(a,b,c,d){var e=a.Ca;e.Uf=b;e.R=d;b=e.load(c);return-1!==b?(jf(a,b+(a.Ca.Uf&a.Ca.B)),a.Ca.bf):null}
|
||||
|
|
@ -120,7 +120,7 @@ function kf(a,b){a.Na=a.Na+b|0;var c=a.of-a.Na|0;0>c&&0<=(a.of^a.Na)&&(8088>=a.n
|
|||
function tf(a,b,c,d,e){a.resultType=c|26;a.Yc=b;d?uf(a):vf(a);e?wf(a):xf(a);return b}function yf(a,b,c,d){c&d?uf(a):vf(a);(b^c)&d?wf(a):xf(a)}function zf(a){return nf(a)?1:0}function nf(a){a.resultType&1&&(a.ea&=-2,(a.Xc^(a.Xc^a.vd)&(a.vd^a.Wc))&a.resultType&-2147450752&&(a.ea|=1),a.resultType&=-2);return a.ea&1}function of(a){a.resultType&2&&(a.ea&=-5,38505>>((a.Yc^a.Yc>>4)&15)&1&&(a.ea|=4),a.resultType&=-3);return a.ea&4}
|
||||
function pf(a){a.resultType&4&&(a.ea&=-17,(a.Wc^a.Xc^a.vd)&16&&(a.ea|=16),a.resultType&=-5);return a.ea&16}function qf(a){a.resultType&8&&(a.ea&=-65,a.Yc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ea|=64),a.resultType&=-9);return a.ea&64}function rf(a){a.resultType&16&&(a.ea&=-129,a.Yc&a.resultType&-2147450752&&(a.ea|=128),a.resultType&=-17);return a.ea&128}
|
||||
function sf(a){a.resultType&32&&(a.ea&=-2049,(a.Xc^a.Wc)&(a.vd^a.Wc)&a.resultType&-2147450752&&(a.ea|=2048),a.resultType&=-33);return a.ea&2048}function vf(a){a.resultType&=-2;a.ea&=-2}function Af(a){a.resultType&=-5;a.ea&=-17}function Bf(a){a.resultType&=-9;a.ea&=-65}function xf(a){a.resultType&=-33;a.ea&=-2049}function uf(a){a.resultType&=-2;a.ea|=1}function Cf(a){a.resultType&=-5;a.ea|=16}function Df(a){a.resultType&=-9;a.ea|=64}function wf(a){a.resultType&=-33;a.ea|=2048}
|
||||
function Ed(a){return a.ea&-2262|nf(a)|of(a)|pf(a)|qf(a)|rf(a)|sf(a)}function Ef(a,b){b=b|a.hb&1|65520;a.hb=a.hb&-65536|b&65535;a.hb&1&&xd(a,!0)}function Fd(a,b,c){a.hb&1||(b&=~a.Yf);void 0===c&&(c=a.ua);c?b=b&-12289|a.ea&12288:a.Ra=(b&12288)>>12;c>a.Ra&&(b=b&-513|a.ea&512);a.resultType=128;a.ea=a.ea&~(a.cc|2261)|b&(a.cc|2261)|a.dg;a.ea&256&&(a.za|=2,a.V|=4)}
|
||||
function Ed(a){return a.ea&-2262|nf(a)|of(a)|pf(a)|qf(a)|rf(a)|sf(a)}function Ef(a,b){b=b|a.hb&1|65520;a.hb=a.hb&-65536|b&65535;a.hb&1&&td(a,!0)}function Fd(a,b,c){a.hb&1||(b&=~a.Yf);void 0===c&&(c=a.ua);c?b=b&-12289|a.ea&12288:a.Ra=(b&12288)>>12;c>a.Ra&&(b=b&-513|a.ea&512);a.resultType=128;a.ea=a.ea&~(a.cc|2261)|b&(a.cc|2261)|a.dg;a.ea&256&&(a.za|=2,a.V|=4)}
|
||||
function Ff(a,b,c,d){var e=0;if(a.hb&1&&(a.ua>a.Ra||a.ea&131072)&&a.Ya.yi)for(var f=a.Ya.yi+(b>>>3),e=(1<<c)-1<<(b&7);e&&f<=a.Ya.Kk&&!(a.Wa(f)&e);)e>>>=8,f++;return e?(n(a,256)&&sb(a,"checkIOPM("+ia(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),p.call(a,13,0),!1):!0}
|
||||
h.Ub=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.xa[b]=c;this.Rg++;d=!0;break;default:d=this.parent.Ub.call(this,a,b,c)}return d};
|
||||
function Gf(a,b,c,d){var e=(d?a.kd:a.ya)[(b&a.qb)>>>a.Pa];e&&5==e.type&&(e=Lc(a,b,!1,!0));if(e){var f=b&a.Ha;if(!c||1==c)return e.pe(f,b);if(2==c)return f<a.Ha?e.$f(f,b):e.pe(f,b)|Gf(a,b+1,1,d)<<8;if(4==c)return f<a.Ha-2?e.mi(f,b):f==a.Ha-1?e.$f(f,b)|Gf(a,b+2,2,d)<<16:e.pe(f,b)|Gf(a,b+1,1,d)<<8|Gf(a,b+2,1,d)<<16|Gf(a,b+3,1,d)<<24}return null}h.Wa=function(a){return this.ya[(a&this.qb)>>>this.Pa].sc(a&this.Ha,a)};
|
||||
|
|
@ -174,11 +174,11 @@ function Gh(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a
|
|||
function Hh(a){if(this.Yb){var b=this.Yb,c=this.Qg,d=this.pc,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=hh[c][f]){if(0>ih.indexOf(e)){var f=b.M,g=f.He;8087==b.na&&(f.La&16&&g++,f.La&32&&g++);b.ka=f.Ca.ga;b.Y=g-f.Ca.Fa;-1!==f.Z&&(b.la=f.pd.ga,b.W=f.Z-f.pd.Fa);b.qa=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.Z?2:8;return a}function Ih(a,b){var c=Jh.call(this,this.L(),b);80386>this.na&&(this.A-=12);return c}
|
||||
function Kh(a,b){var c;a=this.Sa();c=2==this.fa?Jh.call(this,a,b):Lh.call(this,a,b);80386>this.na&&(this.A-=12);return c}function Mh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Nh.call(this,a,b);c&&(this.la=~this.la+1|0,this.Ba=~this.Ba+(this.la?0:1)|0)}function Jh(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767<c||-32768>c?(uf(this),wf(this)):(vf(this),xf(this));this.A-=-1===this.Z?9:12;return c&65535}
|
||||
function Lh(a,b){Mh.call(this,a,b);this.Ba!=this.la>>31?(uf(this),wf(this)):(vf(this),xf(this));this.A-=-1===this.Z?9:12;return this.la}function Oh(a){var b=a+1|0;mf(this,a,1,b,this.Ja|62);this.A-=2;return a&~this.B|b&this.B}function Ph(a,b,c){this.A-=this.C.zj+(c||0);c=Ed(this);var d=this.Ca.ga,e=v(this);a=this.Ca.Zi(a);-1!==a&&(Dd(this,c),Dd(this,d),Dd(this,e),null!=b&&Dd(this,b),this.lb=-1,jf(this,a))}
|
||||
function Qh(a,b){this.A-=14+(-1===this.Z?0:2);Bf(this);-1!==this.Ea.load(b)&&this.Ea.Mc>=this.ua&&this.Ea.Mc>=(b&3)&&(Df(this),a=this.Ea.Bb&-256,2<this.fa&&(a|=(this.Ea.ext&-65281)<<16));return a}function Rh(a){this.hb=a;xd(this);this.hb&-2147483648?ze(this):Be(this)}function Hd(a){this.Ld=a;ac(this)}function Sh(a,b){if(-1===this.Z)return oe.call(this),a;Bd(this,this.va(this.Z+this.fa));this.A-=this.C.mf;return b}function Th(){this.A-=this.C.Hj;return this.Z}
|
||||
function Qh(a,b){this.A-=14+(-1===this.Z?0:2);Bf(this);-1!==this.Ea.load(b)&&this.Ea.Mc>=this.ua&&this.Ea.Mc>=(b&3)&&(Df(this),a=this.Ea.Bb&-256,2<this.fa&&(a|=(this.Ea.ext&-65281)<<16));return a}function Rh(a){this.hb=a;td(this);this.hb&-2147483648?ze(this):Be(this)}function Hd(a){this.Ld=a;ac(this)}function Sh(a,b){if(-1===this.Z)return oe.call(this),a;Bd(this,this.va(this.Z+this.fa));this.A-=this.C.mf;return b}function Th(){this.A-=this.C.Hj;return this.Z}
|
||||
function Uh(a,b){if(-1===this.Z)return oe.call(this),a;Cd(this,this.va(this.Z+this.fa));this.A-=this.C.mf;return b}function Vh(a,b){if(-1===this.Z)return oe.call(this),a;var c=this.va(this.Z+this.fa);this.Sb.load(c);this.A-=this.C.mf;return b}function Wh(a,b){if(-1===this.Z)return oe.call(this),a;var c=this.va(this.Z+this.fa);this.Tb.load(c);this.A-=this.C.mf;return b}
|
||||
function Xh(a,b){this.A-=14+(-1===this.Z?0:2);if(b&65528&&-1!==this.Ea.load(b)&&(7168==(this.Ea.Bb&7168)||this.Ea.Mc>=this.ua)&&this.Ea.Mc>=(b&3))return Df(this),this.Ea.Za;Bf(this);return a}function Yh(a,b){if(-1===this.Z)return oe.call(this),a;rd(this,this.va(this.Z+this.fa));this.A-=this.C.mf;return b}function Zh(a,b){this.A-=-1===this.Y?-1===this.Z?this.C.Oj:this.C.Nj:this.C.Lj;return b}function $h(a,b){return b}function ai(){-1!==this.Y&&yd(this,2);return Zh.call(this,0,this.xb)}
|
||||
function Nh(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,k=e>>>16,e=(e&65535)+c*f;this.la=e<<16|g&65535;this.Ba=k+((e>>>16)+d*f)|0}else this.la=a*b|0,this.Ba=0}function bi(a,b){this.A-=-1===this.Y?-1===this.Z?this.C.yc:this.C.ac:this.C.Nc;return tf(this,a|b,128)}function ci(a,b){this.A-=-1===this.Y?-1===this.Z?this.C.yc:this.C.ac:this.C.Nc;return tf(this,a|b,this.Ja)&this.B}
|
||||
function di(a){this.X=this.ka;var b=qd(this),c=qd(this);a&&t(this,u(this)+a);Gd(this,b,c,!1)&&(a&&t(this,u(this)+a),Ee(this,this.Ab),Ee(this,this.bb),80386<=this.na&&(Ee(this,this.Sb),Ee(this,this.Tb)));2==a&&this.me&&Ue(this,this.Na);this.X=-1}function ei(a,b){var c=a-b-zf(this)|0;mf(this,a,b,c,191,!0);this.A-=-1===this.Y?-1===this.Z?this.C.yc:this.C.ac:this.C.Nc;return c&255}
|
||||
function di(a){this.X=this.ka;var b=qd(this),c=qd(this);a&&t(this,u(this)+a);Gd(this,b,c,!1)&&(a&&t(this,u(this)+a),Ee(this,this.Ab),Ee(this,this.bb),80386<=this.na&&(Ee(this,this.Sb),Ee(this,this.Tb)));2==a&&this.me&&af(this,this.Na);this.X=-1}function ei(a,b){var c=a-b-zf(this)|0;mf(this,a,b,c,191,!0);this.A-=-1===this.Y?-1===this.Z?this.C.yc:this.C.ac:this.C.Nc;return c&255}
|
||||
function fi(a,b){var c=a-b-zf(this)|0;mf(this,a,b,c,this.Ja|63,!0);this.A-=-1===this.Y?-1===this.Z?this.C.yc:this.C.ac:this.C.Nc;return c&this.B}function gi(a){this.V|=1;this.Ta[this.ca()].call(this,a);this.A-=-1===this.Z?4:5}function hi(){return sf(this)?1:0}function ii(){return nf(this)?1:0}function ji(){return nf(this)?0:1}function Bi(){return qf(this)?1:0}function Ci(){return qf(this)?0:1}function Di(){return nf(this)||qf(this)?1:0}function Ei(){return nf(this)||qf(this)?0:1}
|
||||
function Fi(){return rf(this)?1:0}function Gi(){return rf(this)?0:1}function Hi(){return of(this)?1:0}function Ii(){return of(this)?0:1}function Ji(){return!rf(this)!=!sf(this)?1:0}function Ki(){return!rf(this)!=!sf(this)?0:1}function Li(){return qf(this)||!rf(this)!=!sf(this)?1:0}function Mi(){return qf(this)||!rf(this)!=!sf(this)?0:1}function Ni(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a<<c-1;a=(d<<1|b>>>16-c)&65535;tf(this,a,32768,d&32768)}return a}
|
||||
function Oi(a,b,c){if(c){var d=a<<c-1;a=d<<1|b>>>32-c;tf(this,a,-2147483648,d&-2147483648)}return a}function Pi(a,b){return Ni.call(this,a,b,this.ca())}function Qi(a,b){return Oi.call(this,a,b,this.ca())}function Ri(a,b){return Ni.call(this,a,b,this.G&31)}function Si(a,b){return Oi.call(this,a,b,this.G&31)}function Ti(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a>>>c-1;a=(d>>>1|b<<16-c)&65535;tf(this,a,32768,d&1)}return a}
|
||||
|
|
@ -233,8 +233,8 @@ this.P,this.J&c);this.F=this.F&~this.B|e;this.J=this.J&~c|this.J+(this.ea&1024?-
|
|||
this.D&-256|this.ca();this.A-=this.C.jc},function(){this.F=this.F&-65281|this.ca()<<8;this.A-=this.C.jc},function(){this.G=this.G&-65281|this.ca()<<8;this.A-=this.C.jc},function(){this.H=this.H&-65281|this.ca()<<8;this.A-=this.C.jc},function(){this.D=this.D&-65281|this.ca()<<8;this.A-=this.C.jc},function(){this.F=this.F&~this.B|this.Sa();this.A-=this.C.jc},function(){this.G=this.G&~this.B|this.Sa();this.A-=this.C.jc},function(){this.H=this.H&~this.B|this.Sa();this.A-=this.C.jc},function(){this.D=
|
||||
this.D&~this.B|this.Sa();this.A-=this.C.jc},function(){t(this,u(this)&~this.B|this.Sa());this.A-=this.C.jc},function(){this.K=this.K&~this.B|this.Sa();this.A-=this.C.jc},function(){this.J=this.J&~this.B|this.Sa();this.A-=this.C.jc},function(){this.I=this.I&~this.B|this.Sa();this.A-=this.C.jc},Pj,Qj,Pj,Qj,function(){this.da[this.ca()].call(this,Uh)},function(){this.da[this.ca()].call(this,Sh)},function(){this.V|=1;this.Ib[this.ca()].call(this,Xj,this.ca)},function(){this.V|=1;this.Oa[this.ca()].call(this,
|
||||
Xj,this.Sa)},Rj,Sj,Rj,Sj,function(){if(this.ea&131072&&3>this.Ra)p.call(this,13,0);else{var a=this.C.Aj;this.lb=-1;Ph.call(this,3,null,a)}},function(){var a=this.ca();if(this.ea&131072&&3>this.Ra)p.call(this,13,0);else{var b;a:{b=this.je[a];if(void 0!==b)for(var c=0;c<b.length;c++)if(!b[c](this.Na)){b=!1;break a}this.ra.Pi&&n(this,16)&&Yj(this.ma,a,this.Na);b=!0}b?(this.lb=-1,Ph.call(this,a,null,0)):this.A--}},function(){if(sf(this))if(this.ea&131072&&3>this.Ra)p.call(this,13,0);else{var a=this.C.Bj;
|
||||
this.lb=-1;Ph.call(this,4,null,a)}else this.A-=this.C.Cj},function(){if(this.ea&131072&&3>this.Ra)p.call(this,13,0);else{this.X=this.ka;this.A-=this.C.yj;if(this.hb&1&&this.ea&16384){var a=this.va(this.Ya.Fa+0);sd(this.Ca,a,!1)}else{var a=this.ua,b=qd(this),c=qd(this),d=qd(this);if(this.ea&131072)d=d&131071|this.ea&-131072;else if(d&131072){var e=qd(this),f=qd(this),g=qd(this),k=qd(this),q=qd(this),r=qd(this);xd(this,!0,!0);rd(this,f);t(this,e);Cd(this,g);Bd(this,k);this.Sb.load(q);this.Tb.load(r)}null!=
|
||||
Gd(this,b,c,!1)&&(Fd(this,d,a),this.me&&Ue(this,this.Na))}this.X=-1}},function(){this.Ib[this.ca()].call(this,Mj,lj)},function(){this.Oa[this.ca()].call(this,2==this.fa?Nj:Oj,lj)},function(){this.Ib[this.ca()].call(this,Mj,mj)},function(){this.Oa[this.ca()].call(this,2==this.fa?Nj:Oj,mj)},function(){var a=this.ca();if(a){var b=this.F&255;this.F=this.F&-65536|b/a<<8|b%a;tf(this,this.F,128);this.A-=this.C.dj}else kj.call(this)},function(){var a=this.F&255,b=(this.F>>8&255)*this.ca()|0,c=a+b|0;this.F=
|
||||
this.lb=-1;Ph.call(this,4,null,a)}else this.A-=this.C.Cj},function(){if(this.ea&131072&&3>this.Ra)p.call(this,13,0);else{this.X=this.ka;this.A-=this.C.yj;if(this.hb&1&&this.ea&16384){var a=this.va(this.Ya.Fa+0);sd(this.Ca,a,!1)}else{var a=this.ua,b=qd(this),c=qd(this),d=qd(this);if(this.ea&131072)d=d&131071|this.ea&-131072;else if(d&131072){var e=qd(this),f=qd(this),g=qd(this),k=qd(this),q=qd(this),r=qd(this);td(this,!0,!0);rd(this,f);t(this,e);Cd(this,g);Bd(this,k);this.Sb.load(q);this.Tb.load(r)}null!=
|
||||
Gd(this,b,c,!1)&&(Fd(this,d,a),this.me&&af(this,this.Na))}this.X=-1}},function(){this.Ib[this.ca()].call(this,Mj,lj)},function(){this.Oa[this.ca()].call(this,2==this.fa?Nj:Oj,lj)},function(){this.Ib[this.ca()].call(this,Mj,mj)},function(){this.Oa[this.ca()].call(this,2==this.fa?Nj:Oj,mj)},function(){var a=this.ca();if(a){var b=this.F&255;this.F=this.F&-65536|b/a<<8|b%a;tf(this,this.F,128);this.A-=this.C.dj}else kj.call(this)},function(){var a=this.F&255,b=(this.F>>8&255)*this.ca()|0,c=a+b|0;this.F=
|
||||
this.F&-65536|c&255;mf(this,a,b,c,191);this.A-=this.C.cj},function(){this.F=this.F&-256|(nf(this)?255:0);this.A-=2},function(){this.F=this.F&-256|Hf(this,this.P,this.D+(this.F&255)&65535);this.A-=this.C.bk},function(){Tj.call(this,216)},function(){Tj.call(this,217)},function(){Tj.call(this,218)},function(){Tj.call(this,219)},function(){Tj.call(this,220)},function(){Tj.call(this,221)},function(){Tj.call(this,222)},function(){Tj.call(this,223)},function(){var a=this.L(),b=this.G-1&this.Ga;this.G=this.G&
|
||||
~this.Ga|b;b&&!qf(this)?(hf(this,v(this)+a),this.A-=this.C.Jj):this.A-=this.C.Kh},function(){var a=this.L(),b=this.G-1&this.Ga;this.G=this.G&~this.Ga|b;b&&qf(this)?(hf(this,v(this)+a),this.A-=this.C.Lh):this.A-=this.C.Mh},function(){var a=this.L(),b=this.G-1&this.Ga;this.G=this.G&~this.Ga|b;b?(hf(this,v(this)+a),this.A-=this.C.Ij):this.A-=this.C.Kh},function(){var a=this.L();this.G&this.Ga?this.A-=this.C.Mh:(hf(this,v(this)+a),this.A-=this.C.Lh)},function(){var a=this.ca();Ff(this,a,1,!0)&&(this.F=
|
||||
this.F&-256|oc(this.ja,a,1,this.Na-2)&255,this.A-=this.C.Fh)},function(){var a=this.ca();Ff(this,a,this.fa,!0)&&(this.F=this.F&~this.B|oc(this.ja,a,this.fa,this.Na-2)&this.B,this.A-=this.C.Fh)},function(){var a=this.ca();Ff(this,a,1,!1)&&(sc(this.ja,a,1,this.F&255,this.Na-2),this.A-=this.C.Th)},function(){var a=this.ca();Ff(this,a,this.fa,!1)&&(sc(this.ja,a,this.fa,this.F&this.B,this.Na-2),this.A-=this.C.Th)},function(){var a=this.Sa(),b=v(this),a=b+a;Dd(this,b);hf(this,a);this.A-=this.C.hj},function(){var a=
|
||||
|
|
@ -364,7 +364,7 @@ R(this)),this.G>>8&255);P(this,a);this.A-=this.C.T},function(a){a=a.call(this,L(
|
|||
this.A-=this.C.N},function(a){a=a.call(this,K(this,this.D+this.J+R(this)),this.H>>8&255);P(this,a);this.A-=this.C.S},function(a){a=a.call(this,K(this,this.D+this.I+R(this)),this.H>>8&255);P(this,a);this.A-=this.C.T},function(a){a=a.call(this,L(this,this.K+this.J+R(this)),this.H>>8&255);P(this,a);this.A-=this.C.T},function(a){a=a.call(this,L(this,this.K+this.I+R(this)),this.H>>8&255);P(this,a);this.A-=this.C.S},function(a){a=a.call(this,K(this,this.J+R(this)),this.H>>8&255);P(this,a);this.A-=this.C.N},
|
||||
function(a){a=a.call(this,K(this,this.I+R(this)),this.H>>8&255);P(this,a);this.A-=this.C.N},function(a){a=a.call(this,L(this,this.K+R(this)),this.H>>8&255);P(this,a);this.A-=this.C.N},function(a){a=a.call(this,K(this,this.D+R(this)),this.H>>8&255);P(this,a);this.A-=this.C.N},function(a){a=a.call(this,K(this,this.D+this.J+R(this)),this.D>>8&255);P(this,a);this.A-=this.C.S},function(a){a=a.call(this,K(this,this.D+this.I+R(this)),this.D>>8&255);P(this,a);this.A-=this.C.T},function(a){a=a.call(this,L(this,
|
||||
this.K+this.J+R(this)),this.D>>8&255);P(this,a);this.A-=this.C.T},function(a){a=a.call(this,L(this,this.K+this.I+R(this)),this.D>>8&255);P(this,a);this.A-=this.C.S},function(a){a=a.call(this,K(this,this.J+R(this)),this.D>>8&255);P(this,a);this.A-=this.C.N},function(a){a=a.call(this,K(this,this.I+R(this)),this.D>>8&255);P(this,a);this.A-=this.C.N},function(a){a=a.call(this,L(this,this.K+R(this)),this.D>>8&255);P(this,a);this.A-=this.C.N},function(a){a=a.call(this,K(this,this.D+R(this)),this.D>>8&255);
|
||||
P(this,a);this.A-=this.C.N},z[192],z[200],z[208],z[216],z[224],z[232],z[240],z[248],z[193],z[201],z[209],z[217],z[225],z[233],z[241],z[249],z[194],z[202],z[210],z[218],z[226],z[234],z[242],z[250],z[195],z[203],z[211],z[219],z[227],z[235],z[243],z[251],z[196],z[204],z[212],z[220],z[228],z[236],z[244],z[252],z[197],z[205],z[213],z[221],z[229],z[237],z[245],z[253],z[198],z[206],z[214],z[222],z[230],z[238],z[246],z[254],z[199],z[207],z[215],z[223],z[231],z[239],z[247],z[255]],He=[function(a,b){var c=
|
||||
P(this,a);this.A-=this.C.N},z[192],z[200],z[208],z[216],z[224],z[232],z[240],z[248],z[193],z[201],z[209],z[217],z[225],z[233],z[241],z[249],z[194],z[202],z[210],z[218],z[226],z[234],z[242],z[250],z[195],z[203],z[211],z[219],z[227],z[235],z[243],z[251],z[196],z[204],z[212],z[220],z[228],z[236],z[244],z[252],z[197],z[205],z[213],z[221],z[229],z[237],z[245],z[253],z[198],z[206],z[214],z[222],z[230],z[238],z[246],z[254],z[199],z[207],z[215],z[223],z[231],z[239],z[247],z[255]],Je=[function(a,b){var c=
|
||||
a[0].call(this,K(this,this.D+this.J),b.call(this));P(this,c);this.A-=this.C.oa},function(a,b){var c=a[0].call(this,K(this,this.D+this.I),b.call(this));P(this,c);this.A-=this.C.pa},function(a,b){var c=a[0].call(this,L(this,this.K+this.J),b.call(this));P(this,c);this.A-=this.C.pa},function(a,b){var c=a[0].call(this,L(this,this.K+this.I),b.call(this));P(this,c);this.A-=this.C.oa},function(a,b){var c=a[0].call(this,K(this,this.J),b.call(this));P(this,c);this.A-=this.C.aa},function(a,b){var c=a[0].call(this,
|
||||
K(this,this.I),b.call(this));P(this,c);this.A-=this.C.aa},function(a,b){var c=a[0].call(this,K(this,R(this)),b.call(this));P(this,c);this.A-=this.C.Ka},function(a,b){var c=a[0].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=this.C.aa},function(a,b){var c=a[1].call(this,K(this,this.D+this.J),b.call(this));P(this,c);this.A-=this.C.oa},function(a,b){var c=a[1].call(this,K(this,this.D+this.I),b.call(this));P(this,c);this.A-=this.C.pa},function(a,b){var c=a[1].call(this,L(this,this.K+this.J),
|
||||
b.call(this));P(this,c);this.A-=this.C.pa},function(a,b){var c=a[1].call(this,L(this,this.K+this.I),b.call(this));P(this,c);this.A-=this.C.oa},function(a,b){var c=a[1].call(this,K(this,this.J),b.call(this));P(this,c);this.A-=this.C.aa},function(a,b){var c=a[1].call(this,K(this,this.I),b.call(this));P(this,c);this.A-=this.C.aa},function(a,b){var c=a[1].call(this,K(this,R(this)),b.call(this));P(this,c);this.A-=this.C.Ka},function(a,b){var c=a[1].call(this,K(this,this.D),b.call(this));P(this,c);this.A-=
|
||||
|
|
@ -934,7 +934,7 @@ function Ym(a,b){if(1==b)return a.Ja[0]=pm[0],a.Ja[1]=pm[7],a.Ja;if(2==b){var c=
|
|||
(c.Uc[20]&12)<<4,c.Uc[16]&128&&(g&=-49,g|=(c.Uc[20]&3)<<4),g=d[g],k=g<<2&252,q=g>>4&252,g=g>>10&252):(k=(g&4?170:0)|(g&32?85:0),q=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ja[f]=[k,q,g,255]}a.xb=!0}return a.Ja}function Cl(a,b,c,d){a.Lc=b;a.rd=c;a.rb=d}
|
||||
function Um(a,b){var c=!1;if(window&&a.Lc&&(!b||a.W)){var d=0,e=a.rb?a.rb:8,f=Ym(a);Zm(a,3,a.rd[0],d,e,8,a.Lc,f)&&(c=!0);d=a.rb?0:2048;e=a.rb?a.rb:9;Zm(a,1,a.rd[1],d,e,14,a.Lc,nm,om)&&(c=!0);a.rb&&Zm(a,a.nb,a.rd[1],0,a.rb,14,a.Lc,f)&&(c=!0)}return c}function Zm(a,b,c,d,e,f,g,k,q){var r=!1;null!=c&&($m(a,b,c,d,e,f,g,k,q)&&(r=!0),a.Rg&&$m(a,b<<1,c,d,e,f,g,k,q)&&(r=!0));return r}
|
||||
function $m(a,b,c,d,e,f,g,k,q){var r=!1,x=b&1?0:1,B=a.Va[b],y=16>k.length?k.length:16;B||(B={Rc:e<<x,Sc:f<<x,Ne:Array(y),xi:k.slice(0,y),xf:q,Vg:Array(y)});for(q=0;q<y;q++){var J=k[q],U=B.Ne[q]?B.xi[q]:[];if(J[0]!==U[0]||J[1]!==U[1]||J[2]!==U[2]){var r=B,U=q,F=x,O=c,V=d,Y=e,ha=f,da=g,eb=[0,0,0,0],va=document.createElement("canvas");va.width=r.Rc<<4;va.height=r.Sc<<4;for(var oa=va.getContext("2d"),Oa=void 0,ab=void 0,Ja=void 0,Vb=8>ha||!V?ha:8,Da=oa.createImageData(r.Rc,r.Sc),Oa=0;256>Oa;Oa++){for(Ja=
|
||||
0;Ja<ha;Ja++)for(var Ud=r.xf&&U&1&&Ja>=ha-2,Uc=da[Ja<Vb?O+Oa*Vb+Ja:V+Oa*Vb+Ja-Vb],Vd=0;Vd<=F;Vd++)for(ab=0;ab<Y;ab++){var Ie=ab<<F,Wd=(Ja<<F)+Vd,Je=Ud||Uc&128>>(8<=ab&&192<=Oa&&223>=Oa?7:ab)?J:eb;an(Da,Ie,Wd,Je);F&&an(Da,Ie+1,Wd,Je)}oa.putImageData(Da,(Oa&15)*r.Rc,(Oa>>4)*r.Sc)}r.Ne[U]="#"+l(J[0],2)+l(J[1],2)+l(J[2],2);r.xi[U]=J;r.Vg[U]=va;r=!0}}a.Va[b]=B;return r}function bn(a){0<a.cb||0<=a.ua?0>a.Yb&&(a.Yb=0):a.Yb=-1}
|
||||
0;Ja<ha;Ja++)for(var Ud=r.xf&&U&1&&Ja>=ha-2,Uc=da[Ja<Vb?O+Oa*Vb+Ja:V+Oa*Vb+Ja-Vb],Vd=0;Vd<=F;Vd++)for(ab=0;ab<Y;ab++){var He=ab<<F,Wd=(Ja<<F)+Vd,Ie=Ud||Uc&128>>(8<=ab&&192<=Oa&&223>=Oa?7:ab)?J:eb;an(Da,He,Wd,Ie);F&&an(Da,He+1,Wd,Ie)}oa.putImageData(Da,(Oa&15)*r.Rc,(Oa>>4)*r.Sc)}r.Ne[U]="#"+l(J[0],2)+l(J[1],2)+l(J[2],2);r.xi[U]=J;r.Vg[U]=va;r=!0}}a.Va[b]=B;return r}function bn(a){0<a.cb||0<=a.ua?0>a.Yb&&(a.Yb=0):a.Yb=-1}
|
||||
function Xm(a){if(a.W){for(var b=10;15>=b;b++)if(null==a.C.zb[b])return;var c=a.C.zb[10],b=c&31,d=a.C.zb[11]&31,e=a.C.zb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)cn(a);else{c=a.C.zb[15]+((a.C.zb[14]&63)<<8);a.ua!=c&&(cn(a),a.ua=c);d=d-b+1;if(a.gg!=b||a.Be!=d)a.gg=b,a.Be=d;a.ib=e+1;bn(a)}}}
|
||||
function cn(a){if(0<=a.ua){if(void 0!==a.ka){var b=a.ka[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.O,d=a.ua/a.O|0;a.W&&a.Va[a.W]&&(a.qb&&dn(a,c,d,b,a.qb),dn(a,c,d,b));a.ka[a.ua]=b}}a.ua=-1}}
|
||||
function en(a){var b,c=a.C;a.Ge=!1;var d=c.Yd[5];if(null!=d){b=1024;var e=0,f=c.Yd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.ed=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.nb==Dl&&(e=3,c.ed=f&7)}d&8&&(b=1280);c=c.Ie[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.Ge=!0));b|=e}return b}
|
||||
|
|
@ -1185,22 +1185,22 @@ tq(a,g[1],!0);if(B)if(a.Ba=B,void 0===g[2])a.U("begin assemble at "+mq(B)),a.Ma=
|
|||
a.U("\tbc [a]\tclear breakpoint at addr [a]"),a.U("\tbl\tlist all breakpoints"),a.U("\tbn [n]\tbreak after [n] instruction(s)");else{var V=U.charAt(1);if("l"==V){var Y=0,Y=Y+Kq(a,a.A),Y=Y+Kq(a,a.za);(Y+=Kq(a,a.la))||a.U("no breakpoints")}else if("n"==V)a.Va=Zp(a,F),a.U("break after "+a.Va+" instruction(s)");else if(void 0===F)a.U("missing breakpoint address");else{var ha={};if("*"!=F&&(ha=tq(a,F,!0,!0),!ha))break a;F=null==ha.Xa?F:ia(ha.Xa);"c"==V?null==ha.Xa?(Ep(a),a.U("all breakpoints cleared")):
|
||||
lq(a,a.A,ha)||lq(a,a.za,ha)||lq(a,a.la,ha)||a.U("breakpoint missing: "+mq(ha)):"i"==V?a.U("breakpoint "+(mc(a.ja,ha.Xa)?"enabled":"cleared")+": port "+F+" (input)"):"o"==V?a.U("breakpoint "+(qc(a.ja,ha.Xa)?"enabled":"cleared")+": port "+F+" (output)"):null!=ha.Xa&&(wq(a,ha,O),"p"==V?a.Nd(a.A,ha):"r"==V?a.Nd(a.za,ha):"w"==V?a.Nd(a.la,ha):a.U("unknown breakpoint command: "+V))}}}break;case "c":$q(a);break;case "d":a:{var da=g,eb,va=da[0],oa=da[1],Oa=da[2],ab=da[3];if("?"==oa){var Ja="";for(eb in Rp)a.ib[eb]&&
|
||||
(Ja&&(Ja+=","),Ja+=eb);Ja+=",state,symbols";a.U("dump memory commands:");a.U("\tdb [a] [#] dump # bytes at address a");a.U("\tdw [a] [#] dump # words at address a");a.U("\tdd [a] [#] dump # dwords at address a");a.U("\tdh [#] [#] dump # instructions from history");a.U("\tds [#] dump descriptor info for selector #");Ja.length&&a.U("dump extension commands:\n\t"+Ja)}else if("state"==oa){var Vb=hr(a.ia,!0);"console"==Oa?console.log(Vb):($q(a),a.U(Vb))}else if("symbols"==oa)for(var Da=
|
||||
0;Da<a.C.length;Da++){var Ud=a.C[Da],Uc;for(Uc in Ud.Md)if("."!=Uc.charAt(0)){var Vd=Ud.Md[Uc],Ie=Vd.o;if(void 0!==Ie){var Wd=Vd.s;void 0===Wd&&(Wd=Ud.ga);var Je=Ud.Md[Uc].l;Je&&(Uc=Je);a.U(eq(Ie,Wd)+" "+Uc)}}}else{if("ds"==va||"dg"==va||"dl"==va)va="d",da=[va,"desc",oa];"d"==va&&"page"==oa&&(va="dp",da.shift());if("dp"==va){da.shift();var ki=da[0];if(ki){var Ve=a.ic(tq(a,ki));if(-1===Ve)a.U("invalid address: "+ki);else{var ae,La=null;if(80386<=a.M.na){var be=a.ja,La={};La.ek=(Ve&-4194304)>>>20;La.zi=
|
||||
a.M.Ld+La.ek;La.Db=be.ya[(La.zi&be.Mb)>>>be.Pa];La.Xi=La.Db.Xd(La.ek);La.fk=(Ve&4190208)>>>10;La.Ai=(La.Xi&-4096)+La.fk;La.Eb=be.ya[(La.Ai&be.Mb)>>>be.Pa];La.Yi=La.Eb.Xd(La.fk);La.Lk=(La.Yi&-4096)+(Ve&4095)}if(ae=La){a.U("linear PDE addr PDE PTE addr PTE physical");a.U("--------- ---------- -------- ---------- -------- ----------");var td="%"+l(Ve),td=td+(" %%"+yq(ae.zi,ae.Xi)),td=td+(" %%"+yq(ae.Ai,ae.Yi,!0)),td=td+(" %%"+l(ae.Lk));a.U(td)}else a.U("unsupported operation")}}else a.U("missing address")}else{if("d"==
|
||||
0;Da<a.C.length;Da++){var Ud=a.C[Da],Uc;for(Uc in Ud.Md)if("."!=Uc.charAt(0)){var Vd=Ud.Md[Uc],He=Vd.o;if(void 0!==He){var Wd=Vd.s;void 0===Wd&&(Wd=Ud.ga);var Ie=Ud.Md[Uc].l;Ie&&(Uc=Ie);a.U(eq(He,Wd)+" "+Uc)}}}else{if("ds"==va||"dg"==va||"dl"==va)va="d",da=[va,"desc",oa];"d"==va&&"page"==oa&&(va="dp",da.shift());if("dp"==va){da.shift();var ki=da[0];if(ki){var Ue=a.ic(tq(a,ki));if(-1===Ue)a.U("invalid address: "+ki);else{var ae,La=null;if(80386<=a.M.na){var be=a.ja,La={};La.ek=(Ue&-4194304)>>>20;La.zi=
|
||||
a.M.Ld+La.ek;La.Db=be.ya[(La.zi&be.Mb)>>>be.Pa];La.Xi=La.Db.Xd(La.ek);La.fk=(Ue&4190208)>>>10;La.Ai=(La.Xi&-4096)+La.fk;La.Eb=be.ya[(La.Ai&be.Mb)>>>be.Pa];La.Yi=La.Eb.Xd(La.fk);La.Lk=(La.Yi&-4096)+(Ue&4095)}if(ae=La){a.U("linear PDE addr PDE PTE addr PTE physical");a.U("--------- ---------- -------- ---------- -------- ----------");var ud="%"+l(Ue),ud=ud+(" %%"+yq(ae.zi,ae.Xi)),ud=ud+(" %%"+yq(ae.Ai,ae.Yi,!0)),ud=ud+(" %%"+l(ae.Lk));a.U(ud)}else a.U("unsupported operation")}}else a.U("missing address")}else{if("d"==
|
||||
va){if("disk"==oa){da[0]="l";da[1]="json";dr(a,da);break a}for(eb in Rp)if(da[1]==eb){var gn=a.ib[eb];gn?(da.shift(),da.shift(),gn(da)):a.U("no dump registered for "+oa);break a}oa||(va=a.Lc||"db")}else a.Lc=va;if("dh"==va){var hn=oa,jn=Oa,kn="",ln=0,tb=a.Oa,wc=a.qa;if(wc.length){var Eb=+hn||a.Zb,ce=+jn||10;isNaN(Eb)?Eb=ce:kn="more ";Eb>wc.length&&(a.U("note: only "+wc.length+" available"),Eb=wc.length);tb-=Eb;0>tb&&(null==wc[wc.length-1].ga?(Eb=tb+Eb,tb=0):tb+=wc.length);var li=[];"call"==jn&&(ce=
|
||||
1E5,li=["CALL"]);for(void 0!==hn&&a.U(Eb+" instructions earlier:");0<ce&&tb!=a.Oa;){var ub=wc[tb++];if(null==ub.ga)break;var ub=Dp(a,ub.Xa,ub.ga,ub.Ia,ub.type,ub.Xb,ub.rc),mn=Mq(a,ub,"history",Eb--);(!li.length||0<=mn.indexOf(li[0]))&&a.U(mn);ub.Re&&(tb+=ub.Re,ce-=ub.Re,Eb-=ub.Re);tb>=wc.length&&(tb=0);a.Zb=Eb;ln++;ce--}}ln||(a.U("no "+kn+"history available"),a.Zb=void 0)}else if("di"==va)da.shift(),a.U("no information");else{var de=tq(a,oa);if(de&&(null!=de.ga||null!=de.Ia)){var sg=0;Oa&&("l"==Oa.charAt(0)&&
|
||||
(Oa=Oa.substr(1)||ab),sg=Zp(a,Oa)>>>0,65536<sg&&(sg=65536));for(var ud="",Ar=(sg||128)+15>>4||1,mi="dd"==va?4:"dw"==va?2:1,nn=0;nn<Ar;nn++){for(var tg=0,ni=0,We="",oi="",oa=mq(de),pi=0;16>pi;pi++){var ug=a.Wa(de,1),tg=tg|ug<<(ni++<<3);ni==mi&&(We+=l(tg,2*mi),We+=1==mi?7==pi?"-":" ":" ",tg=ni=0);oi+=32<=ug&&128>ug?String.fromCharCode(ug):"."}ud&&(ud+="\n");ud+=oa+" "+We+" "+oi}ud&&a.U(ud);a.Jb=de}}}}}break;case "e":if("else"==g[0])break;var vg=1,on=255,pn=a.Wa,qn=a.tc;"ew"==g[0]&&(vg=2,on=65535,
|
||||
pn=a.va,qn=a.pb);var rn=vg<<1,sn=g[1];if(null==sn)a.U("edit memory commands:"),a.U("\teb [a] [...] edit bytes at address a"),a.U("\tew [a] [...] edit words at address a");else{var wg=tq(a,sn);if(wg)for(var xg=2;xg<g.length;xg++){var Xe=vq(a,g[xg]);if(void 0===Xe){a.U("unrecognized value: "+g[xg]);break}Xe&~on&&a.U("warning: "+l(Xe)+" exceeds "+vg+"-byte value");var Br=pn.call(a,wg);a.U("changing "+mq(wg)+" from 0x"+l(Br,rn)+" to 0x"+l(Xe,rn));qn.call(a,wg,Xe,vg)}}break;case "f":ar(a,g[1]);break;
|
||||
case "g":a:{var tn=g[1],Cr=b;"gt"==g[0]&&(a.lb=!0);if(void 0!==tn){var qi=tq(a,tn,!0);if(!qi)break a;wq(a,qi,Cr);a.Nd(a.A,qi,!0)}a.Je(!0)||c||a.U("cpu busy or unavailable, run command ignored")}break;case "h":var ri;a.ra.Ob?(ri="halting",a.bc()):ri="already halted";c||a.U(ri);break;case "i":if("if"==g[0]){var si;var Ye=b.substr(2),Ye=qa(Ye);vq(a,Ye)?(c||a.U("true: "+Ye),si=!0):(c||a.U("false: "+Ye),si=!1);si||(d=!1);break}if("int"==g[0]){var yg;a:switch(Zp(a,g[1])){case 19:Yj(a,19,a.M.Na,!0);a.Ha=
|
||||
a.wa;yg=!0;break a;case 33:Yj(a,33,a.M.Na,!0);a.Ha=a.wa;yg=!0;break a;default:yg=!1}yg||(d=!1);break}var ti=g[1];if(ti&&"?"!=ti){var ui=Zp(a,ti);if(void 0!==ui){var Dr=oc(a.ja,ui,1);a.U(ia(ui)+": "+ga(Dr))}}else a.U("input commands:"),a.U("\ti [p]\tread port [p]"),a.U("warning: port accesses can affect hardware state");break;case "k":var Er=g[0];if("?"==g[1])a.U("stack trace commands:"),a.U("\tk\tshow frame addresses"),a.U("\tks\tshow symbol information");else{var vi=0,un=a.M.Ca.ga,Ze=Dp(a),Wc=Dp(a,
|
||||
u(a.M),a.M.Aa.ga);for(a.U("stack trace for "+mq(Wc));10>vi;){for(var xc=null,Fr=256;Wc.Xa>>>0<a.M.Mg>>>0;){Ze.Xa=a.vb(Wc,!0);if(null==Wc.Ia||!Fr--)break;Ze.ga=un;if(xc=fr(a,Ze))break;Ze.ga=a.vb(Wc);if(xc=fr(a,Ze,!0)){un=a.vb(Wc,!0);0<xc.indexOf("INT")&&a.vb(Wc,!0);break}}if(!xc||null==xc)break;var vn=null;if("ks"==Er){var wn=xc.match(/[0-9A-F]+$/);wn&&(vn=cr(a,wn[0]))}xc=pa(xc,50)+" ;"+(vn||"stack="+mq(Wc));a.U(xc);vi++}vi||a.U("no return addresses found")}break;case "l":if("ln"==g[0]){cr(a,g[1],
|
||||
!0);break}dr(a,g);break;case "m":if("mouse"==g[0]){var wi=g[1],zg=g[2];if(a.Y){var xn=1;"-"==zg.charAt(0)&&(xn=-1,zg=zg.substr(1));var vd=Zp(a,zg,wi);if(void 0!==vd)switch(vd=vd*xn|0,wi){case "x":a.Y.Ff(vd,0);break;case "y":a.Y.Ff(0,vd);break;case "click":a.Y.ge(vd,!0);a.Y.ge(vd,!1);break;default:a.U("unknown action: "+wi)}}else a.U("no mouse");break}a:{var yc,zc=null,Va=g[1];"?"==Va&&(Va=void 0);if(void 0!==Va){var wd=0;if("all"==Va)wd=1610481663,Va=null;else if("on"==Va)zc=!0,Va=null;else if("off"==
|
||||
Va)zc=!1,Va=null;else{"keys"==Va&&(Va="key");"kbd"==Va&&(Va="keyboard");for(yc in Rp)if(Va==yc){wd=Rp[yc];zc=!!(a.wc&wd);break}if(!wd){a.U("unknown message category: "+Va);break a}}wd&&("on"==g[2]?(a.wc|=wd,zc=!0):"off"==g[2]&&(a.wc&=~wd,zc=!1))}var Gr=0,Xc="";for(yc in Rp)if(!Va||Va==yc){var Hr=!!(a.wc&Rp[yc]);if(null===zc||zc==Hr)Xc&&(Xc+=","),++Gr%10||(Xc+="\n\t"),"key"==yc&&(yc="keys"),Xc+=yc}void 0===Va&&a.U("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.U((null!==zc?
|
||||
(Oa=Oa.substr(1)||ab),sg=Zp(a,Oa)>>>0,65536<sg&&(sg=65536));for(var vd="",Ar=(sg||128)+15>>4||1,mi="dd"==va?4:"dw"==va?2:1,nn=0;nn<Ar;nn++){for(var tg=0,ni=0,Ve="",oi="",oa=mq(de),pi=0;16>pi;pi++){var ug=a.Wa(de,1),tg=tg|ug<<(ni++<<3);ni==mi&&(Ve+=l(tg,2*mi),Ve+=1==mi?7==pi?"-":" ":" ",tg=ni=0);oi+=32<=ug&&128>ug?String.fromCharCode(ug):"."}vd&&(vd+="\n");vd+=oa+" "+Ve+" "+oi}vd&&a.U(vd);a.Jb=de}}}}}break;case "e":if("else"==g[0])break;var vg=1,on=255,pn=a.Wa,qn=a.tc;"ew"==g[0]&&(vg=2,on=65535,
|
||||
pn=a.va,qn=a.pb);var rn=vg<<1,sn=g[1];if(null==sn)a.U("edit memory commands:"),a.U("\teb [a] [...] edit bytes at address a"),a.U("\tew [a] [...] edit words at address a");else{var wg=tq(a,sn);if(wg)for(var xg=2;xg<g.length;xg++){var We=vq(a,g[xg]);if(void 0===We){a.U("unrecognized value: "+g[xg]);break}We&~on&&a.U("warning: "+l(We)+" exceeds "+vg+"-byte value");var Br=pn.call(a,wg);a.U("changing "+mq(wg)+" from 0x"+l(Br,rn)+" to 0x"+l(We,rn));qn.call(a,wg,We,vg)}}break;case "f":ar(a,g[1]);break;
|
||||
case "g":a:{var tn=g[1],Cr=b;"gt"==g[0]&&(a.lb=!0);if(void 0!==tn){var qi=tq(a,tn,!0);if(!qi)break a;wq(a,qi,Cr);a.Nd(a.A,qi,!0)}a.Je(!0)||c||a.U("cpu busy or unavailable, run command ignored")}break;case "h":var ri;a.ra.Ob?(ri="halting",a.bc()):ri="already halted";c||a.U(ri);break;case "i":if("if"==g[0]){var si;var Xe=b.substr(2),Xe=qa(Xe);vq(a,Xe)?(c||a.U("true: "+Xe),si=!0):(c||a.U("false: "+Xe),si=!1);si||(d=!1);break}if("int"==g[0]){var yg;a:switch(Zp(a,g[1])){case 19:Yj(a,19,a.M.Na,!0);a.Ha=
|
||||
a.wa;yg=!0;break a;case 33:Yj(a,33,a.M.Na,!0);a.Ha=a.wa;yg=!0;break a;default:yg=!1}yg||(d=!1);break}var ti=g[1];if(ti&&"?"!=ti){var ui=Zp(a,ti);if(void 0!==ui){var Dr=oc(a.ja,ui,1);a.U(ia(ui)+": "+ga(Dr))}}else a.U("input commands:"),a.U("\ti [p]\tread port [p]"),a.U("warning: port accesses can affect hardware state");break;case "k":var Er=g[0];if("?"==g[1])a.U("stack trace commands:"),a.U("\tk\tshow frame addresses"),a.U("\tks\tshow symbol information");else{var vi=0,un=a.M.Ca.ga,Ye=Dp(a),Wc=Dp(a,
|
||||
u(a.M),a.M.Aa.ga);for(a.U("stack trace for "+mq(Wc));10>vi;){for(var xc=null,Fr=256;Wc.Xa>>>0<a.M.Mg>>>0;){Ye.Xa=a.vb(Wc,!0);if(null==Wc.Ia||!Fr--)break;Ye.ga=un;if(xc=fr(a,Ye))break;Ye.ga=a.vb(Wc);if(xc=fr(a,Ye,!0)){un=a.vb(Wc,!0);0<xc.indexOf("INT")&&a.vb(Wc,!0);break}}if(!xc||null==xc)break;var vn=null;if("ks"==Er){var wn=xc.match(/[0-9A-F]+$/);wn&&(vn=cr(a,wn[0]))}xc=pa(xc,50)+" ;"+(vn||"stack="+mq(Wc));a.U(xc);vi++}vi||a.U("no return addresses found")}break;case "l":if("ln"==g[0]){cr(a,g[1],
|
||||
!0);break}dr(a,g);break;case "m":if("mouse"==g[0]){var wi=g[1],zg=g[2];if(a.Y){var xn=1;"-"==zg.charAt(0)&&(xn=-1,zg=zg.substr(1));var wd=Zp(a,zg,wi);if(void 0!==wd)switch(wd=wd*xn|0,wi){case "x":a.Y.Ff(wd,0);break;case "y":a.Y.Ff(0,wd);break;case "click":a.Y.ge(wd,!0);a.Y.ge(wd,!1);break;default:a.U("unknown action: "+wi)}}else a.U("no mouse");break}a:{var yc,zc=null,Va=g[1];"?"==Va&&(Va=void 0);if(void 0!==Va){var xd=0;if("all"==Va)xd=1610481663,Va=null;else if("on"==Va)zc=!0,Va=null;else if("off"==
|
||||
Va)zc=!1,Va=null;else{"keys"==Va&&(Va="key");"kbd"==Va&&(Va="keyboard");for(yc in Rp)if(Va==yc){xd=Rp[yc];zc=!!(a.wc&xd);break}if(!xd){a.U("unknown message category: "+Va);break a}}xd&&("on"==g[2]?(a.wc|=xd,zc=!0):"off"==g[2]&&(a.wc&=~xd,zc=!1))}var Gr=0,Xc="";for(yc in Rp)if(!Va||Va==yc){var Hr=!!(a.wc&Rp[yc]);if(null===zc||zc==Hr)Xc&&(Xc+=","),++Gr%10||(Xc+="\n\t"),"key"==yc&&(yc="keys"),Xc+=yc}void 0===Va&&a.U("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.U((null!==zc?
|
||||
zc?"messages on: ":"messages off: ":"message categories:\n\t")+(Xc||"none"));Fp(a)}break;case "o":var xi=g[1],Ir=g[2];if(xi&&"?"!=xi){var yi=Zp(a,xi,"port #"),zi=Zp(a,Ir);void 0!==yi&&void 0!==zi&&(sc(a.ja,yi,1,zi),a.U(ia(yi)+": "+ga(zi)))}else a.U("output commands:"),a.U("\to [p] [b]\twrite byte [b] to port [p]"),a.U("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){er(a,b.substr(5));break}var yn="pr"==g[0]?1:0,ee=1+yn;if(a.P)a.U("step in progress");else{var Ag,
|
||||
zn=!1,nb=Dp(a,v(a.M),a.M.Ca.ga);do switch(Ag=!1,a.Wa(nb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:oq(a,nb,1);Ag=!0;break;case 204:case 206:a.P=ee;oq(a,nb,1);break;case 205:case 224:case 225:case 226:a.P=ee;oq(a,nb,nb.Xb?4:2);break;case 232:a.P=ee;oq(a,nb,nb.Xb?5:3);break;case 154:a.P=ee;oq(a,nb,nb.Xb?7:5);break;case 255:var An=a.vb(nb)&14591;if(4351==An||6399==An)a.P=ee,Mq(a,nb);break;case 243:case 242:oq(a,nb,1);zn=Ag=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:zn&&
|
||||
(a.P=ee,oq(a,nb,1))}while(Ag);a.P?(a.Nd(a.A,nb,!0),a.Je()||(a.M.Vc(),a.P=0)):gr(a,yn?"tr":"t")}break;case "r":if("reset"==b){a.ia&&a.ia.reset();break}Eq(a,g);break;case "t":gr(a,g[0],g[1]);break;case "u":Fq(a,g[1],g[2],8);break;case "v":if("var"==g[0]){br(a,b.substr(3))||(d=!1);break}a.U("PCjs version 1.20.9 ("+a.M.na+",RELEASE,NOPREFETCH"+(Ab?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var $e;void 0!==g[3]&&($e=+g[3]);switch(g[2]){case "int":a.M.ba.gf=
|
||||
$e;break;case "start":a.M.ba.Hf=$e;break;case "stop":a.M.ba.jf=$e;break;default:a.U("unknown cs option");break a}void 0!==$e&&Vc(a.M);a.U("checksums "+(a.M.ra.Xe?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(dd(a.M,+g[2])||a.U("warning: using 1x multiplier, previous target not reached"));a.U("target speed: "+(a.M.ba.Ce.toFixed(2)+"Mhz")+" ("+a.M.ba.Td+"x)");break;default:a.U("unknown option: "+g[1])}else a.U("execution options:"),a.U("\tcs int #\tset checksum cycle interval to #"),a.U("\tcs start #\tset checksum cycle start count to #"),
|
||||
a.U("\tcs stop #\tset checksum cycle stop count to #"),a.U("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){er(a,b.substr(1));break}var af="commands:",Ai;for(Ai in Kp)af+="\n"+pa(Ai,7)+Kp[Ai];Of(a)||(af+="\nnote: frequency/history disabled if no exec breakpoints");a.U(af);break;default:a.U("unknown command: "+b),d=!1}}}catch(Bn){a.U("debugger error: "+(Bn.stack||Bn.message)),d=!1}return d}function Hp(a,b,c){b=xq(a,b,c);for(var d in b)if(!Lq(a,b[d]))return!1;return!0}
|
||||
(a.P=ee,oq(a,nb,1))}while(Ag);a.P?(a.Nd(a.A,nb,!0),a.Je()||(a.M.Vc(),a.P=0)):gr(a,yn?"tr":"t")}break;case "r":if("reset"==b){a.ia&&a.ia.reset();break}Eq(a,g);break;case "t":gr(a,g[0],g[1]);break;case "u":Fq(a,g[1],g[2],8);break;case "v":if("var"==g[0]){br(a,b.substr(3))||(d=!1);break}a.U("PCjs version 1.20.9 ("+a.M.na+",RELEASE,NOPREFETCH"+(Ab?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Ze;void 0!==g[3]&&(Ze=+g[3]);switch(g[2]){case "int":a.M.ba.gf=
|
||||
Ze;break;case "start":a.M.ba.Hf=Ze;break;case "stop":a.M.ba.jf=Ze;break;default:a.U("unknown cs option");break a}void 0!==Ze&&Vc(a.M);a.U("checksums "+(a.M.ra.Xe?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(dd(a.M,+g[2])||a.U("warning: using 1x multiplier, previous target not reached"));a.U("target speed: "+(a.M.ba.Ce.toFixed(2)+"Mhz")+" ("+a.M.ba.Td+"x)");break;default:a.U("unknown option: "+g[1])}else a.U("execution options:"),a.U("\tcs int #\tset checksum cycle interval to #"),a.U("\tcs start #\tset checksum cycle start count to #"),
|
||||
a.U("\tcs stop #\tset checksum cycle stop count to #"),a.U("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){er(a,b.substr(1));break}var $e="commands:",Ai;for(Ai in Kp)$e+="\n"+pa(Ai,7)+Kp[Ai];Of(a)||($e+="\nnote: frequency/history disabled if no exec breakpoints");a.U($e);break;default:a.U("unknown command: "+b),d=!1}}}catch(Bn){a.U("debugger error: "+(Bn.stack||Bn.message)),d=!1}return d}function Hp(a,b,c){b=xq(a,b,c);for(var d in b)if(!Lq(a,b[d]))return!1;return!0}
|
||||
Sa(function(){for(var a=qb(document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=mb(c),d=new Cp(d);pb(d,c)}});function df(a,b,c){this.id=a.id;this.key=ir(a,b,c);this.ma=a.ma;jr(this,a.xk)}function ir(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}
|
||||
df.prototype={constructor:df,value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.A=!0):this.A?!0:Fa()&&(a=Ga(this.key))?(this[this.id]=a,this.A=!0):!1},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){jr(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 jr(a,b){a[a.id]={};b&&ef(a,"parms",b);a.A=!1}function kr(a){var b=!0;if(Fa()){var c=JSON.stringify(a[a.id]);Ha(a.key,c)||(Ba("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function lr(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){Ba(c.message||c),b=!1}return b}function mr(a,b){return a[a.id][b]||null}function ef(a,b,c){try{a[a.id][b]=c}catch(d){}}
|
||||
|
|
@ -1226,6 +1226,8 @@ function zr(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{if(c){var k=b;k&&
|
|||
k.async=!1,k.loadXML(a)):k=(new window.DOMParser).parseFromString(a,"text/xml")}catch(B){k=null,a=B.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,k)}}a?e?Jr(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||
function Jr(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");za(e,!0,null,null,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var q=k[0],r,x=/( [a-z]+=)(['"])(.*?)\2/g;r=x.exec(f);)q=0>q.indexOf(r[1])?q.replace(">",r[0]+">"):q.replace(new RegExp(r[1]+"(['\"])(.*?)\\1"),r[0]);k[0]!=q&&(g=g.replace(k[0],q))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],g);Jr(a,b,c)}})}else c(a,null)}
|
||||
function Kr(a,b,c,d){function e(a){if(void 0===k){var b=g&&qb(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=na(a))}function f(a){e("Error: "+a);q&&(--xr||Ua(!0));q=!1}var g,k,q=!0;xr++;hb[a]={};try{if(g=document.getElementById(a)){c||(c="/versions/pcjs/1.20.9/components.xsl");var r=function(d,k){k?(ib(a,"xml",d),yr(c,null,null,!1,e,function(c,d){if(d)if(ib(a,"xsl",c),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var q=k.transformNode(d);q?(g.outerHTML=q,--xr||Ua(!0)):
|
||||
f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(q=new XSLTProcessor,q.importStylesheet(d),(q=q.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(q,g),--xr||Ua(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(c)})):f(d)};"<"!=b.charAt(0)?yr(b,a,d,!0,e,r):zr(b,null,a,d,!1,e,r)}else f("missing machine element: "+a)}catch(x){f(x.message)}return q}
|
||||
window.embedPC=function(a,b,c,d){Ua(!1);return Kr(a,b,c,d)};window.savePC=function(a){var b=lb("Computer",a),c=lb("Debugger",a);if(b)return za("/versions/pcjs/null/pc"+(c?"-dbg":"")+".js"),!0;Ba("Unable to identify machine '"+a+"'");return!1};window.enableEvents=Ua;window.sendEvent=Wa;})();
|
||||
function Kr(a,b,c,d){function e(a){if(void 0===k){var b=g&&qb(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=na(a))}function f(a){e("Error: "+a);q&&(--xr||Ua(!0));q=!1}var g,k,q=!0;xr++;hb[a]={};try{if(g=document.getElementById(a)){c||(c="/versions/pcjs/1.20.9/components.xsl");var r=function(d,k){k?(ib(a,b,d),yr(c,null,null,!1,e,function(d,q){if(q)if(ib(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var r=k.transformNode(q);r?(g.outerHTML=r,--xr||Ua(!0)):f("transformNodeToObject failed")}else document.implementation&&
|
||||
document.implementation.createDocument?(r=new XSLTProcessor,r.importStylesheet(q),(r=r.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(r,g),--xr||Ua(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)})):f(d)};"<"!=b.charAt(0)?yr(b,a,d,!0,e,r):zr(b,null,a,d,!1,e,r)}else f("missing machine element: "+a)}catch(x){f(x.message)}return q}
|
||||
function Lr(a,b,c,d){if(b&&(c=d[0],b=b.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/))){d=hb[c];var e={},f;for(f in d){var g=d[f];if("xml"==f)for(var k,q=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;k=q.exec(d[f]);){var r=k[2];r&&(d[r]?console.log("saving disk: '"+r):g=g.replace(k[0],""))}console.log("saving resource: '"+f+"' ("+g.length+" bytes)");e[f]=g}f=JSON.stringify(e);b=b[1]+"var resources="+f+";"+b[2]+b[3];console.log("saving machine: '"+c+"' ("+b.length+" bytes)");f="data:application/octet-stream;base64,"+
|
||||
btoa(b);c=document.createElement("a");"string"==typeof c.download?(c.href=f,c.download=ja(a,!0)+".json",document.body.appendChild(c),c.click(),document.body.removeChild(c)):window.open(f)}}window.embedPC=function(a,b,c,d){Ua(!1);return Kr(a,b,c,d)};window.savePC=function(a,b){var c=lb("Computer",a),d=lb("Debugger",a);if(c)return b||(b="/versions/pcjs/1.20.9/pc"+(d?"-dbg":"")+".js"),za(b,!0,null,null,Lr,[a,c,d]),!0;Ba("Unable to identify machine '"+a+"'");return!1};window.enableEvents=Ua;
|
||||
window.sendEvent=Wa;})();
|
||||
|
|
|
|||
Loading…
Reference in a new issue