Successfully running PCx86 and PC8080 machines on the same page now
This commit is contained in:
parent
145ec9d125
commit
f0509bc5d1
30 changed files with 2773 additions and 3118 deletions
|
|
@ -12,11 +12,11 @@ function Ea(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}re
|
|||
function Ia(a,b,c,d){var e=null;b="data:application/"+b+(c?";base64":"")+",";b=Ga("Firefox")?b+(c?a:encodeURIComponent(a)):b+(c?a:encodeURI(a));d&&(e=document.createElement("a"),"string"!=typeof e.download&&(e=null));e?(e.href=b,e.download=d,document.body.appendChild(e),e.click(),document.body.removeChild(e),a="Check your Downloads folder for "+d+"."):(window.open(b),a="Check your browser for a new window/tab containing the requested data"+(d?" ("+d+")":"")+".");return a}
|
||||
function Ja(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}function Ka(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 La={init:[],show:[],exit:[]},Ma=!1,Na=!0;
|
||||
function Pa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Qa(a){La.init.push(a)}function Ra(a){if(Na)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){w(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Sa(a){!Na&&a?(Na=!0,Ma&&Ta("init")):Na=a}function Ta(a){La[a]&&Ra(La[a])}Pa("onload",function(){Ma=!0;Ra(La.init)});Pa("onpageshow",function(){Ra(La.show)});
|
||||
Pa(Ga("Opera")||Ga("iOS")?"onunload":"onbeforeunload",function(){Ra(La.exit)});function Ua(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.uk=b.comment;this.hk=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.ve=this.id.substr(0,b),this.Rd=this.id.substr(b+1)):this.Rd=this.id;this[a]=c;this.la={bf:!1,bd:!1,bh:!1,cc:!1,ud:!1};this.tg=null;this.la.ud=!1;this.qa={};this.ha=null;this.wc=d||0;Va.push(this)}var Wa=void 0,Ya={};
|
||||
Pa(Ga("Opera")||Ga("iOS")?"onunload":"onbeforeunload",function(){Ra(La.exit)});function Ua(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.uk=b.comment;this.hk=b;b=this.id.indexOf(".");0>b?this.Rd=this.id:(this.ve=this.id.substr(0,b),this.Rd=this.id.substr(b+1));this[a]=c;this.la={bf:!1,bd:!1,bh:!1,cc:!1,ud:!1};this.tg=null;this.la.ud=!1;this.qa={};this.ha=null;this.wc=d||0;Va.push(this)}var Wa=void 0,Ya={};
|
||||
if(window){Wa||(Wa=window.location.search.substr(1));for(var Za,$a=/\+/g,ab=/([^&=]+)=?([^&]*)/g;Za=ab.exec(Wa);)Ya[decodeURIComponent(Za[1].replace($a," "))]=decodeURIComponent(Za[2].replace($a," "))}function cb(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 db(a,b){b||(b=Ua);a.prototype=cb(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var Va=[],eb={};function fb(a,b,c){eb[a]&&b&&(eb[a][b]=c)}function gb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Va.length;b++){var d=Va[b];a&&d.id.indexOf(a)||c.push(d)}return c}function hb(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Va.length;c++)if(Va[c].id===a)return Va[c]}return null}
|
||||
function ib(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<Va.length;d++)if(c)c==Va[d]&&(c=null);else if(!(a!=Va[d].type||b&&Va[d].id.indexOf(b)))return Va[d]}return null}function jb(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){w(c.message+" ("+a+")")}return b}function kb(a,b,c){var d;b&&(void 0===d&&(d="Panel"),(d=ib(d,a.id))&&(b=d.qa[b])&&a.Pb(null,c,b))}
|
||||
function mb(a,b){for(var c=nb(b.parentNode,"pcx86-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var k=h.split(" "),l=0;l<k.length;l++)switch(h=k[l],h){case "pcx86-binding":(h=jb(g))&&h.binding&&a.Pb(h.type,h.binding,g,h.value),l=k.length}}}}
|
||||
function db(a,b){b||(b=Ua);a.prototype=cb(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={Machines:{},Components:[]});var eb=window.PCjs.Machines,Va=window.PCjs.Components}else eb={},Va=[];function fb(a,b,c){eb[a]&&b&&(eb[a][b]=c)}function gb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Va.length;b++){var d=Va[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
||||
function hb(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Va.length;c++)if(Va[c].id===a)return Va[c]}return null}function ib(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<Va.length;d++)if(c)c==Va[d]&&(c=null);else if(!(a!=Va[d].type||b&&Va[d].id.indexOf(b)))return Va[d]}return null}function jb(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){w(c.message+" ("+a+")")}return b}
|
||||
function kb(a,b,c){var d;b&&(void 0===d&&(d="Panel"),(d=ib(d,a.id))&&(b=d.qa[b])&&a.Pb(null,c,b))}function mb(a,b){for(var c=nb(b.parentNode,"pcx86-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var k=h.split(" "),l=0;l<k.length;l++)switch(h=k[l],h){case "pcx86-binding":(h=jb(g))&&h.binding&&a.Pb(h.type,h.binding,g,h.value),l=k.length}}}}
|
||||
function nb(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}
|
||||
Ua.prototype={constructor:Ua,parent:null,toString:function(){return this.name?this.name:this.id||this.type},Pb:function(a,b,c){switch(b){case "clear":return this.qa[b]||(this.qa[b]=c,c.onclick=function(a){return function(){a.qa.print&&(a.qa.print.value="")}}(this)),!0;case "print":return this.qa[b]||(this.Ef=this.qa[b]=c,c.value="",this.O=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.Na=function(a){this.O(a,this.Rd)}),!0;default:return!1}},log:function(){},O:function(){},status:function(a){this.O(this.Rd+": "+a)},Na:function(a,b,c){c=c||this.type;b||w((c?c+": ":"")+a)},ic:function(){return this.la.cc=!0},hc:function(a,b){b&&(this.la.cc=!1);return!0}};function x(a,b,c,d,e,f,g){a.ha&&(!0===g?g=0:null==g&&(g=a.wc),ob(a.ha,a,b,c,d,e,f,g))}function y(a,b,c,d){a.ha&&(!0===c||A(a,c|0))&&a.ha.message(b,d)}
|
||||
|
|
@ -35,7 +35,7 @@ rj:25,oj:20,qj:28,Oj:13,Qj:21,Nj:16,Pj:24,tj:13,vj:21,sj:16,uj:24,Tf:2,Sf:7,Qh:5
|
|||
80:"set current PSP @BX",81:"get current PSP (bx)",82:"get system variables (ES:BX)",83:"translate BPB @DS:@SI to DPB (ES:BP)",84:"get verify flag (AL)",85:"create child PSP at segment @DX",86:"rename file $@DS:@DX to $@ES:@DI",87:"get(0)/set(1) file @BX date @DX and time @CX (@AL)",88:"get(0)/set(1) memory allocation strategy (@AL)",89:"get extended error information",90:"create temporary file $@DS:@DX with attributes @CX",91:"create file $@DS:@DX with attributes @CX",92:"lock(0)/unlock(1) file @BX region @CX:@DX length @SI:@DI (@AL)",
|
||||
93:"critical error information (@AL)",96:"get fully-qualified filename from $@DS:@SI",99:"get lead byte table (@AL)",108:"extended open file $@DS:@SI"},65:{79:"check debugger loaded"}};function zb(a){Ua.call(this,"Panel",a,zb);this.L=this.W=this.fa=-1}db(zb);function Ab(a,b,c,d){this.A=[a,b,c,d];this.B=null;void 0===a&&(this.A[0]=256*Math.random()|0,this.A[1]=256*Math.random()|0,this.A[2]=256*Math.random()|0,this.A[3]=255,this.B=null)}
|
||||
Ab.prototype.toString=function(){this.B||(this.B="#"+r(this.A[0],2)+r(this.A[1],2)+r(this.A[2],2));return this.B};function Bb(a,b,c,d){this.x=a;this.y=b;this.ad=c;this.A=d}Bb.prototype.contains=function(a,b){return a>=this.x&&a<this.x+this.ad&&b>=this.y&&b<this.y+this.A};function Cb(a,b,c,d){void 0===d&&(d=b>=c>>2);d?(b=new Bb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Bb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}m=zb.prototype;
|
||||
m.Pb=function(a,b,c,d){return this.V&&this.V.Pb(a,b,c,d)||this.F&&this.F.Pb(a,b,c,d)||this.B&&this.B.Pb(a,b,c,d)||this.ha&&this.ha.Pb(a,b,c,d)?!0:this.parent.Pb.call(this,a,b,c,d)};m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.B=Eb(a,"Keyboard")};m.ic=function(a,b){b||Fb();return!0};m.hc=function(){return!0};m.je=function(a,b){a.button||(this.fa=b?0:-1,Gb(this,a,b))};m.If=function(a){Gb(this,a)};
|
||||
m.Pb=function(a,b,c,d){return this.V&&this.V.Pb(a,b,c,d)||this.F&&this.F.Pb(a,b,c,d)||this.B&&this.B.Pb(a,b,c,d)||this.ha&&this.ha.Pb(a,b,c,d)?!0:this.parent.Pb.call(this,a,b,c,d)};m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.B=Db(a,"Keyboard")};m.ic=function(a,b){b||Fb();return!0};m.hc=function(){return!0};m.je=function(a,b){a.button||(this.fa=b?0:-1,Gb(this,a,b))};m.If=function(a){Gb(this,a)};
|
||||
function Gb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.fa||(a.fa=Math.abs(a.L-d)>Math.abs(a.W-b)?1:2),1==a.fa?b=a.W:2==a.fa&&(d=a.L));a.L=d;a.W=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Qe)for(f=0;f<a.A.Qe.length;f++)if(e=a.A.Qe[f],e.contains(c,b)){c-=e.x;b-=e.y;var d=a.A.Bf[f],g=ta(Hb.ak,a.A.Sg[d.Rk]),f=g*a.ea.Sb,d=(g+d.Vd)*a.ea.Sb-1;0<b&&(f+=e.ad*(b-1)*a.ya);f+=c*a.ya;f|=0;
|
||||
f>d&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ia&&a.ka){e=a.ia.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Ib(a,378,a.ia,a.ka);a.pa=a.Ea.width/24|0;if(null==b)Jb(a,"Mouse over memory to dump");else for(Jb(a,"0x"+r(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ea;var k=b++;h=h.sa[(k&h.Hb)>>>h.La].se(k&h.A,k);Jb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Jb(a,d,null,0,1)}a.context.drawImage(a.ia,0,360,e,360,a.rb,a.Db,a.Pa,a.cb)}a.Ca=
|
||||
c}}}m.qd=function(){};function Kb(a,b,c,d){a.A.Bf[a.A.Bi++]={Rk:b,Vd:c,type:d};return sa(Hb,b,c,0,d)}function Ib(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.X=a.wa=18;e||(e=a.ua||a.wa+"px Monaco, Lucida Console, Courier New");a.ga=a.ua=e;c&&(a.Ea=c);d&&(a.N=d,a.Fa=f||"white")}
|
||||
|
|
@ -68,7 +68,7 @@ function Gc(a,b){b?0===--a.Ve&&(a.sc=a.N?a.L:a.xf,a.zf=a.N?a.X:a.pi,a.yf=a.N?a.U
|
|||
function Zb(a,b,c){b||(b=5==a.type?Hc:6==a.type?Ic:Jc);zc(a,b,c);Bc(a,b,c)}var Jc=[],ec=[B.prototype.Fa,B.prototype.sb,B.prototype.$a,B.prototype.Rd,B.prototype.Dd,B.prototype.Xc],Ac=[B.prototype.Ea,B.prototype.rb,B.prototype.Pa,B.prototype.tc,B.prototype.td,B.prototype.Wc],Ic=[B.prototype.Ja,B.prototype.Jb,B.prototype.fb,B.prototype.Cc,B.prototype.Hd,B.prototype.ve],Hc=[B.prototype.Ka,B.prototype.Ub,B.prototype.gb,B.prototype.Uc,B.prototype.Id,B.prototype.kd];
|
||||
if(vb)var dc=[B.prototype.Ca,B.prototype.Tb,B.prototype.Oa,B.prototype.bc,B.prototype.rd,B.prototype.Vc],cc=[B.prototype.aa,B.prototype.pa,B.prototype.ga,B.prototype.ra,B.prototype.ya,B.prototype.wa],Kc=[B.prototype.Ia,B.prototype.Db,B.prototype.cb,B.prototype.uc,B.prototype.Gd,B.prototype.jd];
|
||||
function Lc(a,b){Ua.call(this,"CPU",a,Lc,1);var c=a.cycles||b,d=a.multiplier||1;this.Y={};this.Y.Jd=c;this.Y.Zd=d;this.Y.vg=Math.round(this.Y.Jd/1E4)/100;this.Y.Fe=this.Y.vg*this.Y.Zd;this.la.Fb=!1;this.la.fh=!1;this.la.Li=a.autoStart;this.la.Pi=!1;this.la.Ze=!1;this.Y.Jf=this.Y.lf=0;this.Y.Kf=a.csStart;this.Y.kf=a.csInterval;this.Y.mf=a.csStop;this.ri=this.Le.bind(this);rb(this)}db(Lc);var Mc=["power","reset"];m=Lc.prototype;
|
||||
m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.ha=d;for(b=0;b<Mc.length;b++)(c=this.qa[Mc[b]])&&this.V.Pb(null,Mc[b],c);this.Tb=Eb(a,"FPU");this.N=Eb(a,"ChipSet");a=Nc(a,"autoStart");null!=a&&(this.la.Li="true"==a?!0:"false"==a?!1:!!a);rb(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};
|
||||
m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.ha=d;for(b=0;b<Mc.length;b++)(c=this.qa[Mc[b]])&&this.V.Pb(null,Mc[b],c);this.Tb=Db(a,"FPU");this.N=Db(a,"ChipSet");a=Nc(a,"autoStart");null!=a&&(this.la.Li="true"==a?!0:"false"==a?!1:!!a);rb(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};
|
||||
m.ic=function(a,b){if(!b){if(a&&this.restore){Oc(this);if(!this.restore(a))return!1;Pc(this)}else this.reset();this.ha?this.ha.ih():this.O("No debugger detected")}Rc(this);return!0};m.hc=function(a){return a?this.save():!0};function Uc(a){(a.la.Li||!a.ha&&void 0===a.qa.run)&&a.Le(!0)}m.Ri=function(){return 0};function Pc(a){void 0===a.Y.Kf&&(a.Y.Kf=0);void 0===a.Y.kf&&(a.Y.kf=-1);void 0===a.Y.mf&&(a.Y.mf=-1);a.la.Ze=0<=a.Y.Kf&&0<a.Y.kf;a.la.Ze&&(a.Y.Jf=0,a.Y.lf=a.Y.Kf-a.uc)}
|
||||
function Vc(a,b){if(a.la.Ze){var c=!1;a.Y.Jf=a.Y.Jf+a.Ri()|0;a.Y.lf-=b;0>=a.Y.lf&&(a.Y.lf+=a.Y.kf,c=!0);0<=a.Y.mf&&a.Y.mf<=Wc(a)&&(a.Y.kf=a.Y.mf=-1,Pc(a),a.Wb(),c=!0);c&&a.O(Wc(a)+" cycles: checksum="+r(a.Y.Jf))}}
|
||||
m.Pb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.V)if(a=d.V,a.la.cc)a=!0;else{var b=null,c,h=gb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.la.bf);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.la.cc);c++);c==h.length&&(b=a);w("The "+b.type+" component ("+b.id+") is not "+(b.la.bf?"powered yet":"ready yet"+(b.tg?" (waiting for notification)":""))+".");a=!1}a&&(d.la.Fb?d.Wb(!0):d.Le(!0))};
|
||||
|
|
@ -95,7 +95,7 @@ d.oa(h+g)));c&&d.jb(h+0,f);d.Za|=8;return!0}m.save=function(){return[this.Z,this
|
|||
function ed(a,b,c,d){void 0===c&&(c=!!(a.F.Za&1));a.cd=!1;if(c)if(a.load=a.ug,a.Xi=a.gm,a.mc=a.Di,a.nc=a.Fi,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.V,a.mc=a.ea,a.nc=a.qa,a.Lb=a.Gc=3,a.ba=a.Oc=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Oc=a.ba,a.Xb=-1,a.df=!1;else{if(!(a.Z&-4))a.mc=a.pg,a.nc=a.qg;else if(a.type&4096){6144==(a.type&6656)&&(a.mc=a.pg);if(a.type&2048||!(a.type&512))a.nc=a.qg;1024==(a.type&3072)&&(a.mc==a.Di&&(a.mc=a.Jk),a.nc==a.Fi&&(a.nc=a.Kk),a.cd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&&
|
||||
(c=a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ja||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Oc=a.ba,a.Ba=a.R)}else a.load=a.mh,a.Xi=a.hm,a.mc=a.Ei,a.nc=a.Gi,a.Lb=a.Gc=0,a.Xb=-1,a.df=!1}
|
||||
function Ad(a){this.ja=+a.model||8088;var b=a.stepping;this.Uc=this.ja+(b?ca(b,16):0);b=0;switch(this.ja){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Lc.call(this,a,b);this.Zf=61442;this.Cc=1792;this.Xf=28672;this.Dd=4;this.ra=255;this.B=80286<=this.ja?xb:wb;this.X=Bd;this.cg=Cd;this.hg=Dd;this.ig=Ed;if(80186<=this.ja&&(this.X=Bd.slice(),this.cg=Cd.slice(),this.hg=Dd.slice(),this.ra=31,this.X[15]=Fd,this.X[96]=Gd,this.X[97]=Hd,this.X[98]=Id,this.X[99]=Fd,this.X[100]=Fd,this.X[101]=
|
||||
Fd,this.X[102]=Fd,this.X[103]=Fd,this.X[104]=Jd,this.X[105]=Kd,this.X[106]=Ld,this.X[107]=Md,this.X[108]=Nd,this.X[109]=Od,this.X[110]=Pd,this.X[111]=Qd,this.X[192]=Rd,this.X[193]=Sd,this.X[200]=Td,this.X[201]=Xd,this.X[241]=Yd,this.cg[7]=Zd,this.hg[7]=Zd,80286<=this.ja)){this.Zf=2;this.Cc|=28672;this.Dd=0;this.X[15]=$d;this.tc=fe.slice();for(a=0;a<this.tc.length;a++)this.tc[a]||(this.tc[a]=ge);this.X[84]=he;this.X[99]=ie;if(80386<=this.ja){var c;this.Xf=0;this.Cc|=196608;this.X[100]=je;this.X[101]=
|
||||
Fd,this.X[102]=Fd,this.X[103]=Fd,this.X[104]=Jd,this.X[105]=Kd,this.X[106]=Ld,this.X[107]=Md,this.X[108]=Nd,this.X[109]=Od,this.X[110]=Pd,this.X[111]=Qd,this.X[192]=Rd,this.X[193]=Sd,this.X[200]=Td,this.X[201]=Ud,this.X[241]=Yd,this.cg[7]=Zd,this.hg[7]=Zd,80286<=this.ja)){this.Zf=2;this.Cc|=28672;this.Dd=0;this.X[15]=$d;this.tc=ae.slice();for(a=0;a<this.tc.length;a++)this.tc[a]||(this.tc[a]=ge);this.X[84]=he;this.X[99]=ie;if(80386<=this.ja){var c;this.Xf=0;this.Cc|=196608;this.X[100]=je;this.X[101]=
|
||||
ke;this.X[102]=le;this.X[103]=me;for(c in M)this.tc[+c]=M[c];80546<=this.Uc&&80562>=this.Uc&&(this.tc[166]=ne,this.tc[167]=oe)}}this.Id=[];this.le=[];this.ne=0;Oc(this);this.la.Xd=this.la.Ni=!1;this.Qg=0;this.ld=this.sa=[];this.La=this.Sb=this.Fa=this.Gd=this.jd=this.Hb=this.Db=0;pe(this)}db(Ad,Lc);function qe(a,b,c,d){Gc((d?a.ld:a.sa)[b>>>a.La],c);d&&Ub(a)}
|
||||
function re(a){var b;if(a.sa===a.ld){a.sa=Array(a.Gd);a.me=new B(null,0,0,5,null,a);Mb(a.me,a.ha);for(b=0;b<a.Gd;b++)a.sa[b]=a.me;a.kd=new B;a.bg=Array(512);a.oe=0}else for(var c=0;c<a.Hd.length;c++){b=a.Hd[c];var d=a.sa[b];512>a.oe&&(a.bg[a.oe++]=d);a.sa[b]=a.me}a.Hd=[]}function Ub(a){a.Za&-2147483648&&re(a)}
|
||||
function Fc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.ld[(a.Pd+e&a.Hb)>>>a.La],g=f.Nd(e);if(!(g&1))return d||se.call(a,b,!1,c),a.kd;if(!(g&4)&&3==a.pa)return d||se.call(a,b,!0,c),a.kd;var h=(b&4190208)>>>10,g=a.ld[((g&-4096)+h&a.Hb)>>>a.La],k=g.Nd(h);if(!(k&1))return d||se.call(a,b,!1,c),a.kd;if(!(k&4)&&3==a.pa)return d||se.call(a,b,!0,c),a.kd;c=a.ld[((k&-4096)+(b&4095)&a.Hb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b=b&-4096;var l;0<a.oe?(l=a.bg[--a.oe],l.ih(b)):l=new B(b,0,0,6);b=l;b.Cd=c;b.yb=f;b.A=
|
||||
|
|
@ -133,7 +133,7 @@ m.qd=function(a){this.Qg&&(a||!this.la.Fb||this.la.Pi)&&(Sf(this,"EAX",this.G),S
|
|||
m.wf=function(a){this.la.Xd=!0;var b=this.la.Ni=this.ha&&Tf(this.ha),c=a?this.la.fh?0:1:-1;this.la.fh=!1;this.fb=this.A=a;this.N&&!a&&ad(this.N);a||A(this,1024)||(this.S|=4);do{var d=this.S&3312;if(d)this.Ha|=d;else if(this.re=this.Ga,this.ka=this.vb,this.Ka=this.ta,this.D=this.C=-1,this.Ha&3072&&Se(this),this.Ha=this.S&256,this.ua){a:{if(!(this.S&4))for(var d=80286>this.ja?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ca&512){var f=Uf(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5;Vf.call(this,
|
||||
f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ja&&(this.Ja[6]|=16384);Vf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(Wf(this.ha,this.Ga,c)){this.Wb();break}c=1}this.S=0;this.X[this.xa()].call(this)}while(0<this.A);return this.la.Xd?this.fb-this.A:void 0===this.la.Xd?0:-1};Qa(function(){for(var a=nb(document,"pcx86","cpu"),b=0;b<a.length;b++){var c=a[b],d=jb(c),d=new Ad(d);mb(d,c)}});
|
||||
function Xf(a){Ua.call(this,"FPU",a,Xf);this.ja=a.model||8087;(a=a.stepping)&&ca(a,16);this.V=new Float64Array(8);this.aa=new Int32Array(this.V.buffer);this.pa=new Float32Array(1);this.ua=new Int32Array(this.pa.buffer);this.X=new Float64Array(1);this.L=new Int32Array(this.X.buffer);this.ea=Array(3);this.fa=this.ga=-1;this.W=this.U=this.ia=this.A=0;this.ka=new Float64Array(1);this.ra=new Int32Array(this.ka.buffer);this.ra[0]=0;this.ra[1]=268402688;Yf(this)}db(Xf);m=Xf.prototype;
|
||||
m.Ic=function(a,b,c){this.F=c;this.N=Eb(a,"ChipSet");rb(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)Yf(this);else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.save=function(){var a=new hf(this),b=[],c=0;b[c++]=this.jc;b[c++]=Zf(this);b[c++]=$f(this);for(var d=0;d<this.V.length;d++)b[c++]=this.V[d];N(a,0,b);return a.data()};
|
||||
m.Ic=function(a,b,c){this.F=c;this.N=Db(a,"ChipSet");rb(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)Yf(this);else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.save=function(){var a=new hf(this),b=[],c=0;b[c++]=this.jc;b[c++]=Zf(this);b[c++]=$f(this);for(var d=0;d<this.V.length;d++)b[c++]=this.V[d];N(a,0,b);return a.data()};
|
||||
m.restore=function(a){a=a[0];var b=0;this.jc=a[b++]&-57409;var c=a[b++];this.ma=c&-14337;this.B=(c&14336)>>11;ag(this);bg(this,a[b++]);for(c=0;c<this.V.length;c++)this.V[c]=a[b++];return!0};function Yf(a){a.C=0;a.jc=959;a.ma=0;a.B=0;a.N&&(a=a.N,a.ja>=cg&&dg(a,13))}function ag(a){a.ma&=-129;a.ma&~a.jc&63&&(a.ma|=128);if(a.ma&128&&!(a.jc&128))return a=a.N,a.ja>=cg?eg(a,13):a.ya&0||Vf.call(a.F,2),!0;a=a.N;a.ja>=cg&&dg(a,13);return!1}function fg(a,b){80387<=a.ja||(b&=-65);a.ma|=b;return ag(a)}
|
||||
function Zf(a){return a.ma|a.B<<11}function gg(a,b){return isFinite(b)?!0:!fg(a,Infinity===b?8:16)}function hg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,gg(a,d)||(d=null));return d}function ig(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,gg(a,d)||(d=null));return d}function jg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,gg(a,d)||(d=null));return d}function kg(a,b,c){var d=null;null==b||null==c||!c&&fg(a,2)||(d=b/c,gg(a,d)||(d=null));return d}
|
||||
function lg(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function mg(a,b,c){if(null==b)return null;var d=a.jc&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0<b?Math.floor(b):Math.ceil(b);if(c){if(d>=c){if(fg(a,1))return null;d=-c}else if(d<-c){if(fg(a,1))return null;d=-c}a.L[0]=d|0;2147483648<c&&(a.L[1]=d/4294967296|0,!a.L[1]&&0>d&&(a.L[1]=-1))}return d}
|
||||
|
|
@ -288,7 +288,7 @@ function Ij(){var a=this.T();pf(this)||sf(this)?(O(this,K(this)+a),this.A-=this.
|
|||
function Nj(){var a=this.T();qf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}function Oj(){var a=this.T();!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}function Pj(){var a=this.T();!tf(this)==!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}function Qj(){var a=this.T();sf(this)||!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}
|
||||
function Rj(){var a=this.T();sf(this)||!tf(this)!=!uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}function Sj(){this.Jb.call(this,Tj,this.xa);this.A-=-1===this.C?1:this.B.Eg}function Uj(){this.S|=1;this.$a.call(this,bi)}function Vj(){this.S|=1;this.fa.call(this,bi)}function Wj(){this.Oa.call(this,bi)}function Xj(){this.W.call(this,bi)}function Rd(){this.Jb.call(this,Yj,tj)}function Sd(){this.ya.call(this,2==this.ba?Zj:ak,tj)}
|
||||
function bk(){var a=Rf(this),b=D(this);O(this,b);a&&G(this,I(this)+a);this.A-=this.B.Yj}function ck(){var a=D(this);O(this,a);this.A-=this.B.Vj}function Td(){this.U=this.ga;var a=Rf(this),b=this.xa()&31;this.A-=11;J(this,this.P);var c=I(this)&this.R;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.P=this.P&~this.R|this.P-this.ba&this.R,J(this,nd(this,this.ta,this.P&this.R));J(this,c)}this.P=this.P&~this.R|c;G(this,I(this)&~this.ta.Ba|I(this)-a&this.ta.Ba);this.U=-1}
|
||||
function Xd(){this.U=this.ga;G(this,I(this)&~this.ta.Ba|this.P&this.ta.Ba);this.P=this.P&~this.R|D(this)&this.R;this.A-=5;this.U=-1}function dk(){yj.call(this,Rf(this));this.A-=this.B.Xj}function ek(){yj.call(this,0);this.A-=this.B.Wj}function fk(a){this.jg=a;this.W.call(this,Lh)}function gk(){this.S|=36;this.A-=this.B.od}function Yd(){ge.call(this)}function Fd(){C.call(this,6)}
|
||||
function Ud(){this.U=this.ga;G(this,I(this)&~this.ta.Ba|this.P&this.ta.Ba);this.P=this.P&~this.R|D(this)&this.R;this.A-=5;this.U=-1}function dk(){yj.call(this,Rf(this));this.A-=this.B.Xj}function ek(){yj.call(this,0);this.A-=this.B.Wj}function fk(a){this.jg=a;this.W.call(this,Lh)}function gk(){this.S|=36;this.A-=this.B.od}function Yd(){ge.call(this)}function Fd(){C.call(this,6)}
|
||||
function ge(){O(this,this.re-this.va.Aa);ub(this,"Undefined opcode "+t(this.Qa(this.Ga))+" at "+("0x"+r(this.Ga)));this.Wb()}
|
||||
var Bd=[function(){this.$a.call(this,th)},function(){this.fa.call(this,uh)},function(){this.Oa.call(this,th)},function(){this.W.call(this,uh)},function(){this.G=this.G&-256|th.call(this,this.G&255,this.xa());this.A--},function(){this.G=this.G&~this.R|uh.call(this,this.G&this.R,this.Ma());this.A--},function(){od(this,this.Xa.Z,this.ba,2);this.A-=this.B.Ie},function(){this.U=this.ga;vd(this,D(this));this.A-=this.B.zc;this.U=-1},function(){this.$a.call(this,gi)},function(){this.fa.call(this,hi)},function(){this.Oa.call(this,
|
||||
gi)},function(){this.W.call(this,hi)},function(){this.G=this.G&-256|gi.call(this,this.G&255,this.xa());this.A--},function(){this.G=this.G&~this.R|hi.call(this,this.G&this.R,this.Ma());this.A--},function(){od(this,this.va.Z,this.ba,2);this.A-=this.B.Ie},function(){kf(this,D(this));this.A-=this.B.zc},function(){this.$a.call(this,rh)},function(){this.fa.call(this,sh)},function(){this.Oa.call(this,rh)},function(){this.W.call(this,sh)},function(){this.G=this.G&-256|rh.call(this,this.G&255,this.xa());this.A--},
|
||||
|
|
@ -338,9 +338,9 @@ a,this.G),c=this.wa!=this.ia>>31);c?(wf(this),yf(this)):(xf(this),zf(this));this
|
|||
a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/c|0;if(d!=d<<16>>16||8086==this.ja&&-32768==d)return Aj.call(this),a;this.ia=d&65535;this.wa=b%c&65535}else{var c=this.G,d=this.M,e=a,f=0,g=0;0>e&&(e=-e|0,f=1-f);0>d&&(c=-c|0,d=~d+(c?0:1)|0,g=1,f=1-f);!nj.call(this,c,d,e)||this.ia>2147483647+f||this.wa>2147483647+g?c=!1:(f&&(this.ia=-this.ia),g&&(this.wa=-this.wa),c=!0);if(!c)return Aj.call(this),a;this.ia|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.rj:this.B.qj;this.S|=2;return a}],Cd=[function(a){var b=
|
||||
a+1|0;of(this,a,1,b,190);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&255},function(a){var b=a-1|0;of(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&255},Nh,Nh,Nh,Nh,Nh,Nh],Dd=[function(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&this.R},function(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=-1===this.D?this.B.Rf:this.B.Qf;return b&this.R},function(a){J(this,K(this));O(this,a);this.A-=-1===this.D?this.B.jj:this.B.ij;this.S|=
|
||||
2;return a},function(a){if(-1===this.D)return Nh.call(this,a);this.U=this.ga;wj.call(this,a,this.na(this.D+this.ba));this.A-=this.B.gj;this.S|=2;this.U=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.Ej:this.B.Dj;this.S|=2;return a},function(a){if(-1===this.D)return Nh.call(this,a);yd(this,a,this.na(this.D+this.ba));this.A-=this.B.Bj;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ja&&(b=a));J(this,b);this.A-=-1===this.D?this.B.Sc:this.B.Uj;this.S|=2;return a},
|
||||
Nh];function ne(){this.W.call(this,gj);this.A-=-1===this.D?6:13}function oe(){this.fa.call(this,fj);this.A-=-1===this.D?12:19}var fe=Array(256);fe[0]=function(){16>(this.Qa(this.Ga)&56)&&(this.S|=1);this.ya.call(this,this.ig,uj)};fe[1]=function(){this.Qa(this.Ga)&16||(this.S|=1);this.ya.call(this,nk,uj)};fe[2]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,Uh)};fe[3]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,$h)};
|
||||
fe[5]=function(){this.pa?C.call(this,13,0,0,!0):(Gf(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),id(this.Xa,2102,this.na(2084)),id(this.va,2108,this.na(2082)),id(this.ta,2114,this.na(2080)),id(this.vb,2120,this.na(2078)),xd(this,this.na(2072)),O(this,this.na(2074)),G(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.Ad=this.Ec+this.na(2130),this.Mc=this.na(2138)|
|
||||
this.Qa(2140)<<16,this.Ud=this.Mc+this.na(2142),id(this.Bc,2132,this.na(2076)),id(this.Sa,2144,this.na(2070)),this.A-=195)};fe[6]=function(){this.pa?C.call(this,13,0):(this.Za&=-9,this.A-=2)};fe[11]=Fd;fe[166]=Fd;fe[255]=Fd;var M=[];M[5]=Fd;
|
||||
Nh];function ne(){this.W.call(this,gj);this.A-=-1===this.D?6:13}function oe(){this.fa.call(this,fj);this.A-=-1===this.D?12:19}var ae=Array(256);ae[0]=function(){16>(this.Qa(this.Ga)&56)&&(this.S|=1);this.ya.call(this,this.ig,uj)};ae[1]=function(){this.Qa(this.Ga)&16||(this.S|=1);this.ya.call(this,nk,uj)};ae[2]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,Uh)};ae[3]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,$h)};
|
||||
ae[5]=function(){this.pa?C.call(this,13,0,0,!0):(Gf(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),id(this.Xa,2102,this.na(2084)),id(this.va,2108,this.na(2082)),id(this.ta,2114,this.na(2080)),id(this.vb,2120,this.na(2078)),xd(this,this.na(2072)),O(this,this.na(2074)),G(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.Ad=this.Ec+this.na(2130),this.Mc=this.na(2138)|
|
||||
this.Qa(2140)<<16,this.Ud=this.Mc+this.na(2142),id(this.Bc,2132,this.na(2076)),id(this.Sa,2144,this.na(2070)),this.A-=195)};ae[6]=function(){this.pa?C.call(this,13,0):(this.Za&=-9,this.A-=2)};ae[11]=Fd;ae[166]=Fd;ae[255]=Fd;var M=[];M[5]=Fd;
|
||||
M[7]=function(){if(this.pa)C.call(this,13,0,0,!0);else{var a=this.Xa.mc(this.J&this.Ba,204);if(-1!==a){pj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;xd(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.Ad=this.Ec+this.oa(a+116);this.Mc=this.oa(a+100);this.Ud=this.Mc+this.oa(a+104);hd(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));hd(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H=
|
||||
this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);hd(this.Ob,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));hd(this.Nb,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));hd(this.vb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));hd(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));hd(this.va,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));hd(this.Xa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));O(this,this.oa(a+
|
||||
8));G(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};M[16]=Uj;M[17]=Vj;M[18]=Wj;M[19]=Xj;M[32]=function(){if(this.pa)C.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.Za;break;case 2:a=this.te;break;case 3:a=this.Pd;break;default:ge.call(this);return}ve(this,b&7,a);this.A-=6}};M[33]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?ge.call(this):(ve(this,a&7,this.Ja[b]),this.A-=22)}};
|
||||
|
|
@ -367,7 +367,7 @@ window.webkitAudioContext),this.sb&&(this.Fa=new this.sb));this.reset(!0);rb(thi
|
|||
Ak[5150][0][wk]={Lc:48,hd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Qd:"Monitor Type"};Ak[5150][0][5]={Lc:12,hd:{16:0,32:4,48:8,64:12},Qd:"Base Memory (16Kb Increments)"};Ak[5150][1][6]={Lc:31,hd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Qd:"Expansion Memory (32Kb Increments)"};Ak[5160]=[{},{}];Ak[5160][0][vk]=Ak[5150][0][vk];Ak[5160][0][3]=Ak[5150][0][3];Ak[5160][0][wk]=Ak[5150][0][wk];
|
||||
Ak[5160][0][5]={Lc:12,hd:{64:0,128:4,192:8,256:12},Qd:"Base Memory (64Kb Increments)"};Ak[5160][1][6]=Ak[5150][1][6];Ak[5160.101]=[{},{}];Ak[5160.101][0][5]={Lc:143,hd:{128:1,256:130,512:8,640:141},Qd:"Base Memory (128Kb Increments)"};Ak[5160.101][0][3]={Lc:16,hd:{0:0,1:16},Qd:"Coprocessor"};Ak[5160.101][1][2]={Lc:1,hd:{0:0,1:1},Qd:"Floppy Type"};Ak[5160.101][1][vk]=Ak[5150][0][vk];Ak[5160.101][1][wk]=Ak[5150][0][wk];m=pk.prototype;
|
||||
m.Pb=function(a,b,c){switch(b){case tk:return this.qa[b]=c,Bk(this,0,b),!0;case xk:if(5150==(this.ja|0)||5160.101==this.ja)return this.qa[b]=c,Bk(this,1,b),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1};
|
||||
m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.Tb=Eb(a,"FPU");uk(this,3,this.Tb?1:0,!0);this.B=Eb(a,"Keyboard");this.gb=c.Y.Jd/1193181;ic(b,this,Ck);mc(b,this,Dk);this.ja<cg?5160.101!=this.ja?(ic(b,this,Ek),mc(b,this,Fk)):(ic(b,this,Gk),mc(b,this,Hk)):(ic(b,this,Ik),mc(b,this,Jk),5180==(this.ja|0)&&(ic(b,this,Kk),mc(b,this,Lk)));if(d){var e=this;Mk(d,1024,function(){for(var a=0;a<e.vc.length;a++){for(var b=e.vc[a],c="PIC"+a+":",d=0;d<b.Yc.length;d++)c+=" IC"+(d+1)+"="+t(b.Yc[d]);
|
||||
m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.Tb=Db(a,"FPU");uk(this,3,this.Tb?1:0,!0);this.B=Db(a,"Keyboard");this.gb=c.Y.Jd/1193181;ic(b,this,Ck);mc(b,this,Dk);this.ja<cg?5160.101!=this.ja?(ic(b,this,Ek),mc(b,this,Fk)):(ic(b,this,Gk),mc(b,this,Hk)):(ic(b,this,Ik),mc(b,this,Jk),5180==(this.ja|0)&&(ic(b,this,Kk),mc(b,this,Lk)));if(d){var e=this;Mk(d,1024,function(){for(var a=0;a<e.vc.length;a++){for(var b=e.vc[a],c="PIC"+a+":",d=0;d<b.Yc.length;d++)c+=" IC"+(d+1)+"="+t(b.Yc[d]);
|
||||
c+=" IMR="+t(b.Bd)+" IRR="+t(b.lc)+" ISR="+t(b.Pc)+" DELAY="+b.of;e.ha.O(c)}});Mk(d,2048,function(a){a=(a=a[0])?+a:null;for(var b=0;b<e.W.length;b++)if(null==a||b==a){Nk(e,b);var c=e.W[b],d="TIMER"+b+":",l=0;if(null!=c.nd)for(var n=0;n<=c.nd;n++)l|=c.Ab[n]<<8*n;d+=" mode="+(c.mode>>1)+" bytes="+c.nd+" count="+u(l);e.ha.O(d)}});Mk(d,4096,function(){for(var a="",b=0;64>b;b++){var c=13>=b?Ok(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+t(b)+"]: "+t(c)}e.ha.O(a)})}Te(c,26,this.bm.bind(this))};
|
||||
m.ic=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};
|
||||
m.reset=function(a){var b;Pk(this);this.L=Array(this.cb);for(b=0;b<this.cb;b++)Qk(this,b);this.vc=Array(this.Ea);Rk(this,0,32);1<this.Ea&&Rk(this,1,160);this.Pa=this.Oa=null;this.W=Array(5180==(this.ja|0)?6:3);for(b=0;b<this.W.length;b++)Sk(this,b);this.Ca=this.rb=this.X=this.$a=null;this.ya=0;5160.101==this.ja&&(this.wa=0);if(this.ja>=cg){this.N=16;this.fa=0;this.aa=16;this.Ja=0;this.ga=160;512<=Tk(this)&&(this.ga|=16);3==+Uk(this,wk,void 0)&&(this.ga|=64);5180==(this.ja|0)&&(this.ga|=12);this.Ka=
|
||||
|
|
@ -431,7 +431,7 @@ Zl.prototype.ic=function(){this.Sd&&(this.ha&&bm(this.ha,this.id,0,this.V>>>4,0,
|
|||
function $l(a,b,c,d){if(d)a.Na("Unable to load system ROM (error "+d+": "+b+")");else{fb(a.ve,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c<g.length;c++)a.A[d++]=g[c]&255,a.A[d++]=g[c]>>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Sd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Na("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm,
|
||||
" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e<b.length;e++)a.A[e]=ca(b[e],16);am(a)}}
|
||||
function am(a){if(!sb(a))if(!a.L)rb(a);else if(a.A&&a.ea){a.C||(a.C=a.A.length);if(a.A.length!=a.C)ub(a,"ROM size (0x"+r(a.A.length)+") does not match specified size ("+("0x"+r(a.C))+")");else{var b;b=a.V;if(Sb(a.ea,b,a.C,ac)){for(var c=0;c<a.A.length;c++){var d=a.ea,e=b+c;d.sa[(e&d.Hb)>>>d.La].xf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;c<b.length;c++){var d=a,e=b[c],f=Yb(d.ea,d.V,d.C);Xb(d.ea,e,d.C,f)}a.B&&((b=hb(a.B,a.id))?
|
||||
(c=a.A,d=a.W,5==b.Ua?cm(b,c,d||[12640,8752],8):b.Ua==dm&&cm(b,c,d||[14221,16269],8),rb(b)):a.Na("Unable to find component: "+a.B));delete a.A}}rb(a)}}Qa(function(){for(var a=nb(document,"pcx86","rom"),b=0;b<a.length;b++){var c=a[b],d=jb(c),d=new Zl(d);mb(d,c)}});function em(a){Ua.call(this,"RAM",a,em);this.B=a.addr;this.A=a.size;this.L=a.test;this.V=!!this.A;this.C=!1}db(em);m=em.prototype;m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet");rb(this)};
|
||||
(c=a.A,d=a.W,5==b.Ua?cm(b,c,d||[12640,8752],8):b.Ua==dm&&cm(b,c,d||[14221,16269],8),rb(b)):a.Na("Unable to find component: "+a.B));delete a.A}}rb(a)}}Qa(function(){for(var a=nb(document,"pcx86","rom"),b=0;b<a.length;b++){var c=a[b],d=jb(c),d=new Zl(d);mb(d,c)}});function em(a){Ua.call(this,"RAM",a,em);this.B=a.addr;this.A=a.size;this.L=a.test;this.V=!!this.A;this.C=!1}db(em);m=em.prototype;m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Db(a,"ChipSet");rb(this)};
|
||||
m.ic=function(a,b){return!b&&(this.reset(),a&&this.controller&&!this.restore(a))?!1:!0};m.hc=function(a){return a&&this.controller?this.save():!0};
|
||||
m.reset=function(){if(!this.B&&!this.V&&this.N){var a=1024*Tk(this.N);this.A&&a!=this.A&&($b(this.ea,this.B,this.A),this.C=!1);this.A=a}!this.C&&this.A&&Sb(this.ea,this.B,this.A,1)&&(this.C=!0,"ramCPQ"==this.Rd&&(this.controller=new fm(this),Sb(this.ea,gm,4,4,this.controller)));if(this.C){if(this.L||gc(this.ea,1138,4660),"ramCPQ"!=this.Rd&&this.N&&(a=this.N,a.A)){var b=1048576>this.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+1]=c>>8;Xk(a)}}else w("No RAM allocated")};
|
||||
m.save=function(){var a=new hf(this);this.controller&&N(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function fm(a){this.N=a;this.C=hm;this.ha=im;this.B=jm;this.A=null}var gm=-2134900736,hm=65535,im=2575,jm=2,km=[null,0],lm=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.qc(a,b)},null,null];m=fm.prototype;m.save=function(){return[this.C,this.B]};
|
||||
|
|
@ -448,7 +448,7 @@ Y[107]=37;Y[75]=10789;Y[108]=38;Y[76]=10790;Y[X[";"]]=39;Y[X[":"]]=10791;Y[X["'"
|
|||
Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[4003]=7470;Y[4008]=7494;Y[4046]=3677523;Y[4045]=3677522;Y[4013]=3677468;m=mm.prototype;
|
||||
m.Pb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return vm(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||wm(e,a,!0);return b},c.onkeyup=function(a){return vm(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();wm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();wm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]=
|
||||
c,c.onclick=function(){e.V&&e.V.yd();wm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==sm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.V&&a.V.yd();xm(a,c,!0);wm(a,c,!0)}}(this,g,sm[g]),!0;if(void 0!==tm[b])return this.ga++,this.qa[f]=c,a=function(a,b,c){return function(){wm(a,c)}}(this,b,tm[b]),b=function(a,b,c){return function(){ym(a,c)}}(this,b,tm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=
|
||||
c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();d&&!e.L&&(e.L=d,zm(e,300))},!0}return!1};function Am(a,b,c){if(a.ga){for(var d in qm)if(b==qm[d]){b=+d;(d=pm[d])&&(b=d);break}for(var e in tm)if((d=tm[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=tm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet")};
|
||||
c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();d&&!e.L&&(e.L=d,zm(e,300))},!0}return!1};function Am(a,b,c){if(a.ga){for(var d in qm)if(b==qm[d]){b=+d;(d=pm[d])&&(b=d);break}for(var e in tm)if((d=tm[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=tm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.N=Db(a,"ChipSet")};
|
||||
function nm(a,b){var c=0;a.ja=null;"string"==typeof b&&(a.ja=b.toUpperCase(),c=om.indexOf(a.ja),0>c&&(c=0));if(b=om[c])a.ra=parseInt(b.substr(2),10)}function Tl(a){y(a,"keyboard reset",65792);a.A=[];Ul(a,170)}function Pl(a,b,c){a.aa!==c&&(a.aa=a.fa=c)&&(a.U=!0);a.X!==b&&(a.X=b)&&!a.fa&&Xl(a,!0);a.X&&a.fa&&(Tl(a),a.fa=!1)}function Ul(a,b){a.N&&(a.A.unshift(b),a.U=!0,Wl(a.N,b))}
|
||||
function Ql(a){var b=0;a.A.length&&a.U&&(b=a.A[0],a.N&&Wl(a.N,b));A(a)&&y(a,b?"scan code "+t(b)+" available":"no scan codes available")}function Nl(a){var b=0;a.A.length&&(b=a.A[0]);A(a)&&y(a,"scan code "+t(b)+" delivered");return b}function Xl(a,b){0<a.A.length&&(a.A.shift(),(a.U=b)&&(a.A.length&&a.N?Wl(a.N,a.A[0]):b=!1),A(a)&&y(a,"scan codes shifted, notify "+(b?"true":"false")))}m.ic=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};
|
||||
m.hc=function(a){return a?this.save():!0};m.reset=function(){if(!this.ja&&this.N)switch(this.N.ja){case 5150:case 5160:nm(this,om[0]);break;default:nm(this,om[1])}Bm(this);this.xc=this.C=0;this.A=[];this.U=!0;this.L=""};m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.aa;c[b]=this.X;N(a,0,c);return a.data()};m.restore=function(a){return Bm(this,a[0])};function Bm(a,b){var c=0;void 0===b&&(b=[]);a.aa=a.U=b[c++];a.X=b[c];a.W=0;return!0}
|
||||
|
|
@ -492,8 +492,8 @@ function gn(a,b){var c=a.mb[b];if(null!=c&&5<=a.Ua){var d=0,e=0,f=0;switch(b){ca
|
|||
m=Z.prototype;
|
||||
m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;c=(c=Fm[this.ja])&&c[0];3!==c&&(ic(b,this,hn),mc(b,this,jn));1!==c&&(ic(b,this,kn),mc(b,this,ln));5<=this.Ua&&(ic(b,this,mn),mc(b,this,nn));this.Ua==dm&&(ic(b,this,on),mc(b,this,pn));if(d){var e=this;Mk(d,262144,function(a){if(e.C)if(a[0]){var b=e.C;if(b.sd){var c,d,f,q=!1,p=8,z=8,F=-1,v=b.video.L>>3;for(c=0;c<a.length;c++){var E=a[c];if(c){var H=E.charAt(0);d=ca(E.substr(1));switch(H){case "l":p=d;break;case "n":1<=d&&8>=d&&(z=d,q=!0);break;case "p":0<=
|
||||
d&&3>=d&&(F=d);break;case "w":d<v&&(v=d);break;default:b.ha.O("unrecognized argument: "+E)}}else f=ca(E)}void 0===f?f=b.B||0:f>=b.ob&&(f-=b.ob);a="";for(c=0;c<p;c++){E=r(b.ob+f)+":";for(d=0;d<z&&f<b.sd.length;d++)H=b.sd[f++],E+=" "+(0>F?r(H):da(H>>(F<<3),8));q&&(f+=v-z);a&&(a+="\n");a+=E}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ia)),b=e.C,fn(b,"CRTC",b.Ac,b.mb,b.lg),5<=b.Ua&&(fn(b," GRC",b.ce,b.be,b.Vg),fn(b," SEQ",b.de,b.Ke,b.Wg),fn(b," ATC",b.Od,b.Tc,b.Ug),fn(b," ATCINDX",
|
||||
b.Od),b.ha.O(" ATCDATA: "+b.Ye),fn(b," FEAT",b.eg),fn(b," MISC",b.vf),fn(b," STATUS0",b.Ng)),fn(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||fn(b," MODEREG",b.gd),3==b.Ua&&fn(b," COLOR",b.tf),5<=b.Ua&&(b.ha.O(" LATCHES: "+r(b.Gb)),b.ha.O(" ACCESS: "+r(b.xg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Eb(a,"Keyboard"))&&this.ka){for(var f in this.qa)0<f.indexOf("lock")&&this.B.Pb("led",f,this.qa[f]);this.B.Pb(this.wk?"textarea":"canvas",
|
||||
"kbd",this.V)}this.Vc=9;(this.N=Eb(a,"ChipSet"))&&this.cg&&5==this.Ua&&(this.Vc=sk(this.cg,this.Vc));"mouse"==this.hg?(this.W=Eb(a,"Mouse"))&&qn(this,2):"keygrid"==this.hg&&this.B&&qn(this,1)};
|
||||
b.Od),b.ha.O(" ATCDATA: "+b.Ye),fn(b," FEAT",b.eg),fn(b," MISC",b.vf),fn(b," STATUS0",b.Ng)),fn(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||fn(b," MODEREG",b.gd),3==b.Ua&&fn(b," COLOR",b.tf),5<=b.Ua&&(b.ha.O(" LATCHES: "+r(b.Gb)),b.ha.O(" ACCESS: "+r(b.xg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Db(a,"Keyboard"))&&this.ka){for(var f in this.qa)0<f.indexOf("lock")&&this.B.Pb("led",f,this.qa[f]);this.B.Pb(this.wk?"textarea":"canvas",
|
||||
"kbd",this.V)}this.Vc=9;(this.N=Db(a,"ChipSet"))&&this.cg&&5==this.Ua&&(this.Vc=sk(this.cg,this.Vc));"mouse"==this.hg?(this.W=Db(a,"Mouse"))&&qn(this,2):"keygrid"==this.hg&&this.B&&qn(this,1)};
|
||||
m.Pb=function(a,b,c){var d=this;if(!this.qa[b])switch(this.qa[b]=c,b){case "fullScreen":return this.ia&&this.ia.Xe?c.onclick=function(){d.Xe()}:c.parentNode.removeChild(c),!0;case "lockPointer":return this.vk=c.textContent,this.V&&this.V.De?c.onclick=function(){d.De(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){rn(d,!0)},!0}return!1};
|
||||
m.Xe=function(){var a=!1;if(this.ia){if(this.ia.Xe){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.ra/this.Ea;b>c&&(a=Math.round(c/b*100)+"%")}this.rf?(this.ka.style.width=a,this.ka.style.width=a,this.ka.style.display="block",this.ka.style.margin="auto"):(this.ia.style.width=a,this.ia.style.height="auto");this.ia.style.backgroundColor="black";this.ia.Xe();a=!0}this.V&&this.V.focus()}return a};
|
||||
function Im(a,b){!b&&a.ia&&(a.rf?a.ka.style.width=a.ka.style.height="":a.ia.style.width=a.ia.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.dh=b)}m.De=function(a){var b=!1;this.V&&(a?this.V.De&&(this.V.De(),this.W&&this.W.Wf(!0),b=!0):this.V.tk&&(this.V.tk(),this.W&&this.W.Wf(!1),b=!0),this.V&&this.V.focus());return b};m.Wf=function(a){this.W&&(this.W.Wf(a),this.B&&(this.B.dh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.vk)};
|
||||
|
|
@ -508,7 +508,7 @@ function zn(a,b){if(1==b)return a.Ca[0]=Om[0],a.Ca[1]=Om[7],a.Ca;if(2==b){var c=
|
|||
(c.Tc[20]&12)<<4,c.Tc[16]&128&&(g&=-49,g|=(c.Tc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.Ca[f]=[h,k,g,255]}a.rb=!0}return a.Ca}function cm(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d}
|
||||
function vn(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){var d=0,e=a.Tb?a.Tb:8,f=zn(a);null!=a.Jb[0]&&An(a,3,a.Jb[0],d,e,8,a.Uc,f)&&(c=!0);d=a.Tb?0:2048;e=a.Tb?a.Tb:9;null!=a.Jb[1]&&(An(a,1,a.Jb[1],d,e,14,a.Uc,Mm,Nm)&&(c=!0),a.Tb&&An(a,a.Ua,a.Jb[1],0,a.Tb,14,a.Uc,f)&&(c=!0))}return c}function An(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(Bn(a,b,c,d,e,f,g,h,k)&&(l=!0),a.un&&Bn(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l}
|
||||
function Bn(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Oa[b],p=16>h.length?h.length:16;q||(q={Qc:e<<n,Rc:f<<n,Pe:Array(p),ti:h.slice(0,p),Af:k,Tg:Array(p)});for(k=0;k<p;k++){var z=h[k],F=q.Pe[k]?q.ti[k]:[];if(z[0]!==F[0]||z[1]!==F[1]||z[2]!==F[2]){var l=q,F=k,v=n,E=c,H=d,L=e,V=f,P=g,bb=[0,0,0,0],ia=document.createElement("canvas");ia.width=l.Qc<<4;ia.height=l.Rc<<4;for(var ja=ia.getContext("2d"),Ha=void 0,Xa=void 0,Ba=void 0,Vb=8>V||!H?V:8,wa=ja.createImageData(l.Qc,l.Rc),Ha=0;256>Ha;Ha++){for(Ba=
|
||||
0;Ba<V;Ba++)for(var Ud=l.Af&&F&1&&Ba>=V-2,Qc=P[Ba<Vb?E+Ha*Vb+Ba:H+Ha*Vb+Ba-Vb],Vd=0;Vd<=v;Vd++)for(Xa=0;Xa<L;Xa++){var Je=Xa<<v,Wd=(Ba<<v)+Vd,Ke=Ud||Qc&128>>(8<=Xa&&192<=Ha&&223>=Ha?7:Xa)?z:bb;Cn(wa,Je,Wd,Ke);v&&Cn(wa,Je+1,Wd,Ke)}ja.putImageData(wa,(Ha&15)*l.Qc,(Ha>>4)*l.Rc)}l.Pe[F]="#"+r(z[0],2)+r(z[1],2)+r(z[2],2);l.ti[F]=z;l.Tg[F]=ia;l=!0}}a.Oa[b]=q;return l}function $n(a){0<a.Pa||0<=a.ua?0>a.cb&&(a.cb=0):a.cb=-1}
|
||||
0;Ba<V;Ba++)for(var Vd=l.Af&&F&1&&Ba>=V-2,Qc=P[Ba<Vb?E+Ha*Vb+Ba:H+Ha*Vb+Ba-Vb],Wd=0;Wd<=v;Wd++)for(Xa=0;Xa<L;Xa++){var Je=Xa<<v,Xd=(Ba<<v)+Wd,Ke=Vd||Qc&128>>(8<=Xa&&192<=Ha&&223>=Ha?7:Xa)?z:bb;Cn(wa,Je,Xd,Ke);v&&Cn(wa,Je+1,Xd,Ke)}ja.putImageData(wa,(Ha&15)*l.Qc,(Ha>>4)*l.Rc)}l.Pe[F]="#"+r(z[0],2)+r(z[1],2)+r(z[2],2);l.ti[F]=z;l.Tg[F]=ia;l=!0}}a.Oa[b]=q;return l}function $n(a){0<a.Pa||0<=a.ua?0>a.cb&&(a.cb=0):a.cb=-1}
|
||||
function yn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.mb[b])return;var c=a.C.mb[10],b=c&31,d=a.C.mb[11]&31,e=a.C.mb[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)ao(a);else{c=a.C.mb[15]+((a.C.mb[14]&63)<<8);a.ua!=c&&(ao(a),a.ua=c);d=d-b+1;if(a.jg!=b||a.Ce!=d)a.jg=b,a.Ce=d;a.$a=e+1;$n(a)}}}
|
||||
function ao(a){if(0<=a.ua){if(void 0!==a.ga){var b=a.ga[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.L,d=a.ua/a.L|0;a.U&&a.Oa[a.U]&&(a.gb&&bo(a,c,d,b,a.gb),bo(a,c,d,b));a.ga[a.ua]=b}}a.ua=-1}}
|
||||
function co(a){var b,c=a.C;a.hf=!1;var d=c.be[5];if(null!=d){b=1024;var e=0,f=c.be[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.dd=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.Ua==dm&&(e=3,c.dd=f&7)}d&8&&(b=1280);c=c.Ke[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.hf=!0));b|=e}return b}
|
||||
|
|
@ -543,13 +543,13 @@ var hn={948:Z.prototype.Hl,949:Z.prototype.Gl,952:Z.prototype.Il,954:Z.prototype
|
|||
Qa(function(){for(var a=nb(document,"pcx86","video"),b=0;b<a.length;b++){var c=a[b],d=jb(c),e=document.createElement("canvas");if(void 0===e||!e.getContext){c.innerHTML="<br/>Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ya().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height=
|
||||
(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ya.aspect);f&&.3<=f&&3.33>=f&&(Pa("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Ga("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);mb(d,c)}});
|
||||
function no(a){this.W=a.adapter;switch(this.W){case 1:this.V=956;this.C=7;break;case 2:this.V=888;this.C=7;break;case 3:this.V=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.W);return}this.A=this.B=null;Ua.call(this,"ParallelPort",a,no,4194304);a=a.binding;"console"==a?this.B="":kb(this,a,oo)}db(no);var oo="buffer";m=no.prototype;m.Pb=function(a,b,c){switch(b){case oo:return this.qa[b]=this.A=c,!0}return!1};
|
||||
m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet");ic(b,this,po,this.V);mc(b,this,qo,this.V);rb(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){ro(this)};m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Cf;N(a,0,c);return a.data()};m.restore=function(a){return ro(this,a[0])};
|
||||
m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Db(a,"ChipSet");ic(b,this,po,this.V);mc(b,this,qo,this.V);rb(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){ro(this)};m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Cf;N(a,0,c);return a.data()};m.restore=function(a){return ro(this,a[0])};
|
||||
function ro(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.L=b[c++];a.Yb=b[c++];a.Cf=b[c];return!0}m.ul=function(a,b){var c=this.L;x(this,a,null,b,"DATA",c);return c};m.Sl=function(a,b){var c=this.Yb;x(this,a,null,b,"STAT",c);return c};m.ql=function(a,b){var c=this.Cf;x(this,a,null,b,"CTRL",c);return c};
|
||||
m.Om=function(a,b,c){x(this,a,b,c,"DATA");this.L=b;this.Yb|=64;if(this.A)8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0;else if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}else a=!1;a&&(this.Yb&=-65);so(this)};m.Jm=function(a,b,c){x(this,a,b,c,"CTRL");this.Cf=b;so(this)};function so(a){a.N&&a.C&&(a.Cf&16&&!(a.Yb&64)?eg(a.N,a.C):dg(a.N,a.C))}
|
||||
var po={0:no.prototype.ul,1:no.prototype.Sl,2:no.prototype.ql},qo={0:no.prototype.Om,2:no.prototype.Jm};Qa(function(){for(var a=nb(document,"pcx86","parallel"),b=0;b<a.length;b++){var c=a[b],d=jb(c),d=new no(d);mb(d,c)}});
|
||||
function to(a){this.ra=a.adapter;switch(this.ra){case 1:this.ka=1016;this.fa=4;break;case 2:this.ka=760;this.fa=3;break;default:w("Unrecognized serial adapter #"+this.ra);return}this.V=this.U=null;this.Ca=a.tabSize;this.ya=a.charBOL;this.X=0;Ua.call(this,"SerialPort",a,to,8388608);a=a.binding;"console"==a?this.U="":kb(this,a,uo)}db(to);var uo="buffer";m=to.prototype;m.xi=function(a,b){return a==this.Rd?(this.W=b,this):null};
|
||||
m.Pb=function(a,b,c){var d=this;switch(b){case uo:return this.qa[b]=this.V=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),vo(d,[b]);return!0},c.onkeypress=function(a){a=a||window.event;vo(d,[a.which||a.keyCode]);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
|
||||
m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet");ic(b,this,wo,this.ka);mc(b,this,xo,this.ka);rb(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){yo(this)};
|
||||
m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Db(a,"ChipSet");ic(b,this,wo,this.ka);mc(b,this,xo,this.ka);rb(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){yo(this)};
|
||||
m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.pa;c[b++]=this.wa;c[b++]=this.aa;c[b++]=this.ia;c[b++]=this.L;c[b++]=this.B;c[b++]=this.C;c[b++]=this.A;c[b++]=this.ua;c[b]=this.ga;N(a,0,c);return a.data()};m.restore=function(a){return yo(this,a[0])};function yo(a,b){var c=0;void 0===b&&(b=[0,0,384,0,1,0,0,96,48,[]]);a.pa=b[c++];a.wa=b[c++];a.aa=b[c++];a.ia=b[c++];a.L=b[c++];a.B=b[c++];a.C=b[c++];a.A=b[c++];a.ua=b[c++];a.ga=b[c];return!0}function vo(a,b){a.ga=a.ga.concat(b);zo(a)}
|
||||
function zo(a){0<a.ga.length&&!(a.A&1)&&(a.pa=a.ga.shift(),a.A|=1);var b=-1;a.A&1&&a.ia&1&&(b=4);0<=b?(a.L&=-8,a.L|=b,a.N&&a.fa&&eg(a.N,a.fa,100)):(a.L|=1,a.N&&a.fa&&dg(a.N,a.fa))}m.Pl=function(a,b){var c=this.B&128?this.aa&255:this.pa;x(this,a,null,b,this.B&128?"DLL":"RBR",c);this.A&=-2;zo(this);return c};m.Bl=function(a,b){var c=this.B&128?this.aa>>8:this.ia;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.Cl=function(a,b){var c=this.L;x(this,a,null,b,"IIR",c);return c};
|
||||
m.Dl=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};m.Fl=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};m.El=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};m.Kl=function(a,b){var c=this.ua;x(this,a,null,b,"MSR",c);return c};
|
||||
|
|
@ -557,7 +557,7 @@ m.mn=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.aa=
|
|||
"";10!=b&&(this.U+=String.fromCharCode(b));b=!0}else b=!1;b&&(this.A|=96)}};m.Ym=function(a,b,c){x(this,a,b,c,this.B&128?"DLM":"IER");this.B&128?this.aa=this.aa&255|b<<8:this.ia=b};m.Zm=function(a,b,c){x(this,a,b,c,"LCR");this.B=b};
|
||||
m.$m=function(a,b,c){var d=this.C;x(this,a,b,c,"MCR");this.C=b;this.W&&(d^b)&3&&(a=this.W,b=this.C,(c=3==(b&3))?a.Hc||(d=!1,a.C&2||(a.reset(),y(a,"serial mouse reset"),d=!0),a.C&1||(y(a,"serial mouse ID requested"),d=!0),d&&(vo(a.N,[77,77]),y(a,"serial mouse ID sent")),Ao(a),a.Hc=c):a.Hc&&(y(a,"serial mouse inactive"),Bo(a),a.Hc=c),a.C=b)};
|
||||
var wo={0:to.prototype.Pl,1:to.prototype.Bl,2:to.prototype.Cl,3:to.prototype.Dl,4:to.prototype.Fl,5:to.prototype.El,6:to.prototype.Kl},xo={0:to.prototype.mn,1:to.prototype.Ym,3:to.prototype.Zm,4:to.prototype.$m};Qa(function(){for(var a=nb(document,"pcx86","serial"),b=0;b<a.length;b++){var c=a[b],d=jb(c),d=new to(d);mb(d,c)}});function Co(a){Ua.call(this,"Mouse",a,Co,16777216);if(this.ka=a.serial)this.pa="SerialPort";this.ia=this.ga=this.Hc=!1;this.B=[];this.A=[];rb(this)}db(Co);var tn=0;m=Co.prototype;
|
||||
m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;for(b=null;b=Eb(a,"Video",b);)this.B.push(b)};m.ic=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.pa&&!this.N){for(var c=null;(c=Eb(this.V,this.pa,c))&&(!c.xi||!(this.N=c.xi(this.ka,this))););if(this.N)for(this.A=[],c=0;c<this.B.length;c++){var d;d=this.B[c];d.W=this;(d=d.V)&&this.A.push(d)}else w(this.id+": "+this.pa+" "+this.ka+" unavailable")}this.Hc?Ao(this):Bo(this)}return!0};
|
||||
m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;for(b=null;b=Db(a,"Video",b);)this.B.push(b)};m.ic=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.pa&&!this.N){for(var c=null;(c=Db(this.V,this.pa,c))&&(!c.xi||!(this.N=c.xi(this.ka,this))););if(this.N)for(this.A=[],c=0;c<this.B.length;c++){var d;d=this.B[c];d.W=this;(d=d.V)&&this.A.push(d)}else w(this.id+": "+this.pa+" "+this.ka+" unavailable")}this.Hc?Ao(this):Bo(this)}return!0};
|
||||
m.hc=function(a){return a?this.save():!0};m.reset=function(){Do(this)};m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.Hc;c[b++]=this.L;c[b++]=this.W;c[b++]=this.U;c[b++]=this.X;c[b++]=this.aa;c[b++]=this.fa;c[b]=this.C;N(a,0,c);return a.data()};m.restore=function(a){return Do(this,a[0])};function Do(a,b){var c=0;void 0===b&&(b=[!1,-1,-1,0,0,!1,!1,0]);var d=b[c++];a.Hc=d;a.L=b[c++];a.W=b[c++];a.U=b[c++];a.X=b[c++];a.aa=b[c++];a.fa=b[c++];a.C=b[c];return!0}m.Wf=function(a){this.ga=a};
|
||||
function Ao(a){if(!a.ia)for(var b=0;b<a.A.length;b++)Eo(a,a.A[b])&&(a.ia=!0)}function Bo(a){if(a.ia)for(var b=0;b<a.A.length;b++){var c=a.A[b];c&&(c.style.cursor="auto")}}function Eo(a,b){return b?(b.addEventListener("mousemove",function(b){Fo(a,b)},!1),b.addEventListener("mousedown",function(b){Fo(a,b,!0)},!1),b.addEventListener("mouseup",function(b){Fo(a,b,!1)},!1),b.style.cursor="none",!0):!1}
|
||||
function Fo(a,b,c){if(void 0!==c){var d;!(d=!1!==a.ga)&&(d=a.B.length)&&(d=a.B[0],d=d.ri?d.De(!0):!1);d||(a.ga=null);a.je(b.button,c)}else{if(0>a.L||0>a.W)a.L=b.clientX,a.W=b.clientY;a.ga?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.W);a.L=b.clientX;a.W=b.clientY;a.If(c,d,a.L,a.W)}}
|
||||
|
|
@ -598,7 +598,7 @@ var sp={3:{Wd:3,ie:0,name:aa.$n},4:{Wd:2,ie:1,name:aa.Yn},5:{Wd:9,ie:7,name:aa.j
|
|||
m.Pb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.ga){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.ga?a.text.localeCompare(b.text):a.value.localeCompare(b.value)});for(a=0;a<b.length;a++)c.options[a]=b[a]}c.onchange=function(){var a=d.qa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){w("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=
|
||||
g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&tp(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&up(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&(a=ca(a.value,10),(a=
|
||||
d.A[a])?(a=a.za)?(a=Ia(pp(a),"octet-stream",!0,a.Og.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(!this.ia){c.parentNode.removeChild(c);break}this.qa[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;up(d,fa(b,!0),b,a)}return!1};return!0}return!1};
|
||||
m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.N=Eb(a,"ChipSet");if((this.U=Nc(this.V,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}vp(this);ic(b,this,wp);mc(b,this,xp);yp(this,"None","",!0);this.ia&&yp(this,"Local Disk","?");yp(this,"Remote Disk","??");zp(this)||rb(this)};
|
||||
m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.N=Db(a,"ChipSet");if((this.U=Nc(this.V,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}vp(this);ic(b,this,wp);mc(b,this,xp);yp(this,"None","",!0);this.ia&&yp(this,"Local Disk","?");yp(this,"Remote Disk","??");zp(this)||rb(this)};
|
||||
m.ic=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.V.eh){this.B=[];for(var c=0;c<this.A.length;c++)Ap(this,c,!0);zp(this,!0)}}else if(!this.restore(a))return!1;if(c=this.qa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.value="";for(var d=0;d<this.ka;d++){var e=document.createElement("option");e.value=d;e.text=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.ka&&(c.value="0",tp(this,0))}}return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){vp(this)};
|
||||
m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.hb;c[b++]=0;c[b++]=this.ma;c[b++]=this.W;c[b++]=this.L;c[b++]=this.C;c[b++]=this.aa;for(var d=b++,e=0,f=[],g=0;g<this.A.length;g++){var h=e++,k=this.A[g],l=0,n=[];n[l++]=k.Cb;n[l++]=[k.name,k.Bb,k.ub,k.lb,k.Va,k.cf,k.Ag,k.Of,k.Pf];n[l++]=k.kb;n[l++]=k.ge+100;n[l++]=k.Qb;n[l++]=k.xb;n[l++]=k.he;n[l++]=k.Ib;n[l++]=k.eb;n[l++]=k.af;n[l++]=k.lk;n[l]=k.Me;f[h]=n}c[d]=f;d=b++;for(e=0;e<this.A.length;e++)f=this.A[e],f.za&&Bp(this,f.Me,f.za);c[d]=
|
||||
this.B;c[b++]=this.X;c[b]=this.jc;N(a,0,c);return a.data()};m.restore=function(a){return vp(this,a[0])};
|
||||
|
|
@ -625,7 +625,7 @@ Qa(function(){for(var a=nb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b
|
|||
var Lp=["XTC","ATC","COMPAQ"],Mp=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,6],19:[1023,
|
||||
8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}];m=Kp.prototype;
|
||||
m.Pb=function(a,b,c){var d=this;switch(b){case "saveHD0":case "saveHD1":return this.qa[b]=c,c.onclick=function(a){return function(){var b=d.A&&d.A[a];b&&b.za?(b=b.za,b=Ia(pp(b),"octet-stream",!0,b.Og.replace(".json",".img")),w(b)):d.Na("Hard drive "+a+" is not available.")}}(+b.slice(-1)),!0}return!1};
|
||||
m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;if(d=Nc(a,"drives"))this.ua=d;else if(this.Fa)try{this.ua=eval("("+this.Fa+")")}catch(e){w("HDC drive configuration error: "+e.message+" ("+this.Fa+")")}this.N=Eb(a,"ChipSet");this.U=0;this.Ia=3;ic(b,this,this.ia?Np:Op);mc(b,this,this.ia?Pp:Qp);this.ia&&(this.U++,this.N&&5180==this.N.ja&&this.U++,this.Ia=2,b.aa[496]=2,b.fa[496]=2);Te(c,19,this.$l.bind(this));Te(c,64,this.am.bind(this));this.reset();Rp(this)||rb(this)};
|
||||
m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;if(d=Nc(a,"drives"))this.ua=d;else if(this.Fa)try{this.ua=eval("("+this.Fa+")")}catch(e){w("HDC drive configuration error: "+e.message+" ("+this.Fa+")")}this.N=Db(a,"ChipSet");this.U=0;this.Ia=3;ic(b,this,this.ia?Np:Op);mc(b,this,this.ia?Pp:Qp);this.ia&&(this.U++,this.N&&5180==this.N.ja&&this.U++,this.Ia=2,b.aa[496]=2,b.fa[496]=2);Te(c,19,this.$l.bind(this));Te(c,64,this.am.bind(this));this.reset();Rp(this)||rb(this)};
|
||||
m.ic=function(a,b){if(!b)if(!a||!this.restore)Sp(this),this.V.eh&&Rp(this,!0);else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.gf=function(){return this.V?this.V.gf():""};m.ke=function(){return this.V?this.V.ke():""};m.reset=function(){Sp(this,null,!0)};
|
||||
m.save=function(){var a=new hf(this),b=0,c=[];this.ia?(c[b++]=this.X,c[b++]=this.Pa,c[b++]=this.aa,c[b++]=this.Ca,c[b++]=this.ya,c[b++]=this.wa,c[b++]=this.ra,c[b++]=this.ma,c[b++]=this.Ea,c[b++]=[this.ga,this.hb]):(c[b++]=this.pa,c[b++]=this.ma,c[b++]=this.W,c[b++]=this.L,c[b++]=this.C,c[b++]=this.Oa,c[b++]=this.Ka,c[b++]=this.Ja,c[b++]=this.ka);for(var d=0,e=[],f=0;f<this.A.length;f++){var g=d++,h=this.A[f],k=0,l=[];l[k++]=h.errorCode;l[k++]=h.nk;l[k++]=h.cf;l[k++]=h.Re;l[k++]=h.Se;l[k++]=h.kb;
|
||||
l[k++]=h.ub;l[k++]=h.ee;l[k++]=h.xb;l[k++]=h.he;l[k++]=h.Ib;l[k++]=h.eb;l[k]=h.za?h.za.save():null;e[g]=l}c[b]=e;N(a,0,c);return a.data()};m.restore=function(a){return Sp(this,a[0])};
|
||||
|
|
@ -676,7 +676,7 @@ bus:64,mem:128,port:256,dma:512,pic:1024,timer:2048,cmos:4096,rtc:8192,8042:1638
|
|||
[116,12417,4113],[109,12417,4113],[110,12417,4113],[140,12417,4113],[142,12417,4113],wq,[119,12417,4113]],[[115,12420,4113],[116,12420,4113],[109,12420,4113],[110,12420,4113],[140,12420,4113],[142,12420,4113],wq,[119,12420,4113]],[[115,12417,4449],[116,12417,4449],[109,12417,4449],[110,12417,4449],[140,12417,4449],[142,12417,4449],wq,[119,12417,4449]],[[115,12420,4449],[116,12420,4449],[109,12420,4449],[110,12420,4449],[140,12420,4449],[142,12420,4449],wq,[119,12420,4449]],[[155,4225,4097],wq,[98,
|
||||
12417],[96,12417],[95,4225],[42,12417],[32,4225],[41,12417]],[[155,4228,4100],wq,[98,12420],[96,12420],[95,4228],[42,12420],[32,4228],[41,12420]],[[44,12417],[31,12417],wq,wq,wq,wq,wq,wq],[[44,12420],[31,12420],[17,4228],[17,4231],[57,4228],[57,4231],[108,4228],wq],[],[[145,41091],[153,41091],[78,36995],[89,36995],[156,36995],[157,36995],wq,wq],[[139,41091],[144,41091],[75,36995],[77,36995],[146,41091],wq,[79,36995],wq],[wq,wq,wq,wq,[13,53380,4097],[16,57476,4097],[15,57476,4097],[14,57476,4097]]];
|
||||
m=gq.prototype;
|
||||
m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.V=a;this.tc=Eb(a,"FDC");this.Jb=Eb(a,"HDC");this.Tb=Eb(a,"FPU");this.W=Eb(a,"Mouse");(a=Nc(a,"messages"))&&kq(this,a);this.Ca=b.N>>2;this.Ba=b.yg;this.bc=new dd(this.F,7,"DBG");this.Ia=yq;80186<=this.F.ja&&(this.Ia=yq.slice(),this.Ia[15]=wq,80286<=this.F.ja&&(this.Ia[15]=xq,80386<=this.F.ja&&(this.Ja=8)));Mk(this,64,function(a){Cq(d,d.F.ld,a[0])});Mk(this,4,function(a){if(a=a[0]){var b=Dq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Eq(d,
|
||||
m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.V=a;this.tc=Db(a,"FDC");this.Jb=Db(a,"HDC");this.Tb=Db(a,"FPU");this.W=Db(a,"Mouse");(a=Nc(a,"messages"))&&kq(this,a);this.Ca=b.N>>2;this.Ba=b.yg;this.bc=new dd(this.F,7,"DBG");this.Ia=yq;80186<=this.F.ja&&(this.Ia=yq.slice(),this.Ia[15]=wq,80286<=this.F.ja&&(this.Ia[15]=xq,80386<=this.F.ja&&(this.Ja=8)));Mk(this,64,function(a){Cq(d,d.F.ld,a[0])});Mk(this,4,function(a){if(a=a[0]){var b=Dq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Eq(d,
|
||||
b,2),d.O("dumpSel("+u(a?a.Z:b)+"): %"+r(a?a.Xb:null,d.Ca)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=Fq[a.type];h&&(c=h[0],b=h[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+u(a.Aa&65535)+" off="+u(a.Ta):"base="+r(a.Aa,d.Ca)+" limit="+Gq(a.Ta))+" type="+t(a.type>>8)+" ("+c+") ext="+u(a.ext&-65296)+
|
||||
" dpl="+t(a.Gc))}}else d.O("no selector")});Mk(this,134217728,function(a){var b;(a=a[0])&&(b=Dq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+u(b)+")");b;){a=hq(d,0,b);var c=d.Qa(a,1),h=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Hq(0,b)+": '"+String.fromCharCode(c)+"' PID="+u(h)+" LEN="+u(k)+' "'+Iq(d,a,8)+'"');b+=1+k}});Mk(this,128,function(a){Cq(d,d.F.sa,a[0],d.F.sa!==d.F.ld)});Mk(this,8,function(a){a:{if(a=a[0]){var b=Dq(d,a);if(void 0===b){d.O("invalid task selector: "+a);
|
||||
break a}a=Eq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+u(a?a.Z:b)+"): %"+r(a?a.Aa:null,d.Ca));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?Jq:Kq,l,n,q,p;for(p in k)l=k[p],n=a.Aa+l,q=If(d.F,n,2),2304==c&&(q|=If(d.F,n+2,2)<<16),b&&(b+="\n"),b+=u(l)+" "+ma(p+":",11)+r(q,h);if(2304==c)for(p=0,l=q>>>16;l<a.Zb&&1023>p;)n=a.Aa+l,q=If(d.F,n,2),b+="\n"+u(l)+" ports "+u(p)+"-"+u(p+15)+": "+ea(q,2),p+=16,l+=2;d.O(b)}}});this.C=null;this.rb=0;this.cb=!1;Te(this.F,48,this.cm.bind(this));Te(this.F,65,this.dm.bind(this));
|
||||
|
|
@ -701,7 +701,7 @@ function Cq(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.dc(Yq(a,c));if(-1===e){a.O
|
|||
wc&&5!=c&&(c=-1),h=0),e+=a.F.Sb,f++}function cr(a,b,c){a=r(a)+" "+r(b)+" ";a=a+(c&&b&64?"D":"-")+(b&32?"A":"-");a+=b&4?"U":"S";a+=b&2?"W":"R";return a+=b&1?"P":"N"}
|
||||
var Fq={256:["tss286",!1],512:["ldt",!1],768:["busy tss286",!1],1024:["call gate",!0],1280:["task gate",!0],1536:["int gate286",!0],1792:["trap gate286",!0],2304:["tss386",!1],2816:["busy tss386",!1],3072:["call gate386",!0],3584:["int gate386",!0],3840:["trap gate386",!0]},Jq={PREV_TSS:0,CPL0_SP:2,CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,
|
||||
TASK_LDT:42},Kq={PREV_TSS:0,CPL0_ESP:4,CPL0_SS:8,CPL1_ESP:12,CPL1_SS:16,CPL2_ESP:20,CPL2_SS:24,TASK_CR3:28,TASK_EIP:32,TASK_PS:36,TASK_EAX:40,TASK_ECX:44,TASK_EDX:48,TASK_EBX:52,TASK_ESP:56,TASK_EBP:60,TASK_ESI:64,TASK_EDI:68,TASK_ES:72,TASK_CS:76,TASK_SS:80,TASK_DS:84,TASK_FS:88,TASK_GS:92,TASK_LDT:96,TASK_IOPM:100};
|
||||
function Mq(a,b,c){var d=[],e;for(e=null;e=Eb(a.V,"Disk",e);){var f=e,g=b,h=c,d=[];if(f.C)for(var k=0;k<f.C.length;k++){var l=f.C[k];if(l.gg==g&&(l=l.zd[h])){for(var n in l.we)f=l.we[n],d[f[1]]=f[0];break}}if(d.length)break}return d}function kq(a,b){a.ha=a;a.wc=a.Hk=1073741824;a.Pa=null;var c=br(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in vq)0<=ua(c,d)&&(a.wc|=vq[d],a.O(d+" messages enabled"));jq(a)}
|
||||
function Mq(a,b,c){var d=[],e;for(e=null;e=Db(a.V,"Disk",e);){var f=e,g=b,h=c,d=[];if(f.C)for(var k=0;k<f.C.length;k++){var l=f.C[k];if(l.gg==g&&(l=l.zd[h])){for(var n in l.we)f=l.we[n],d[f[1]]=f[0];break}}if(d.length)break}return d}function kq(a,b){a.ha=a;a.wc=a.Hk=1073741824;a.Pa=null;var c=br(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in vq)0<=ua(c,d)&&(a.wc|=vq[d],a.O(d+" messages enabled"));jq(a)}
|
||||
function Mk(a,b,c){for(var d in vq)if(b==vq[d]){a.$a[d]=c;break}}function dr(a,b){var c;a=a.toUpperCase();null==b?c=ua(tq,a):(c=ua(tq,a.substr(b,3)),0>c&&(c=ua(tq,a.substr(b,2))));return c}
|
||||
function er(a,b){var c=0,d=fr(a,b);if(void 0!==d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"}
|
||||
function fr(a,b){var c;if(0<=b){var d=a.F;switch(b){case 0:c=d.G&255;break;case 1:c=d.I&255;break;case 2:c=d.M&255;break;case 3:c=d.H&255;break;case 4:c=d.G>>8&255;break;case 5:c=d.I>>8&255;break;case 6:c=d.M>>8&255;break;case 7:c=d.H>>8&255;break;case 8:c=d.G&65535;break;case 9:c=d.I&65535;break;case 10:c=d.M&65535;break;case 11:c=d.H&65535;break;case 12:c=I(d)&65535;break;case 13:c=d.P&65535;break;case 14:c=d.K&65535;break;case 15:c=d.J&65535;break;case 22:c=K(d)&65535;break;case 23:c=wd(d);break;
|
||||
|
|
@ -760,50 +760,51 @@ Yq(a,g[1],!0);if(q)if(a.ua=q,void 0===g[2])a.O("begin assemble at "+Rq(q)),a.Ea=
|
|||
a.O("\tbc [a]\tclear breakpoint at addr [a]"),a.O("\tbl\tlist all breakpoints"),a.O("\tbn [n]\tbreak after [n] instruction(s)");else{var H=F.charAt(1);if("l"==H){var L=0,L=L+or(a,a.A),L=L+or(a,a.ra);(L+=or(a,a.ga))||a.O("no breakpoints")}else if("n"==H)a.Oa=Dq(a,v),a.O("break after "+a.Oa+" instruction(s)");else if(void 0===v)a.O("missing breakpoint address");else{var V={};if("*"!=v&&(V=Yq(a,v,!0,!0),!V))break a;v=null==V.Ra?v:u(V.Ra);"c"==H?null==V.Ra?(iq(a),a.O("all breakpoints cleared")):Qq(a,
|
||||
a.A,V)||Qq(a,a.ra,V)||Qq(a,a.ga,V)||a.O("breakpoint missing: "+Rq(V)):"i"==H?a.O("breakpoint "+(hc(a.ea,V.Ra)?"enabled":"cleared")+": port "+v+" (input)"):"o"==H?a.O("breakpoint "+(lc(a.ea,V.Ra)?"enabled":"cleared")+": port "+v+" (output)"):null!=V.Ra&&(ar(a,V,E),"p"==H?a.Td(a.A,V):"r"==H?a.Td(a.ra,V):"w"==H?a.Td(a.ga,V):a.O("unknown breakpoint command: "+H))}}}break;case "c":Er(a);break;case "d":a:{var P=g,bb,ia=P[0],ja=P[1],Ha=P[2],Xa=P[3];if("?"==ja){var Ba="";for(bb in vq)a.$a[bb]&&(Ba&&(Ba+=
|
||||
","),Ba+=bb);Ba+=",state,symbols";a.O("dump memory commands:");a.O("\tdb [a] [#] dump # bytes at address a");a.O("\tdw [a] [#] dump # words at address a");a.O("\tdd [a] [#] dump # dwords at address a");a.O("\tdh [#] [#] dump # instructions from history");a.O("\tdi [#] dump descriptor info for IDT #");a.O("\tds [#] dump descriptor info for selector #");Ba.length&&a.O("dump extension commands:\n\t"+Ba)}else if("state"==ja){var Vb=Mr(a.V,!0);"console"==Ha?console.log(Vb):(Er(a),
|
||||
a.O(Vb))}else if("symbols"==ja)for(var wa=0;wa<a.B.length;wa++){var Ud=a.B[wa],Qc;for(Qc in Ud.Sd)if("."!=Qc.charAt(0)){var Vd=Ud.Sd[Qc],Je=Vd.o;if(void 0!==Je){var Wd=Vd.s;void 0===Wd&&(Wd=Ud.Z);var Ke=Ud.Sd[Qc].l;Ke&&(Qc=Ke);a.O(Hq(Je,Wd)+" "+Qc)}}}else{if("ds"==ia||"dg"==ia||"dl"==ia)ia="d",P=[ia,"desc",ja];"d"==ia&&"page"==ja&&(ia="dp",P.shift());if("dp"==ia){P.shift();var ki=P[0];if(ki){var Ue=a.dc(Yq(a,ki));if(-1===Ue)a.O("invalid address: "+ki);else{var ae,Da=null;if(80386<=a.F.ja){var be=
|
||||
a.ea,Da={};Da.ck=(Ue&-4194304)>>>20;Da.vi=a.F.Pd+Da.ck;Da.yb=be.sa[(Da.vi&be.Hb)>>>be.La];Da.Vi=Da.yb.Nd(Da.ck);Da.dk=(Ue&4190208)>>>10;Da.wi=(Da.Vi&-4096)+Da.dk;Da.zb=be.sa[(Da.wi&be.Hb)>>>be.La];Da.Wi=Da.zb.Nd(Da.dk);Da.Gk=(Da.Wi&-4096)+(Ue&4095)}if(ae=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var pd="%"+r(Ue),pd=pd+(" %%"+cr(ae.vi,ae.Vi)),pd=pd+(" %%"+cr(ae.wi,ae.Wi,!0)),
|
||||
pd=pd+(" %%"+r(ae.Gk));a.O(pd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Ir(a,P);break a}for(bb in vq)if(P[1]==bb){var Dn=a.$a[bb];Dn?(P.shift(),P.shift(),Dn(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var En=ja,Fn=Ha,Gn="",Hn=0,tb=a.Fa,sc=a.ia;if(sc.length){var Db=+En||a.Ub,ce=+Fn||10;isNaN(Db)?Db=ce:Gn="more ";Db>sc.length&&(a.O("note: only "+sc.length+" available"),Db=sc.length);
|
||||
tb-=Db;0>tb&&(null==sc[sc.length-1].Z?(Db=tb+Db,tb=0):tb+=sc.length);var li=[];"call"==Fn&&(ce=1E5,li=["CALL"]);for(void 0!==En&&a.O(Db+" instructions earlier:");0<ce&&tb!=a.Fa;){var qd=sc[tb++];if(null==qd.Z)break;var Ve=hq(a,qd.Ra,qd.Z,qd.Da,qd.type,qd.Rb,qd.oc),fs=Db--,In=qr(a,Ve,"history",fs);(!li.length||0<=In.indexOf(li[0]))&&a.O(In);Ve.Te&&(tb+=Ve.Te,ce-=Ve.Te,Db-=Ve.Te);tb>=sc.length&&(tb=0);a.Ub=Db;Hn++;ce--}}Hn||(a.O("no "+Gn+"history available"),a.Ub=void 0)}else if("di"==ia){P.shift();
|
||||
var mi=P[0];if(mi){var We=Dq(a,mi);if(void 0===We||0>We||255<We)a.O("invalid vector: "+mi);else{var Jn="&",Kn=!!(a.F.Za&1),Ln=!1,pg=a.F.Mc+(We<<(Kn?3:2)),ni=a.F.na(pg+0),gs=a.F.na(pg+2);Kn&&(Jn="#",a.F.na(pg+4)&2048&&(Ln=!0,ni|=a.F.na(pg+6)<<16));a.O("dumpIDT("+u(We)+"): "+Jn+r(gs,4)+":"+r(ni,Ln?8:4))}}else a.O("no IDT vector")}else if("dt"==ia)P.shift(),a.O("no information");else{var de=Yq(a,ja);if(de&&(null!=de.Z||null!=de.Da)){var qg=0;Ha&&("l"==Ha.charAt(0)&&(Ha=Ha.substr(1)||Xa),qg=Dq(a,Ha)>>>
|
||||
0,65536<qg&&(qg=65536));for(var rd="",rg="dd"==ia?4:"dw"==ia?2:1,sg=rg*qg||128,hs=sg+15>>4||1;hs--&&0<sg;){var tg=0,oi=0,Xe,Ye="",pi="",ja=Rq(de);for(Xe=16;0<Xe&&0<sg;Xe--){var ug=a.Qa(de,1),tg=tg|ug<<(oi++<<3);oi==rg&&(Ye+=r(tg,2*rg),Ye+=1==rg?9==Xe?"-":" ":" ",tg=oi=0);pi+=32<=ug&&128>ug?String.fromCharCode(ug):".";sg--}rd&&(rd+="\n");rd+=ja+" "+Ye+(0==Xe?" "+pi:"")}rd&&a.O(rd);a.Db=de}}}}}break;case "e":if("else"==g[0])break;var vg=1,Mn=255,Nn=a.Qa,On=a.qc;"ew"==g[0]&&(vg=2,Mn=65535,Nn=a.na,
|
||||
a.O(Vb))}else if("symbols"==ja)for(var wa=0;wa<a.B.length;wa++){var Vd=a.B[wa],Qc;for(Qc in Vd.Sd)if("."!=Qc.charAt(0)){var Wd=Vd.Sd[Qc],Je=Wd.o;if(void 0!==Je){var Xd=Wd.s;void 0===Xd&&(Xd=Vd.Z);var Ke=Vd.Sd[Qc].l;Ke&&(Qc=Ke);a.O(Hq(Je,Xd)+" "+Qc)}}}else{if("ds"==ia||"dg"==ia||"dl"==ia)ia="d",P=[ia,"desc",ja];"d"==ia&&"page"==ja&&(ia="dp",P.shift());if("dp"==ia){P.shift();var ki=P[0];if(ki){var Ue=a.dc(Yq(a,ki));if(-1===Ue)a.O("invalid address: "+ki);else{var be,Da=null;if(80386<=a.F.ja){var ce=
|
||||
a.ea,Da={};Da.ck=(Ue&-4194304)>>>20;Da.vi=a.F.Pd+Da.ck;Da.yb=ce.sa[(Da.vi&ce.Hb)>>>ce.La];Da.Vi=Da.yb.Nd(Da.ck);Da.dk=(Ue&4190208)>>>10;Da.wi=(Da.Vi&-4096)+Da.dk;Da.zb=ce.sa[(Da.wi&ce.Hb)>>>ce.La];Da.Wi=Da.zb.Nd(Da.dk);Da.Gk=(Da.Wi&-4096)+(Ue&4095)}if(be=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var pd="%"+r(Ue),pd=pd+(" %%"+cr(be.vi,be.Vi)),pd=pd+(" %%"+cr(be.wi,be.Wi,!0)),
|
||||
pd=pd+(" %%"+r(be.Gk));a.O(pd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Ir(a,P);break a}for(bb in vq)if(P[1]==bb){var Dn=a.$a[bb];Dn?(P.shift(),P.shift(),Dn(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var En=ja,Fn=Ha,Gn="",Hn=0,tb=a.Fa,sc=a.ia;if(sc.length){var Eb=+En||a.Ub,de=+Fn||10;isNaN(Eb)?Eb=de:Gn="more ";Eb>sc.length&&(a.O("note: only "+sc.length+" available"),Eb=sc.length);
|
||||
tb-=Eb;0>tb&&(null==sc[sc.length-1].Z?(Eb=tb+Eb,tb=0):tb+=sc.length);var li=[];"call"==Fn&&(de=1E5,li=["CALL"]);for(void 0!==En&&a.O(Eb+" instructions earlier:");0<de&&tb!=a.Fa;){var qd=sc[tb++];if(null==qd.Z)break;var Ve=hq(a,qd.Ra,qd.Z,qd.Da,qd.type,qd.Rb,qd.oc),fs=Eb--,In=qr(a,Ve,"history",fs);(!li.length||0<=In.indexOf(li[0]))&&a.O(In);Ve.Te&&(tb+=Ve.Te,de-=Ve.Te,Eb-=Ve.Te);tb>=sc.length&&(tb=0);a.Ub=Eb;Hn++;de--}}Hn||(a.O("no "+Gn+"history available"),a.Ub=void 0)}else if("di"==ia){P.shift();
|
||||
var mi=P[0];if(mi){var We=Dq(a,mi);if(void 0===We||0>We||255<We)a.O("invalid vector: "+mi);else{var Jn="&",Kn=!!(a.F.Za&1),Ln=!1,pg=a.F.Mc+(We<<(Kn?3:2)),ni=a.F.na(pg+0),gs=a.F.na(pg+2);Kn&&(Jn="#",a.F.na(pg+4)&2048&&(Ln=!0,ni|=a.F.na(pg+6)<<16));a.O("dumpIDT("+u(We)+"): "+Jn+r(gs,4)+":"+r(ni,Ln?8:4))}}else a.O("no IDT vector")}else if("dt"==ia)P.shift(),a.O("no information");else{var ee=Yq(a,ja);if(ee&&(null!=ee.Z||null!=ee.Da)){var qg=0;Ha&&("l"==Ha.charAt(0)&&(Ha=Ha.substr(1)||Xa),qg=Dq(a,Ha)>>>
|
||||
0,65536<qg&&(qg=65536));for(var rd="",rg="dd"==ia?4:"dw"==ia?2:1,sg=rg*qg||128,hs=sg+15>>4||1;hs--&&0<sg;){var tg=0,oi=0,Xe,Ye="",pi="",ja=Rq(ee);for(Xe=16;0<Xe&&0<sg;Xe--){var ug=a.Qa(ee,1),tg=tg|ug<<(oi++<<3);oi==rg&&(Ye+=r(tg,2*rg),Ye+=1==rg?9==Xe?"-":" ":" ",tg=oi=0);pi+=32<=ug&&128>ug?String.fromCharCode(ug):".";sg--}rd&&(rd+="\n");rd+=ja+" "+Ye+(0==Xe?" "+pi:"")}rd&&a.O(rd);a.Db=ee}}}}}break;case "e":if("else"==g[0])break;var vg=1,Mn=255,Nn=a.Qa,On=a.qc;"ew"==g[0]&&(vg=2,Mn=65535,Nn=a.na,
|
||||
On=a.jb);var Pn=vg<<1,Qn=g[1];if(null==Qn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var wg=Yq(a,Qn);if(wg)for(var xg=2;xg<g.length;xg++){var Ze=$q(a,g[xg]);if(void 0===Ze){a.O("unrecognized value: "+g[xg]);break}Ze&~Mn&&a.O("warning: "+r(Ze)+" exceeds "+vg+"-byte value");var is=Nn.call(a,wg);a.O("changing "+Rq(wg)+" from 0x"+r(is,Pn)+" to 0x"+r(Ze,Pn));On.call(a,wg,Ze,vg)}}break;case "f":Fr(a,g[1]);break;case "g":a:{var Rn=
|
||||
g[1],js=b;"gt"==g[0]&&(a.cb=!0);if(void 0!==Rn){var qi=Yq(a,Rn,!0);if(!qi)break a;ar(a,qi,js);a.Td(a.A,qi,!0)}a.Le(!0)||c||a.O("cpu busy or unavailable, run command ignored")}break;case "h":a:{var ri;if(a.la.Fb)ri="halting",a.Wb();else{if(qb(a,!0))break a;ri="already halted"}c||a.O(ri)}break;case "i":if("if"==g[0]){var si;var $e=b.substr(2),$e=na($e);$q(a,$e)?(c||a.O("true: "+$e),si=!0):(c||a.O("false: "+$e),si=!1);si||(d=!1);break}if("int"==g[0]){var yg;a:switch(Dq(a,g[1])){case 19:kk(a,19,a.F.Ga,
|
||||
!0);a.ya=a.pa;yg=!0;break a;case 33:kk(a,33,a.F.Ga,!0);a.ya=a.pa;yg=!0;break a;default:yg=!1}yg||(d=!1);break}var ti=g[1];if(ti&&"?"!=ti){var ui=Dq(a,ti);if(void 0!==ui){var ks=jc(a.ea,ui,1);a.O(u(ui)+": "+t(ks))}}else a.O("input commands:"),a.O("\ti [p]\tread port [p]"),a.O("warning: port accesses can affect hardware state");break;case "k":var ls=g[0];if("?"==g[1])a.O("stack trace commands:"),a.O("\tk\tshow frame addresses"),a.O("\tks\tshow symbol information");else{var vi=0,Sn=a.F.va.Z,af=hq(a),
|
||||
Sc=hq(a,I(a.F),a.F.ta.Z);for(a.O("stack trace for "+Rq(Sc));10>vi;){for(var tc=null,ms=256;Sc.Ra>>>0<a.F.Mg>>>0;){af.Ra=a.tb(Sc,!0);if(null==Sc.Da||!ms--)break;af.Z=Sn;if(tc=Kr(a,af))break;af.Z=a.tb(Sc);if(tc=Kr(a,af,!0)){Sn=a.tb(Sc,!0);0<tc.indexOf("INT")&&a.tb(Sc,!0);break}}if(!tc||null==tc)break;var Tn=null;if("ks"==ls){var Un=tc.match(/[0-9A-F]+$/);Un&&(Tn=Hr(a,Un[0]))}tc=ma(tc,50)+" ;"+(Tn||"stack="+Rq(Sc));a.O(tc);vi++}vi||a.O("no return addresses found")}break;case "l":if("ln"==g[0]){Hr(a,
|
||||
g[1],!0);break}Ir(a,g);break;case "m":if("mouse"==g[0]){var wi=g[1],zg=g[2];if(a.W){var Vn=1;"-"==zg.charAt(0)&&(Vn=-1,zg=zg.substr(1));var sd=Dq(a,zg,wi);if(void 0!==sd)switch(sd=sd*Vn|0,wi){case "x":a.W.If(sd,0);break;case "y":a.W.If(0,sd);break;case "click":a.W.je(sd,!0);a.W.je(sd,!1);break;default:a.O("unknown action: "+wi)}}else a.O("no mouse");break}a:{var uc,vc=null,Oa=g[1];"?"==Oa&&(Oa=void 0);if(void 0!==Oa){var td=0;if("all"==Oa)td=1610481663,Oa=null;else if("on"==Oa)vc=!0,Oa=null;else if("off"==
|
||||
Oa)vc=!1,Oa=null;else{"keys"==Oa&&(Oa="key");"kbd"==Oa&&(Oa="keyboard");for(uc in vq)if(Oa==uc){td=vq[uc];vc=!!(a.wc&td);break}if(!td){a.O("unknown message category: "+Oa);break a}}td&&("on"==g[2]?(a.wc|=td,vc=!0):"off"==g[2]&&(a.wc&=~td,vc=!1))}var ns=0,Tc="";for(uc in vq)if(!Oa||Oa==uc){var os=!!(a.wc&vq[uc]);if(null===vc||vc==os)Tc&&(Tc+=","),++ns%10||(Tc+="\n\t"),"key"==uc&&(uc="keys"),Tc+=uc}void 0===Oa&&a.O("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.O((null!==vc?
|
||||
vc?"messages on: ":"messages off: ":"message categories:\n\t")+(Tc||"none"));jq(a)}break;case "o":var xi=g[1],ps=g[2];if(xi&&"?"!=xi){var yi=Dq(a,xi,"port #"),zi=Dq(a,ps);void 0!==yi&&void 0!==zi&&(nc(a.ea,yi,1,zi),a.O(u(yi)+": "+t(zi)))}else a.O("output commands:"),a.O("\to [p] [b]\twrite byte [b] to port [p]"),a.O("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){Jr(a,b.substr(5));break}var Wn="pr"==g[0]?1:0,ee=1+Wn;if(a.N)a.O("step in progress");else{var Ag,
|
||||
Xn=!1,lb=hq(a,K(a.F),a.F.va.Z);do switch(Ag=!1,a.Qa(lb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Tq(a,lb,1);Ag=!0;break;case 204:case 206:a.N=ee;Tq(a,lb,1);break;case 205:case 224:case 225:case 226:a.N=ee;Tq(a,lb,lb.Rb?4:2);break;case 232:a.N=ee;Tq(a,lb,lb.Rb?5:3);break;case 154:a.N=ee;Tq(a,lb,lb.Rb?7:5);break;case 255:var Yn=a.tb(lb)&14591;if(4351==Yn||6399==Yn)a.N=ee,qr(a,lb);break;case 243:case 242:Tq(a,lb,1);Xn=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:Xn&&
|
||||
(a.N=ee,Tq(a,lb,1))}while(Ag);a.N?(a.Td(a.A,lb,!0),a.Le()||(a.V&&a.V.yd(),a.N=0)):Lr(a,Wn?"tr":"t")}break;case "r":if("reset"==b){a.V&&a.V.reset();break}ir(a,g);break;case "t":Lr(a,g[0],g[1]);break;case "u":jr(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Gr(a,b.substr(3))||(d=!1);break}a.O("PCx86 version 1.24.0 ("+a.F.ja+",RELEASE,NOPREFETCH"+(vb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.O(ya());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var bf;void 0!==g[3]&&(bf=+g[3]);switch(g[2]){case "int":a.F.Y.kf=
|
||||
vc?"messages on: ":"messages off: ":"message categories:\n\t")+(Tc||"none"));jq(a)}break;case "o":var xi=g[1],ps=g[2];if(xi&&"?"!=xi){var yi=Dq(a,xi,"port #"),zi=Dq(a,ps);void 0!==yi&&void 0!==zi&&(nc(a.ea,yi,1,zi),a.O(u(yi)+": "+t(zi)))}else a.O("output commands:"),a.O("\to [p] [b]\twrite byte [b] to port [p]"),a.O("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){Jr(a,b.substr(5));break}var Wn="pr"==g[0]?1:0,fe=1+Wn;if(a.N)a.O("step in progress");else{var Ag,
|
||||
Xn=!1,lb=hq(a,K(a.F),a.F.va.Z);do switch(Ag=!1,a.Qa(lb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Tq(a,lb,1);Ag=!0;break;case 204:case 206:a.N=fe;Tq(a,lb,1);break;case 205:case 224:case 225:case 226:a.N=fe;Tq(a,lb,lb.Rb?4:2);break;case 232:a.N=fe;Tq(a,lb,lb.Rb?5:3);break;case 154:a.N=fe;Tq(a,lb,lb.Rb?7:5);break;case 255:var Yn=a.tb(lb)&14591;if(4351==Yn||6399==Yn)a.N=fe,qr(a,lb);break;case 243:case 242:Tq(a,lb,1);Xn=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:Xn&&
|
||||
(a.N=fe,Tq(a,lb,1))}while(Ag);a.N?(a.Td(a.A,lb,!0),a.Le()||(a.V&&a.V.yd(),a.N=0)):Lr(a,Wn?"tr":"t")}break;case "r":if("reset"==b){a.V&&a.V.reset();break}ir(a,g);break;case "t":Lr(a,g[0],g[1]);break;case "u":jr(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Gr(a,b.substr(3))||(d=!1);break}a.O("PCx86 version 1.24.0 ("+a.F.ja+",RELEASE,NOPREFETCH"+(vb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.O(ya());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var bf;void 0!==g[3]&&(bf=+g[3]);switch(g[2]){case "int":a.F.Y.kf=
|
||||
bf;break;case "start":a.F.Y.Kf=bf;break;case "stop":a.F.Y.mf=bf;break;default:a.O("unknown cs option");break a}void 0!==bf&&Pc(a.F);a.O("checksums "+(a.F.la.Ze?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Xc(a.F,+g[2])||a.O("warning: using 1x multiplier, previous target not reached"));a.O("target speed: "+(a.F.Y.Fe.toFixed(2)+"Mhz")+" ("+a.F.Y.Zd+"x)");break;default:a.O("unknown option: "+g[1])}else a.O("execution options:"),a.O("\tcs int #\tset checksum cycle interval to #"),a.O("\tcs start #\tset checksum cycle start count to #"),
|
||||
a.O("\tcs stop #\tset checksum cycle stop count to #"),a.O("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){Jr(a,b.substr(1));break}var cf="commands:",Ai;for(Ai in oq)cf+="\n"+ma(Ai,7)+oq[Ai];Tf(a)||(cf+="\nnote: frequency/history disabled if no exec breakpoints");a.O(cf);break;default:a.O("unknown command: "+b),d=!1}}}catch(Zn){a.O("debugger error: "+(Zn.stack||Zn.message)),d=!1}return d}function lq(a,b,c){b=br(a,b,c);for(var d in b)if(!pr(a,b[d]))return!1;return!0}
|
||||
Qa(function(){for(var a=nb(document,"pcx86","debugger"),b=0;b<a.length;b++){var c=a[b],d=jb(c),d=new gq(d);mb(d,c)}});function hf(a,b,c){this.id=a.id;this.key=Nr(a,b,c);this.ha=a.ha;Or(this,a.hk)}function Nr(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}
|
||||
hf.prototype={constructor:hf,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:Ca()&&(a=Ea(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){Or(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 Or(a,b){a[a.id]={};b&&N(a,"parms",b);a.A=!1}function Pr(a){var b=!0;if(Ca()){var c=JSON.stringify(a[a.id]);Fa(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Qr(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){w(c.message||c),b=!1}return b}function Rr(a,b){return a[a.id][b]||null}function N(a,b,c){try{a[a.id][b]=c}catch(d){}}
|
||||
function Sr(a,b,c){Ua.call(this,"Computer",a,Sr,67108864);this.la.cc=!1;Tr(this,b);this.ga=Nc(this,"autoPower",a);this.N=0;this.ra=a.busWidth||a.buswidth;this.A=Ur;this.aa=null;this.W=this.pa=!1;this.ua=Nc(this,"url")||"";this.ya=(Math.random()+.1).toString(36).substr(2,12);this.B=Vr(this);if(this.F=ib("CPU",this.id)){this.ha=ib("Debugger",this.id);this.L=[];for(b=null;b=Eb(this,"Video",b);)this.L.push(b);this.ea=new Lb({id:this.ve+".bus",busWidth:this.ra},this.F,this.ha);var d,e=gb(this.id);if((this.C=
|
||||
ib("Panel",this.id))&&this.C.Ef)for(b=0;b<e.length;b++)d=e[b],d.Na=this.C.Na,d.O=this.C.O,d.Ef=this.C.Ef;this.O("PCx86 v1.24.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Ic&&d.Ic(this,this.ea,this.F,this.ha);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.X=d:this.A=parseInt(d,10));var f;if(a=Nc(this,"state")||(f=!0,a.state))b=this.ia=a,f||(this.W=!0,this.A=Ur),this.A&&(this.fa=new hf(this,
|
||||
"1.24.0"),this.fa.load()?b=null:delete this.fa);!b&&this.A&&(b=Wr(this))&&(this.W=!0);if(b){var g=this;va(b,null,!0,function(a,b,c){c?(g.X=null,g.W=!1,g.Na("Unable to load machine state from server (error "+c+(b?": "+na(b):"")+")")):(g.aa=b,g.pa=!0);rb(g)})}else rb(this);this.qa.power||(this.ga=!0);!c&&this.ga&&Xr(this,this.ag)}else w("Unable to find CPU component")}db(Sr);var Ur=0;m=Sr.prototype;m.gf=function(){return this.ya};
|
||||
function Tr(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){w(d.message+" ("+c+")")}}a.U=b}function Nc(a,b,c){var d=b.toLowerCase(),d=Ya[b]||Ya[d];void 0===d&&a.U&&(d=a.U[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}m.ke=function(){return this.B||""};function Xr(a,b,c){for(var d=gb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!sb(f)){sb(f,function(){Xr(a,b,c)});return}}b.call(a,c)}
|
||||
function Yr(a,b){var c=new hf(a,"1.24.0","validate");if(c.load()&&Qr(c)){var d=Rr(c,"timestamp"),e=b?Rr(b,"timestamp"):"unknown";d!=e&&(a.Na("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
|
||||
m.ag=function(a){void 0===a&&(a=this.A||(this.aa?1:Ur));if(!this.N){this.N++;var b=!1,c=!1;this.ka=!1;var d=this.fa||new hf(this,"1.24.0");if(-1==a)b=!0;else if(a>Ur){if(d.load(this.aa)){this.V=new hf(this,"1.24.0","failsafe");this.V.load()&&(Zr(this,d),a=2,Or(this.V));N(this.V,"timestamp",qa());Pr(this.V);var e=this.A&&!this.W;if(1==a||za("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Qr(d)){var f=Rr(d,"code"),g=Rr(d,"data");f&&("ok"==f?d.load(g):("error"==
|
||||
f&&"no machine state"!=g?(this.Na("Error: "+g),"unable to verify user"==g&&(Fa("user",""),this.B=null)):this.O(f+": "+g),Or(d),d.load()?(c=Qr(d),e=!0):c=!1))}e&&Yr(this,c?d:null)}else 2==a&&d.clear()}else Yr(this);delete this.aa;delete this.fa}e=gb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.F&&(c=$r(this,g,d,b,c));b=[d,a,c];-1!=a?Xr(this,this.Ji,b):this.Ji(b)}};
|
||||
function $r(a,b,c,d,e){if(!b.la.cc){b.la.cc=!0;if(b.ic){var f=null;e&&((f=Rr(c,b.id))||(f=Rr(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.ic(f,d)&&f&&(w("Unable to restore state for "+b.type),a.ia&&!a.pa?(c.clear(),a.A=Ur,window&&window.location.reload()):a.ka=!0,b.ic(null),e=!1)}if(!d&&b.uk)for(a=b.uk.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
m.Ji=function(a){var b=a[0],c=0>a[1];a=a[2];this.wa=!0;this.la.cc=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.F&&($r(this,this.F,b,c,a),Uc(this.F));this.ka&&(Zr(this,b),b.clear());!c&&this.V&&(this.V.clear(),delete this.V);this.N=0};
|
||||
function Zr(a,b){if(za("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.ke(),d=b.toString(),e={app:"PCx86",ver:"1.24.0"};e.url=a.ua;e.user=c;e.type="bug";e.data=d;va("http://www.pcjs.org/api/v1/report",e,!0)}}
|
||||
Qa(function(){for(var a=nb(document,"pcx86","debugger"),b=0;b<a.length;b++){var c=a[b],d=jb(c),d=new gq(d);mb(d,c)}});
|
||||
function Nr(a,b,c){Ua.call(this,"Computer",a,Nr,67108864);this.la.cc=!1;Or(this,b);this.ga=Nc(this,"autoPower",a);this.N=0;this.ra=a.busWidth||a.buswidth;this.A=Pr;this.aa=null;this.W=this.pa=!1;this.ua=Nc(this,"url")||"";this.ya=(Math.random()+.1).toString(36).substr(2,12);this.B=Qr(this);if(this.F=ib("CPU",this.id)){this.ha=ib("Debugger",this.id);this.L=[];for(b=null;b=Db(this,"Video",b);)this.L.push(b);this.ea=new Lb({id:this.ve+".bus",busWidth:this.ra},this.F,this.ha);var d,e=gb(this.id);if((this.C=
|
||||
ib("Panel",this.id))&&this.C.Ef)for(b=0;b<e.length;b++)d=e[b],d.Na=this.C.Na,d.O=this.C.O,d.Ef=this.C.Ef;this.O("PCx86 v1.24.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Ic&&d.Ic(this,this.ea,this.F,this.ha);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.X=d:this.A=parseInt(d,10));var f;if(a=Nc(this,"state")||(f=!0,a.state))b=this.ia=a,f||(this.W=!0,this.A=Pr),this.A&&(this.fa=new hf(this,
|
||||
"1.24.0"),this.fa.load()?b=null:delete this.fa);!b&&this.A&&(b=Rr(this))&&(this.W=!0);if(b){var g=this;va(b,null,!0,function(a,b,c){c?(g.X=null,g.W=!1,g.Na("Unable to load machine state from server (error "+c+(b?": "+na(b):"")+")")):(g.aa=b,g.pa=!0);rb(g)})}else rb(this);this.qa.power||(this.ga=!0);!c&&this.ga&&Sr(this,this.ag)}else w("Unable to find CPU component")}db(Nr);var Pr=0;m=Nr.prototype;m.gf=function(){return this.ya};
|
||||
function Or(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){w(d.message+" ("+c+")")}}a.U=b}function Nc(a,b,c){var d=b.toLowerCase(),d=Ya[b]||Ya[d];void 0===d&&a.U&&(d=a.U[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}m.ke=function(){return this.B||""};function Sr(a,b,c){for(var d=gb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!sb(f)){sb(f,function(){Sr(a,b,c)});return}}b.call(a,c)}
|
||||
function Tr(a,b){var c=new hf(a,"1.24.0","validate");if(c.load()&&Ur(c)){var d=Vr(c,"timestamp"),e=b?Vr(b,"timestamp"):"unknown";d!=e&&(a.Na("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
|
||||
m.ag=function(a){void 0===a&&(a=this.A||(this.aa?1:Pr));if(!this.N){this.N++;var b=!1,c=!1;this.ka=!1;var d=this.fa||new hf(this,"1.24.0");if(-1==a)b=!0;else if(a>Pr){if(d.load(this.aa)){this.V=new hf(this,"1.24.0","failsafe");this.V.load()&&(Wr(this,d),a=2,Xr(this.V));N(this.V,"timestamp",qa());Yr(this.V);var e=this.A&&!this.W;if(1==a||za("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Ur(d)){var f=Vr(d,"code"),g=Vr(d,"data");f&&("ok"==f?d.load(g):("error"==
|
||||
f&&"no machine state"!=g?(this.Na("Error: "+g),"unable to verify user"==g&&(Fa("user",""),this.B=null)):this.O(f+": "+g),Xr(d),d.load()?(c=Ur(d),e=!0):c=!1))}e&&Tr(this,c?d:null)}else 2==a&&d.clear()}else Tr(this);delete this.aa;delete this.fa}e=gb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.F&&(c=Zr(this,g,d,b,c));b=[d,a,c];-1!=a?Sr(this,this.Ji,b):this.Ji(b)}};
|
||||
function Zr(a,b,c,d,e){if(!b.la.cc){b.la.cc=!0;if(b.ic){var f=null;e&&((f=Vr(c,b.id))||(f=Vr(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.ic(f,d)&&f&&(w("Unable to restore state for "+b.type),a.ia&&!a.pa?(c.clear(),a.A=Pr,window&&window.location.reload()):a.ka=!0,b.ic(null),e=!1)}if(!d&&b.uk)for(a=b.uk.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||
m.Ji=function(a){var b=a[0],c=0>a[1];a=a[2];this.wa=!0;this.la.cc=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.F&&(Zr(this,this.F,b,c,a),Uc(this.F));this.ka&&(Wr(this,b),b.clear());!c&&this.V&&(this.V.clear(),delete this.V);this.N=0};
|
||||
function Wr(a,b){if(za("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.ke(),d=b.toString(),e={app:"PCx86",ver:"1.24.0"};e.url=a.ua;e.user=c;e.type="bug";e.data=d;va("http://www.pcjs.org/api/v1/report",e,!0)}}
|
||||
function Mr(a,b,c){var d,e="none";if(a.N)return null;a.N--;var f=new hf(a,"1.24.0"),g=new hf(a,"1.24.0","validate"),h=qa();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.24.0");N(f,"url",window?window.location.href:null);N(f,"browser",ya());a.F&&a.F.hc&&(c&&a.F.Wb(),d=a.F.hc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.cc=!1,!1===d&&(e=null)));for(var h=gb(a.id),k=0;k<h.length;k++){var l=h[k];l.la.cc&&(l.hc&&(d=l.hc(b,c),"object"===typeof d&&N(f,l.id,d)),c&&(l.la.cc=!1,!1===d&&(e=null)))}e&&
|
||||
(c?(h=d=!1,b?(a.B&&as(a,a.B,f.toString()),Pr(g)&&Pr(f)||(e=null,d=h=!0)):a.A&&(d=!0,h=3==a.A),d&&f.clear(h)):e=f.toString());c&&(a.la.cc=!1,b=a.qa.power)&&(b.textContent="Power");a.N=0;return e}m.reset=function(){this.ea&&this.ea.reset&&(y(this,"Resetting "+this.ea.type),this.ea.reset());for(var a=gb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ea&&c.reset&&(y(this,"Resetting "+c.type),c.reset())}};
|
||||
(c?(h=d=!1,b?(a.B&&$r(a,a.B,f.toString()),Yr(g)&&Yr(f)||(e=null,d=h=!0)):a.A&&(d=!0,h=3==a.A),d&&f.clear(h)):e=f.toString());c&&(a.la.cc=!1,b=a.qa.power)&&(b.textContent="Power");a.N=0;return e}m.reset=function(){this.ea&&this.ea.reset&&(y(this,"Resetting "+this.ea.type),this.ea.reset());for(var a=gb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ea&&c.reset&&(y(this,"Resetting "+c.type),c.reset())}};
|
||||
m.start=function(a,b){for(var c=gb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};m.stop=function(a,b){for(var c=gb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
|
||||
m.Pb=function(a,b,c){var d=this;switch(b){case "power":return this.qa[b]=c,c.onclick=function(){d.N||(d.la.cc?Mr(d,!1,!0):Xr(d,d.ag))},!0;case "reset":return this.qa[b]=c,c.onclick=function(){if(d.la.cc&&!d.N)if(d.A&&!d.X){var a=za("Click OK to save changes to this PCx86 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Mr(d,a,!0);!a&&d.ia?window&&window.location.reload():(a||(d.eh=!0),d.ag(Ur),d.eh=!1)}else d.reset(),d.F&&Uc(d.F)},!0;case "save":if(ha(xa(),"pcjs.org")){c.parentNode.removeChild(c);
|
||||
break}this.qa[b]=c;c.onclick=function(){var a=Vr(d,!0);if(a){var b=!!(d.A&&!d.X||d.ia),c=Mr(d,b);b?as(d,a,c):d.Na("Resume disabled, machine state not saved")}};return!0}return!1};
|
||||
function Vr(a,b){var c=a.B;c||(c=Ea("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=bs(a,c))||a.Na("The user ID is invalid."))):b&&a.Na("Browser local storage is not available"));return c}
|
||||
function bs(a,b){a.B=null;var c=va(xa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(Fa("user",c.data),a.B=c.data)}catch(e){w(e.message+" ("+d+")")}return a.B}function Wr(a){var b=null;a.B&&(b=xa()+"/api/v1/user?req=load&user="+a.B+"&state="+Nr(a,"1.24.0"));return b}
|
||||
function as(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Nr(a,"1.24.0");d.data=c;b=va(xa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Na("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Na(c),Fa("user",""),a.B=null)}}
|
||||
function Eb(a,b,c){a=gb(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}m.yd=function(a){if(this.L.length){var b=0,c=0;a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.L[0];d.V&&d.V.focus();a&&window&&window.scrollTo(b,c)}};m.qd=function(a){this.F&&this.F.qd(a);this.C&&this.C.qd(a)};
|
||||
m.Pb=function(a,b,c){var d=this;switch(b){case "power":return this.qa[b]=c,c.onclick=function(){d.N||(d.la.cc?Mr(d,!1,!0):Sr(d,d.ag))},!0;case "reset":return this.qa[b]=c,c.onclick=function(){if(d.la.cc&&!d.N)if(d.A&&!d.X){var a=za("Click OK to save changes to this PCx86 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Mr(d,a,!0);!a&&d.ia?window&&window.location.reload():(a||(d.eh=!0),d.ag(Pr),d.eh=!1)}else d.reset(),d.F&&Uc(d.F)},!0;case "save":if(ha(xa(),"pcjs.org")){c.parentNode.removeChild(c);
|
||||
break}this.qa[b]=c;c.onclick=function(){var a=Qr(d,!0);if(a){var b=!!(d.A&&!d.X||d.ia),c=Mr(d,b);b?$r(d,a,c):d.Na("Resume disabled, machine state not saved")}};return!0}return!1};
|
||||
function Qr(a,b){var c=a.B;c||(c=Ea("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=as(a,c))||a.Na("The user ID is invalid."))):b&&a.Na("Browser local storage is not available"));return c}
|
||||
function as(a,b){a.B=null;var c=va(xa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(Fa("user",c.data),a.B=c.data)}catch(e){w(e.message+" ("+d+")")}return a.B}function Rr(a){var b=null;a.B&&(b=xa()+"/api/v1/user?req=load&user="+a.B+"&state="+bs(a,"1.24.0"));return b}
|
||||
function $r(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=bs(a,"1.24.0");d.data=c;b=va(xa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Na("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Na(c),Fa("user",""),a.B=null)}}
|
||||
function Db(a,b,c){a=gb(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}m.yd=function(a){if(this.L.length){var b=0,c=0;a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.L[0];d.V&&d.V.focus();a&&window&&window.scrollTo(b,c)}};m.qd=function(a){this.F&&this.F.qd(a);this.C&&this.C.qd(a)};
|
||||
function cd(a,b){for(var c=0;c<a.L.length;c++)rn(a.L[c],b);if(a.C&&(c=a.C,c.Ja)){Ib(c,18,c.aa,c.Ia);if(c.gb){var d=c.ea,e=c.A,f,g;null==f&&(f=0);null==g&&(g=d.X-f|0);null==e&&(e={ah:0,Vd:0,Sg:[]});var h=f>>>d.La;f=f+g-1>>>d.La;e.ah=0;for(e.Vd=0;h<=f;)g=d.sa[h],e.ah+=g.size,g.size&&(e.Sg.push(sa(Hb,h,0,0,g.type)),e.Vd++),h++;c.A=e;c.ya=c.A.Vd*c.ea.Sb/691200;d=0;c.A.Bi=0;c.A.Bf||(c.A.Bf=[]);var e=-1,h=0,k=-1;for(f=0;f<c.A.Vd;f++){var l=c.A.Sg[f];g=ta(Hb.type,l);l=ta(Hb.ak,l);if(g!=e||l!=k+1)(k=f-h)&&
|
||||
(d+=Kb(c,h,k,e)),e=g,h=f;k=l}d+=Kb(c,h,f-h,e);e=c.A.Lk!=d;c.A.Lk=d;if(e){e=new Bb(0,0,c.aa.width,c.aa.height);c.A.Qe=[];h=c.A.Vd;for(d=0;d<c.A.Bi;d++)f=c.A.Bf[d].Vd,c.A.Qe.push(Cb(e,f,h,!d)),h-=f;for(d=0;d<c.A.Qe.length;d++)e=c.A.Bf[d],h=f=c.A.Qe[d],g=c.Ia,(k=xc[e.type])||(k=new Ab),g.strokeStyle="black",g.strokeRect(h.x,h.y,h.ad,h.A),g.fillStyle="string"==typeof k?k:k.toString(),g.fillRect(h.x,h.y,h.ad,h.A),h=c,g=f,h.ga=h.ua,h.X=h.wa,f=g.x+(g.ad>>1),k=g.y+(g.A>>1),l=g.A,g.ad<g.A&&(l=g.ad,h.ra=!0,
|
||||
h.N.save(),h.N.translate(f,k),h.N.rotate(-Math.PI/2),f=k=0),l<h.X&&(h.X=l,h.ga=h.X+"px Monaco, Lucida Console, Courier New"),g=k,h.C=f,h.U=g,h=c,e=Wb[e.type]+" ("+(e.Vd*c.ea.Sb/1024|0)+"Kb)",h.N.font=h.ga,h.C-=h.N.measureText(e).width>>1,h.U+=(h.X>>1)-2,Jb(h,e),h.ra&&(h.N.restore(),h.ra=!1)}}else Jb(c,"This space intentionally left blank");c.context.drawImage(c.aa,0,0,c.aa.width,c.aa.height,c.sb,c.Jb,c.$a,c.fb);c.Ja=!1}}
|
||||
Qa(function(){for(var a=nb(document,"pcx86-machine"),b=0;b<a.length;b++)for(var c=a[b],d=jb(c),c=nb(c,"pcx86","computer"),e=0;e<c.length;e++){var f=c[e],g=jb(f),g=new Sr(g,d,!0);mb(g,f);g.ga&&Xr(g,g.ag)}});La.show.push(function(){for(var a=nb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=jb(a[b]);(c=ib("Computer",c.id))&&c.wa&&!c.la.cc&&c.ag(-1)}});
|
||||
La.exit.push(function(){for(var a=nb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=jb(a[b]);(c=ib("Computer",c.id))&&c.la.cc&&Mr(c,!(!c.A||c.X),!0)}});var cs=0;function ds(a,b,c,d,e,f){e("Loading "+a+"...");va(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):es(h,a,b,c,d,e,f)})}
|
||||
Qa(function(){for(var a=nb(document,"pcx86-machine"),b=0;b<a.length;b++)for(var c=a[b],d=jb(c),c=nb(c,"pcx86","computer"),e=0;e<c.length;e++){var f=c[e],g=jb(f),g=new Nr(g,d,!0);mb(g,f);g.ga&&Sr(g,g.ag)}});La.show.push(function(){for(var a=nb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=jb(a[b]);(c=ib("Computer",c.id))&&c.wa&&!c.la.cc&&c.ag(-1)}});
|
||||
La.exit.push(function(){for(var a=nb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=jb(a[b]);(c=ib("Computer",c.id))&&c.la.cc&&Mr(c,!(!c.A||c.X),!0)}});function hf(a,b,c){this.id=a.id;this.key=bs(a,b,c);this.ha=a.ha;Xr(this,a.hk)}function bs(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}
|
||||
hf.prototype={constructor:hf,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:Ca()&&(a=Ea(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){Xr(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 Xr(a,b){a[a.id]={};b&&N(a,"parms",b);a.A=!1}function Yr(a){var b=!0;if(Ca()){var c=JSON.stringify(a[a.id]);Fa(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Ur(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){w(c.message||c),b=!1}return b}function Vr(a,b){return a[a.id][b]||null}function N(a,b,c){try{a[a.id][b]=c}catch(d){}}var cs=0;
|
||||
function ds(a,b,c,d,e,f){e("Loading "+a+"...");va(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):es(h,a,b,c,d,e,f)})}
|
||||
function es(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{if(c){fb(c,b,a);var h=b;h&&0>h.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+h+'"}';"object"==typeof resources&&(h=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}e||(a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pcx86$2"));
|
||||
h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){h=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?qs(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||
function qs(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");va(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
|
|
|
|||
Loading…
Reference in a new issue