Added new IBM PC AT configuration (8Mhz model, currently not booting)

This commit is contained in:
Jeff Parsons 2014-10-13 12:16:27 -07:00 committed by jeffpar
commit 093099d980
38 changed files with 3848 additions and 1558 deletions

View file

@ -422,8 +422,8 @@ function O(a){w.call(this,"ChipSet",a,O);this.Ga=a.model;this.Ga=void 0!==this.G
k.wb=function(a,b,c,d){switch(c){case "sw1":return this.ta[c]=d,Bh(this,c,d,this.Zb,{0:this.Ga==uh?"Bootable Floppy Drive":"Loop on POST",1:this.Ga==uh?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ga==uh)return this.ta[c]=d,Bh(this,c,d,this.ne,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.ta[c]=d,!0}return!1};
k.pc=function(a,b,c,d){this.na=b;this.S=c;this.Z=d;this.Da=a;this.pb=B(a,"Keyboard");this.Il=Math.round(c.Hd/1193181);gb(b,this,Ch);kb(b,this,Dh);this.Ga<zh?(gb(b,this,Eh),kb(b,this,Fh)):(gb(b,this,Gh),kb(b,this,Hh));if(d){var e=this;Ih(d,O);Jh(d,O.Re,function(){for(var a=0;a<e.sb.length;a++){for(var b=e.sb[a],c="PIC"+a+":",d=0;d<b.qd.length;d++)c+=" IC"+(d+1)+"="+p(b.qd[d]);c+=" IMR="+p(b.wd)+" IRR="+p(b.Kb)+" ISR="+p(b.Fc);e.Z.message(c)}});Jh(d,O.Se,function(){for(var a=0;a<e.Ib.length;a++){Kh(e,
a);var b=e.Ib[a],c="TIMER"+a+":",d=0;if(void 0!==b.hd)for(var n=0;n<=b.hd;n++)d|=b.ac[n]<<8*n;c+=" MODE"+b.mode+" BYTES="+b.hd+" COUNT="+r(d);e.Z.message(c)}});Jh(d,O.Ta,function(){for(var a="",b=0;64>b;b++){var c=13>=b?Lh(e,b):e.pa[b];a&&(a+="\n");a+="CMOS[0x"+p(b)+"]: 0x"+p(c)}e.Z.message(a)})}zc(c,26,this,this.Bn)};k.bc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.Yb=function(a){return a&&this.save?this.save():!0};
k.reset=function(){var a;this.cd=this.Zb;this.Pe=this.ne;Mh(this);this.$a=Array(this.Lf);for(a=0;a<this.Lf;a++)Nh(this,a);this.sb=Array(this.Mf);Oh(this,0,32);1<this.Mf&&Oh(this,1,160);this.$h=void 0;this.Ib=Array(3);for(a=0;a<this.Ib.length;a++)Ph(this,a);this.Kf=this.Yh=this.fc=this.Rg=void 0;this.Qg=0;if(this.Ga>=zh){this.ib=16;this.vd=0;this.Ec=16;this.Mg=0;this.te=160;512<=Qh(this)&&(this.te|=16);3==Rh(this)&&(this.te|=64);this.Wh=3;this.If=0;this.Ig=Array(7);this.ue=0;this.pa||(this.pa=Array(64),
Sh(this,this.ap));for(a=14;46>a;a++)void 0===this.pa[a]&&(this.pa[a]=0);this.pa[20]=this.cd&(xh.yf|2|yh.Mh|yh.yf);this.pa[16]=Th(this,0)<<4|Th(this,1);Uh(this)}};
k.reset=function(){var a;this.cd=this.Zb;this.Pe=this.ne;Mh(this);this.$a=Array(this.Lf);for(a=0;a<this.Lf;a++)Nh(this,a);this.sb=Array(this.Mf);Oh(this,0,32);1<this.Mf&&Oh(this,1,160);this.$h=void 0;this.Ib=Array(3);for(a=0;a<this.Ib.length;a++)Ph(this,a);this.Kf=this.Yh=this.fc=this.Rg=void 0;this.Qg=0;if(this.Ga>=zh){this.ib=16;this.vd=0;this.Ec=16;this.Mg=0;this.te=160;512<=Qh(this)&&(this.te|=16);3==Rh(this)&&(this.te|=64);this.Wh=3;this.If=0;this.Ig=Array(7);this.ue=0;this.pa||(this.pa=Array(64));
Sh(this,this.ap);for(a=14;46>a;a++)void 0===this.pa[a]&&(this.pa[a]=0);this.pa[20]=this.cd&(xh.yf|2|yh.Mh|yh.yf);this.pa[16]=Th(this,0)<<4|Th(this,1);Uh(this)}};
function Sh(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.ca("CMOS date invalid ("+b+"), using "+c)):b&&a.ca("CMOS date: "+c);a.pa[0]=c.getSeconds();a.pa[1]=0;a.pa[2]=c.getMinutes();a.pa[3]=0;a.pa[4]=c.getHours();a.pa[5]=0;a.pa[6]=c.getDay()+1;a.pa[7]=c.getDate();a.pa[8]=c.getMonth()+1;c=c.getFullYear();a.pa[9]=c%100;c/=100;a.pa[50]=c%10|c/10<<4;a.ag=-1;a.pa[10]=38;a.pa[11]=2;a.pa[12]=0;a.pa[13]=128}
function Lh(a,b){var c=a.pa[b];if(10>b){var d=!1;4!=b&&5!=b||a.pa[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.pa[11]&4||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else 10==b&&(a.pa[b]^=128);return c}function Uh(a){for(var b=0,c=16;46>c;c++)b+=a.pa[c];a.pa[47]=b&255;a.pa[46]=b>>8}
k.save=function(){var a=new G(this);a.set(0,[this.Zb,this.ne,this.cd,this.Pe]);for(var b=[],c=0;c<this.$a;c++){var d=[],e=this.$a[c];d[0]=e.Zd;d[1]=e.Xh;d[2]=e.ak;d[3]=e.nb;for(var f=[],g=0;g<e.Hb.length;g++){var h=[],m=e.Hb[g];h[0]=m.Fd;h[1]=m.Wj;h[2]=m.Ic;h[3]=m.Sb;h[4]=m.ac;h[5]=m.mode;h[6]=m.Sg;h[8]=m.Yo;h[9]=m.Zo;f[g]=h}d[4]=f;b[c]=d}a.set(1,[b]);b=[];for(c=0;c<this.sb.length;c++)d=[],e=this.sb[c],d[0]=e.fg,d[1]=e.qd,d[2]=e.Id,d[3]=e.wd,d[4]=e.Kb,d[5]=e.Fc,d[6]=e.ve,d[7]=e.Jf,b[c]=d;a.set(2,

View file

@ -411,8 +411,8 @@ function P(a){v.call(this,"ChipSet",a,P);this.Da=a.model;this.Da=void 0!==this.D
(this.ah=new webkitAudioContext);this.reset();this.Oa()}y(v,P);var Wg=5150,$g=5170,ah={none:0,tv:1,color:2,mono:3,ega:0},Q={Ng:1},Yg=12,Zg={Ln:16,Hn:32,Tk:48,He:48,Ie:4};Q.ONE=0;Q.Mn=64;Q.Kn=128;Q.In=192;Q.He=192;Q.Ie=6;g=P.prototype;
g.tb=function(a,b,c,d){switch(c){case "sw1":return this.oa[c]=d,bh(this,c,d,this.Eb,{0:this.Da==Wg?"Bootable Floppy Drive":"Loop on POST",1:this.Da==Wg?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Da==Wg)return this.oa[c]=d,bh(this,c,d,this.Fd,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.oa[c]=d,!0}return!1};
g.gc=function(a,b,c,d){this.ma=b;this.ja=c;this.Ha=d;this.Fa=a;this.ab=C(a,"Keyboard");this.Ak=Math.round(c.cd/1193181);Ua(b,this,ch);Wa(b,this,dh);this.Da<$g?(Ua(b,this,eh),Wa(b,this,fh)):(Ua(b,this,gh),Wa(b,this,hh))};g.Sb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};g.Jb=function(a){return a&&this.save?this.save():!0};
g.reset=function(){var a;this.Hc=this.Eb;this.ge=this.Fd;ih(this);this.va=Array(this.Te);for(a=0;a<this.Te;a++)jh(this,a);this.ob=Array(this.Ue);kh(this,0,32);1<this.Ue&&kh(this,1,160);this.Xg=void 0;this.Gb=Array(3);for(a=0;a<this.Gb.length;a++)lh(this,a);this.Se=this.Vg=this.Mb=this.Vf=void 0;this.Uf=0;if(this.Da>=$g){this.Za=16;this.Tc=0;this.lc=16;this.Pf=0;this.Ld=160;512<=mh(this)&&(this.Ld|=16);3==nh(this)&&(this.Ld|=64);this.Tg=3;this.Sf=0;this.Hb=Array(7);this.ne=0;this.ka||(this.ka=Array(64),
oh(this,this.An));for(a=14;46>a;a++)void 0===this.ka[a]&&(this.ka[a]=0);this.ka[20]=this.Hc&(Zg.He|2|Q.Ng|Q.He);this.ka[16]=ph(this,0)<<4|ph(this,1);qh(this)}};
g.reset=function(){var a;this.Hc=this.Eb;this.ge=this.Fd;ih(this);this.va=Array(this.Te);for(a=0;a<this.Te;a++)jh(this,a);this.ob=Array(this.Ue);kh(this,0,32);1<this.Ue&&kh(this,1,160);this.Xg=void 0;this.Gb=Array(3);for(a=0;a<this.Gb.length;a++)lh(this,a);this.Se=this.Vg=this.Mb=this.Vf=void 0;this.Uf=0;if(this.Da>=$g){this.Za=16;this.Tc=0;this.lc=16;this.Pf=0;this.Ld=160;512<=mh(this)&&(this.Ld|=16);3==nh(this)&&(this.Ld|=64);this.Tg=3;this.Sf=0;this.Hb=Array(7);this.ne=0;this.ka||(this.ka=Array(64));
oh(this,this.An);for(a=14;46>a;a++)void 0===this.ka[a]&&(this.ka[a]=0);this.ka[20]=this.Hc&(Zg.He|2|Q.Ng|Q.He);this.ka[16]=ph(this,0)<<4|ph(this,1);qh(this)}};
function oh(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.Tb("CMOS date invalid ("+b+"), using "+c)):b&&a.Tb("CMOS date: "+c);a.ka[0]=c.getSeconds();a.ka[1]=0;a.ka[2]=c.getMinutes();a.ka[3]=0;a.ka[4]=c.getHours();a.ka[5]=0;a.ka[6]=c.getDay()+1;a.ka[7]=c.getDate();a.ka[8]=c.getMonth()+1;c=c.getFullYear();a.ka[9]=c%100;c/=100;a.ka[50]=c%10|c/10<<4;a.gf=-1;a.ka[10]=38;a.ka[11]=2;a.ka[12]=0;a.ka[13]=128}
function qh(a){for(var b=0,c=16;46>c;c++)b+=a.ka[c];a.ka[47]=b&255;a.ka[46]=b>>8}
g.save=function(){var a=new G(this);a.set(0,[this.Eb,this.Fd,this.Hc,this.ge]);for(var b=[],c=0;c<this.va;c++){var d=[],e=this.va[c];d[0]=e.od;d[1]=e.Ug;d[2]=e.Yi;d[3]=e.xb;for(var f=[],l=0;l<e.Ja.length;l++){var k=[],m=e.Ja[l];k[0]=m.ad;k[1]=m.Ti;k[2]=m.pc;k[3]=m.ub;k[4]=m.Pb;k[5]=m.mode;k[6]=m.zc;k[8]=m.xn;k[9]=m.yn;f[l]=k}d[4]=f;b[c]=d}a.set(1,[b]);b=[];for(c=0;c<this.ob.length;c++)d=[],e=this.ob[c],d[0]=e.of,d[1]=e.Jd,d[2]=e.dd,d[3]=e.md,d[4]=e.wb,d[5]=e.yc,d[6]=e.Md,d[7]=e.Re,b[c]=d;a.set(2,