From 7e6c3f34bf800da6a8db461a6099047905c34f3a Mon Sep 17 00:00:00 2001 From: bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> Date: Wed, 6 Apr 2005 23:01:24 +0000 Subject: [PATCH] new bochs BIOS - 16 bit APM support (initial patch by Struan Bartlett) git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1352 c046a42c-6fe2-441c-8c8c-71466251a162 --- pc-bios/bios.bin | Bin 65536 -> 65536 bytes pc-bios/bios.diff | 215 +++++++++++++--------------------------------- 2 files changed, 59 insertions(+), 156 deletions(-) diff --git a/pc-bios/bios.bin b/pc-bios/bios.bin index fe9816e0a7750e5f8a1b185f1fbf1c49bc21175c..f3e40c240ad1dccbd5f04a1b28f703bec923868a 100644 GIT binary patch literal 65536 zcmeFa34D}A@;Ba-OeP0OCWKSKFknEGfC(ZZ3=klWfE<yaB1#}YMo=J_%mlnJ2(p>P zu)Cg%x3KH(x`**t9f@KvtfHcVCjvr*7@uJvARr03=Krnger6_@y8C~B@8|uzZ#ZV2 zuBxuCuCA`GKAxWIUEil)XS%U?X4Lxg!Vy<&Gj1v`wwYY-7ug~j&%C%G{HD3{E3S8a zpOHYQeZ`rk;_%6ni+lCInZfBna9f0nP_`&nc>kM`Yt%(yqb`~sQZXttY*aUV+Xwl4 zLfCg4jk6o}*>`y3M%l-PRg4-MHmYxH>?nKfAiJxAh$=?eeddZ$UBX6nAzpT0cw0vH z2g)m4=Z{{{vV^_bkp`VfJJ`wqc5`h*MapNjXIgPi`D|42{16g&RPlxO+A}({#M#;T z%kq}xtQ=!W8J==^vL#U@re!&@$5=)rCtq<{@`%e)F1I9)9y9XFF%mg-$rwv+&Wc6L za`J{RPRdug+9S@-b*@^Ko$Ih%y=E2I2LALl&|hH?A|+%%2;ggk7!jHpDniAbLR@aV z$Ozb7LW~Sc48zmiLR?`QWWv)uLW~N}3{MCb_X=@k#NY_P)(SB?^3q5=-6zCVQA48e zR3JohmrJ_fX`K+mq8CK>j~4d}F)n6k3}EYph=`4dy)PEeBGN3(^ex04ao5FljT3RH zVs+OWyY}iTx~7Wk_^ac?;zfL_$n7?}TYNXsEmb(W&*|R1yXc-O?(A_>j|+N;9;w3F z^ZK4WdWxQ@Vp*@Ly&`*wUa2Cd_pILL-lBJ^Sam`A1#uUM3sS|+eeUklw-1#zzwf<$ zFYHTCG5uotMfIbnz@Myyi3x@Tk&r6#`e*d-)?f5b6-z8>7NbR2QiXkhZGdTj7?3J% z9eB;a@PT4rs#to_l#3!R5*MY4+Y+ZGMxhl`#qEQx9n@uz7?diO51u|adaxLrD#l(s z=3-gS#X|-TkxvURS$j#KZ25G{(0hjV8%oc2CCy9flO&Q-#hPJrhxHyNhNX(d!zT|9 z9WI8aiu}uNxUA=8;<8k+D0xzHNU}&y6)RI_ro^U*lvJ@|#EcO!BgBYQk#xEBa>;r4 z$nhiP(`8poxI#V!J}<rU(klZg`DD3D{%rvtE9Qtyu@o??xLzy}%kVT#+#nW;+we4A z+$gfd?Rc6X=88pPIi6C*O=7WFfv1ULo>(GQ;%Sn&S!9bGJWUq22)kH?r!+BN+$!$C zQ+t1|x$+vZS_q2}Q$|lA0z6H<YO2^kPs64Sn?^AFxpw5WB9F1tub55%ix4wL%@7WH z8ai|6OoHLhtdv>8$=LJ}=>)I{aoy$DiF|&VojhB?GKOc!CpfU##Wxs_&ts=Wk0<0~ zIz1QJOf~bQo8vV6-$|7&vKgya0bhLw=j3FSe0C2O>Fy|zu6^xu9e0Ny(FKVQDG`l_ zJ@gQRhxhTonWs;8|0T<1YxefwY%lrJ(h>_clsio+<wQ|zYn}q^1Le+2w?U{p0ry%2 zr^;*spkf^q<b~n33#I!-orB=T<ek|qKe(&n!9DEKUyDV3QVx6^CmAD=7_p(;VMcwE ztJ2+}#&qpKv+Fp)jY04bz$+9y1n|C~w?;W5xwbE$wlcr=WT4{EXjzod9;-(MQO^g; z9X);dQIKg$x-Y-kmv4j;*YAw*4)?~mEdns3wgLbnQMhao50u}hVO&AB822!Vo+;7I zu6OrV?yWTJ*;|>8LWbHJ)6&9{CCN}C@#|iR(Ca@C;aKy}itv#{|C|VaArd9R`kgf; znI>0eopxWd%XSWpZfm5E8q#mLHQd=Zr99njfO73k$W<oxWsp^A6;ut+-G(BY&pOB% zOSYjhdKMUpZH*6<n>Sp;*yP+HM0C~a0r*O;3ftp@PHF-g3bh?iOGAO4o`&Mgy2+Cv zi!UGl&S`(95?!{llzoje6S-i9Cbtnq)gXa3sP~R9w$+oaU9i-%u5Uiq63xj~F5Bs1 z+v#zUVs!+*p?R-~zOR%m@K<7sY?L2g50u|q=6O_5Ax>v^)Yg|@<I6uwt$i~T72&;$ zP)nSnQNSQkfadOl+EN{+q^Fb*wVh?d_y?Fqc;j1S-^{SFls(Vc6+98FBsQmOzajm5 zFCzG2XRIo#8%gDjEj#*khC3VzUPMIP9A20{6vxG!Xe8M)P0*6bmv7SEZ%o%#5UkMV z+fZ(PAg7ty%>es1)}Qq@`R&Z@^HCp<p~fr#_stE+<6eTNI~&r{5~;&<33T;u+`>ZS zLv`}o{N&S!ocNpF3z2&)l9D)(`$PAOa682Na?aMO=mbBn=K6Mu=8ou$K*?I95zJ+7 zGB7Fm;d)*2cPKkVaRy1gPiBuKa_xgq<R>W~1*P?RN2L33Xu9?)LI0*C{5^Bi%ZO8D z-0d&p=5|E%mqBheo4D!uyQ=(S{rUU;oQ&j|2kA2Ycs?x+YK?SPLPj$||EXj=ah_`Y z7nM59DIZc)v%NCKjT=i&id(mgq0|CTf@|y6^~>KK1b+$%l7E28f44vX&6K|*9rr-~ zY|2lPq=3>|5Ba}?{ImRAJ+Z=_qSz+-*&2V2ZGUi!)!FW^1KStD_6XS48Bo|ys_I|W zky>=sr>Zi_8A?@u4mmrl`VbJjNZj=N6IK2KfBuD(zoV*Og8a8peyaK?l98%@6f(|H zQ0@RDTF98L%IN1Wqp|j9WE=t3CgPT*YFt$tTw|2Xjr|EjsmA~OIc`=ExCOYKRootH z!EKe|R^aEh@aMSM!0k5Trt9wxl|R*=-$MC2(jVo&l=74Q&Ye^GtAhTz6LhuWcKRG@ ztehAea@ii`9IrmFfbe$kjAegQ@L@W<?Dv4c2b4X6ZyK+<0aJF3A){<0{ue1=a~*(% zD)A!{^DAu2b5^aw+yy~lRxSedWqG%Y$!Wu8=TNjM5WP&Fjxy0v!%IWpbG?ZOD>z;X zPcEl)cTQUioZ+PgO0)FrzXKzlt72WnU9lNu4ps7M*n`RMs)@mUG=`BYM?u}oHi32l zXicccwM6T^LY3<1g+Qfj1Mt@<{7~Q{ygdj^MO>!9-3eS|i?SM=gAl%89E~gM100Ps zb<|`Sc^bcxX^qlBN<RoV6}_ic0n2tN%I$v0s|xaWKV&KN{1Tu><a|trBG`Ng>9C*D z(x4m+hZs$vF<*2Dg?5AzKanu;fF(BRu;XU|BM1#s#!`bfB)J?4lJP4K3<oi)zIRqZ zXwV|SzjOdfjfFwMMQC$~Jybh=IyG05cQuHMY$)mF(9aP=tg9Gk$bjy&37|s++!B{4 zabw%V4VJk6?cs(<oEOzFp|DgGj4!J(_kI$h(es>vOKME6db5wH^^h2oWEMANX@i_B zkx#aZOq0m9?IN$1$gFmeHi=AY7db^DC$x*4CXrF?BBx7aSi8uX5~-bOub$}=`BA&b z*%JBBc9C-=^7ri`Z;(ibM5Y|bKr099ey+s7euBG9Bbuub1l9=i{WmsqgL$uVM+ljT z+NxU!n@lwEYk}w|5ob<wy9XHMmZM4C@ga!lnzb(pOX<Ec{clPuOAa#JCjlnIUAMEb ziKqt}IQQd3?LK8lcPC1~GZGM*?j9@wB@7_@A0h!u2tX_@mFYQ5unH`aB;aNV0E^)g zFpU9but=7G0XmBjGToI4G_V*c0lgW3NX9)%0>T-98K`@-1RVNNNijyIKcTdHDOgw~ z;7bN91dH(!u#*9ZncS%o@FW4aLC~S-yTNl!^!lBcE;J-p?bQl5{)BFZ$3#Qn#<NXD zNCvvO>dIGxh0(RKt`$~w=8GlvTocWVi#MKY3L`g|d5XLdII=S;^@fx_2S-&5CXAjy zX!rG$p{^-4HC-Fd0EEO$5(*Cef+0lGB{)wQk(@u-ii^g8U@l(~L@(sklklh;PdE9? z*usDxQL)oa*6Ym=SPVrQe{8b8Xnvrlfm|kQrnS473OV4RptE%Cx-MyH9oO=v;KE0> zE__gM;Rf>qTLl-6r_F*Tq(MP2(J3i%7yu`0s17G3fCi>R45&dJPBmG(JBJhjY4tiS zZfK}o`CX98<Q+xym=+8tdVCKq+E_!4l|X?&yZNr8eC=YoQauZ8^+mRNYl!)QOT*Uh zJmp64-I7>2<S1f;p4Aem-0F!MAWNR9Z_3bmoW#VD{0?a4KOV%6E4Jy{9bMM%?2e%^ zwrrysSLcw0$lPDoq-%G9nUTT{eK;)KSlLwa%)I6d%?<R;gbqd?2GR)RlR#caNY}<A z05w9GLV(6gkOq(dl@p+$5>yS437|y)^_HM2fN}wv1<>7^>vQIItjYDv@um(na|*uH zR0J7eSuM4rhO18{!Qr+9N`3z%0^jRLWS90Et{Rs9BC*x2uxgAbl31-3Rt*x%CAO*+ zR*e!fCH8oe@AYG?DAYKy=?9DxzSpZjQH}p71-^mm$qpyIEK3DJzlZu_C2+46b`|V< zG8R4xH-0DCCWaPnJk#XuRRjRJFLGc&0XBsY^Z;A_j?hF(C?ag7PBju29A|xh*W{g4 zc8e;%D>Wa|b5+{F=@DhKRr*KN)aV^pcCAW($LV-)T#|5XOENg#!~f6l{}2`I$uf8x z2KNNv+E~?uFS6$1jmMgbVFe}I_cv+NesCd4MggvFfd#!*1eZW<FvDte_v)r`1tLEZ z)<bFUIEG+BIui36h74thg&?UCasfl)2x5_taCaO(5TZ?CZ&h<)T9fA;I3Sc4C!D#( z8#ShM`%cOX`yu{8i2qfSrhQ-X!l9=8aNt}ZbDI@!l_O47I4H*#-@^<t(m~mV*?5#5 zL2SJJsm#3^J(Cz%w!$Y1bf3r%@kSDQoG`B5=k4w7nIy~`Ha903%o`rVr{i6En&?v` z5KTaR8Z0hgd1Yf&+YLhdN0B|Y>})C&yXzSDrPlpH#bUQeZ0r7@g0b<0Wv;M1*k4cp z)J38=zFogFj$CG_`GLC(>vz_>;on<|qFm<J9<b}kWo{#+bb3cT?Yhk8{VsF7Nq3oX z&;gAe1H5SSl4ly=<NoML*RBCGV`BfpjVIv0$P51#z!3~=;YVS=>_=At-Hp(}e$?CK z7Tl6WVAH1asXB#{*hL$Uw<S={?uf<&-nInF+3g?#b|o|xw{~`AoSjE$4qT}TRH#`f zQ5<T5#rmC}pcOn%VI4M@k8)hwkF;>!diO1?EIe4)FvRyxsL&=H)q8QtGf%+h->ju; z&D3$zOP+ZW>1&a$p>%Rp;m+jpsEym2u$Bv}EHxKy{JzOMun3=IBpBeZI9quUP#D)j zyj=+a$M!wk*!SevzCr+pzTmyP2%qqOl`gLV^-4h@)jy<bE?EeiYB2UKG~+H{e-A7) z9*jyx#(w~n-fqUXsr`YSt7lB5!ij^myZQdReXz)qXR1JS8;C9^qSA|5Jew><3P;6H z1;KIhE>?>(fee|Y2;eUP{xt9=FIT#nDlJPwrC;&JdZUv<%o{Sfn?HdWf4#?!NR5Nb zu(IYay`g2bUuNh-Nf=C<7Bg&U<_M**9z`2}AVVrU`=vx)!Zv_HxK2}`ebyui`&4zh zHi3jKL>`pClLs|!qV%#aReleu8{s*HkWEQZK~lUGkm5r{SWbkkrFc^zx3<u13n_X+ ziZ|gc{Zh2FPSuMZCkktr69XcdP<q+3it|+B>_xRDxI}?RFnEk#>g6PLc0lSpMHfX< zdudqX;mo|@cdYw3>}QNvzcU)LV8YjcFPiX`o?$2FpR5gmQ1E`3E&AtcJtT-kbUSHs zg7z^GtZcC=@eic&wllg9st9buGXFU&gkZS0oyRvOE4I2K+xa$Al_w-QrlLVOHBnhB zarLy!fgKH=hrDqV>}g1~o%LF#V@D>8oMQ1&T6sBxHLNo-d`wI8#-ycTYXiF>XR$2w zCC_yfk38Z5q5K|5ElV^I9DeccB3m81NB=Ac#n2pSjLg_blbhaLB<k46Gn+_G))v{$ zVJ&J*k*yYAm$#Ag=#dt3I<XVbT27z2Wz|Z9vZRt!ZL?t3uB+z{M@ai}2`Qyq-wD;1 ziH4E<+%~jlLv2&5+U6W2Zqqi+%#4-^f^e#Bjz}DKngVK6ZvHhwp*7qh#6^vM2C9fI zw$)Ma2Y?rwS9r!#u`L!&GYeWuIZ(1TP8;*B%NAQ~i!08I*S)pN7U#;0$8xNs=nV?& zWD>>0DF+miLKDi~a4<U6Ws8Qla*vdY4oe{khGB|a+@mDujf1jx+n@nyJF~u{Hu<T@ z_7j^<IQeuaFxX%weTN!>FS4NJM^eg{k7}?X43bF*E-j%4rLiW7o<ks-6NV57d#Z(% z3P|(96O~MNE?{X<wrGVXWBZu!*bE~kWaDpBT2DMt87#Cj1a7#BYJi1lEZB!|4ZMg| zexglgXE>&oRHp_k^cJrjTx?4$o*A*uC+hOU*PRp*VFd!`kZy=BvWFHl8XU$mE4-m+ z>?>Sr2R~>_oL^)+3)g|=hqL4hlxAa5BS^*@#=1-<DU)1>#q#G*i62-~9pSXGiL$-D zX!(<1QveH-FyUG5qqQa7e7`x2I?5e-UX%7OaOP3vf4$|VN%D3rcZkHbXSwxM{C{J) z1^a)=ax+2Eq2*58-`aBj2}xR6ZqqldE%(tw!A1bBwzb^CL#$9`xpz@2V7a%;q~CIH zrgTfookF12mV3FR>(Fw$Nxpu|4V6r!8CQNAEcAb5x%s-~HnZi{w6WZ<!Dn*3#=&Ro zIj;PUZFe@rX>GgHq*Ot+>tWk9wPU;Cy6xW9!geqGmQ}5sZ_pa&8-!rntyW(5N9A=- z71`pgA<iCUqcNtEqevqIRLxjqi{|dEH*1mY$2K1N7RefR9)wdKI#uG@v-5aD720aZ zHM(q7uFPs|yjY|2!b+nHZ3qPLoF7&iC!cxI(MGcwz4LcP_EyHZ@M{>S?g*L=P!pdl zvYk{ORr;e~k9z6=RrD0~eCZ+&GXP6a1R(eL2?2_1rvmOV$Tz;s)Xzz3a*odtKrjE^ z7Uk<Ec9OLjsazpB$CJuAN(Tiif7$rC7K*bwHdG}_p16o&pP4_T*fzL$W+J)CJ}@#k z#d!GDc)i3fvP4h+5FK)Uzh4K1pbYgGL#ROV&$>6JwDg9$06nDu-Cefs#kQVOfS$yW zY~#=1=-18@NXW@ai0w$h7ua0n@icm@tu7xq>Tu?z*cLsM9xx!%s0)tK>Ld&e#zSrA zI7c0gow3@dU*=l?m5F^{A_T$U3<7B(v98QG?*QThFo>|`fq^<Ru4HYc_BRj{p7oF7 zP8Zo~3T-D42qlK1vSEm%DOJ}Zb+$#Sj@5!QuXPx|5fva{bD(+7N^PkiuE=%*aRdpe z;)r6~Ir)T|o|R8$y}cRFT!3XQ00+5g<h!9y@yzZ=dlcEb&@dNv;z*M>!k%tFaiq~c zw|HjHqrHmPjx4r~*i^14^ntK=W_$;^=A)THZKqu}==?M(uS&c33)!Q5`PIJsDn0B- z{Q~{NLu+Cu6QyU7Z5}-M9oz>U`Uk)DJCD%OHgvm^%(Gbk{3cy{2aA#srJ)#%ODzbe zOERl6wCBFTF($<4a_L5=E&>#p>99|3gIqxfS5ZNcttxS?b(OPsk*yk=2sl>srZCic zLTsmCM&!JLBsd!^!6-;DjwE1thI}K}c*z*_Qo9FAZNyO#TIvm_B_=Q>NiM+|Jb<nb zX8PT}bWQtAXZrcRwoKpI=da42+hO`eGfY2N>LABEo)ikliw$RML@qoQ5%Si0>&V|g zl-5v3yEJO%_AOi-W^Ou-^3pBCl-)#w63JPPkpU-x+S&Npq9}E;`#25xS~9#_C$ma! zb9J)GY01ec;_B&^IkRR@oiodlk$&~$skW(;C(fBVYo^@L_Xkg-6q9v3t7~au`+cpq zFXovD>eIE|(4T+lq84-O?`sJKeSNFGb;I#D+vyDL(ywtcW-nRekV4yO>f-0=TtGcN zou!YT=;K^zSIjU<o;h8cq1AmQ?NmhgEe3p!017+Rg?X<IR)e*}TDBY+vtp;GmYt^T zFlfY$TCI0%@iSWOx{7OuXSl_wbZz2S&^uOYwc1o#7AX47>Dn<HkJOgDP*v*>HYFA$ z^e`?=<i4eNjg!2tQ@noqQs;%RyB%&aBxuR4m&n~#wDGFC<SMFN(Z(@&;%+6AV-+H$ zyv!hI!FXS7@iY5tOSXSetL5#18Yz!8KqL%A^aY5%0@0pYZ6*<wY~NR_CE&?evi)GK z)?GeT)@o7o<l0zM>w4x?ZE!QK|1w=G`m}8`K@Q<7*<Mqtz5nUMG$~0rfOZ4aCm8zj zr<h%#5#563T}1cnr}~Tx%_=8s1TOs4-@v`TY_EY0fCe@2_c-_xXkZygQ3G2IXr>7E z6xb1v?H#F-adkN37LMS7d+)}sbvQQ_NXFM$3z6)iu-%}<boW@<S+0ZA#rjz{Oy-^4 z+?DW>suztWgm);Rtj0V#-Kb*{7}J$bAnBkkk_&a0y;{0^oaFrzJRx`!G|@n1j+gLn zCA^1j03jQ@*O6o0cpP?j9EOd_Sa~=leXk#{b=zbv^6VU8rOEV5lFJ1FF1;m}W5{-_ z);&d%6-u%`%5sV}_SG{;yX&VA?b%(!$I9+53=p-kyRV3d?d}CUNxOSWKEduDq9@(% ze6OE^Y&Es+R4Lm`${K8p=RQl<ns)2Ph-KN@DKu)Q!c)KkX_?3mf+q=>XyV81nP}|C ztxdFXce^I~{ce~jTA0<1k&;Rw?O=6+zKS>QM>ji&ZuV8J_5+Eh#xr=Qw9i@??~t>> z#v9ERr<+<ioT1TUF<`h$ch8g>I0l%>O{e3gOTae_z)Gikngr}3fG5P@jt}H|t#z)g zt#duZxpoV8Vj$Pr*11-+&UFjtdQ7-?;+O$UPm2M-m^guKR|$L-=lQq7pCGT2?k7J) zNm{|)TNwh^$}wlEziQ3En%osC>noBLXjRd}g!cCF_NL9A{k$?6<)h~@{E3N_>auGn zC*1vPz4zTJ0nUpM;mB3U>j@G)k>u7vOPPIwe)i;YqDZbn@#-+j6vFF8^dKyX=*n@E z8l?v_g>nyP;4+b)9XL5149V+v)-@pJ#ld%839TXujPn46-J|4sn_#@!89UA>%<Gdd z7r^0r^M;EM`FHb#Qj(Vn4}FrB7F_`Ob->Y2kP|bC<Z_6W;O<3%TeJ2tL1|V9vea~K zJ0-nWfh-Z-<>j!?HEcf!6Sf}^bkjyY7*e*!hz{#1YORT~u2=jM`v(=eQqnc^Wb0ap zRA}o)0@2cwm6KSm>66%8XzPQc@9yQQmd7X?&cu5M`$1nz5FI)nYio4G;2Q*3(4E5C zkR^CNPD@K%XkF+C2Lk?h2Y=D)5AjOyZ^@gG1T_2G266}_X>r1@TXX>@l|Y{ef9W^1 z70C8$1e!|%(K*hR0-+I55GnFX79rki)@2&3%Or*HPSX)F5}|9ac{j=K*B*9@Y<;2; z9g+EC@3Xdv4F4b82}Z;G9d7R-FRCbMl)VK-v1{1N(t<jc3%YsSWGNn(fJ@WXe@$!L zy%X_@LvNPb^BX}{t=-ld;mzS=h>IZ_4P&$%kI8FLPVdYXNtz|wqS@TgJY{uX$n}Xo zLbF&p=^brAiKQE%DY>6}2Y2K3RGY`~|26OXo-DLw5S`~bf7)ZC#~`6cQI+VJ{|@2C zoSu7F4qP#I4G8)a*U68$8yLJK(B1t9MS8ykM7y6*fIB20*8P+MER=va_cIDGivYS1 zZfv(|Q$O<0*PBsehF$v+WZ)N#RsoA0C)=rF+o|YO`SQ^W!g^utLACVGK}|4Cy^2B# zy(%AqFi;qsjvo-jF7X}7uK7b^hgo_MJ1|2Ziud#gt><Qa_)D7SHx}EvW1*lj6mO2w zs~+8{tJBH>cQ;0jwbkd7U8e%%zKmRmDGbZ3(3&=fr19k=pD7IIzX&vuK%i#tU<%`j zV|T3^LER6_%y_qoD18u;;uOk^O$7oOnaoFTznH=-5_T$xY@h^vOCTB@i3|f5Wqp}p zPfFMz341yy>tG4mLLlvp4|z6!j%v=;J{MGNY!EQxAu`7*%Ax9bsRYd@P@s-U5_%ay z^*Zv)PTjS>1XFb!F3Bte!nOm}5nM+{70)tZ)gYyO)4m6LE;G6Y-)bCeHq40_ZZ;%5 zSZB7BM;puo%a5HJYZ2}tV$&XsQk(X<dt-?`<y?xd@ywqHx^GiCC=;8BvX51qqRhX? zY6}qHSqz@`xxV~H?fK8s(i*sH>(=UtFu0RpL*MRVFGFu3XnXk??pyXM&-cP}M0gI1 zvJX_hJ&p?a`ycmP&kmuJGkf<>)#&h;OkwTG^C#foQ^**(n|dA*Wv_r0Oh|jaEvtOt z%a8Wu$Cs^9#oY@UETIKivNywfT~eZX!=#3!3(Xs<8j@no8)_PoLd_e_G$f^%H#9XQ z8O<Advuo_{ONuaWu(C_J%9k|UykQhS&*aY~zNB8}4LLqfQQ(a?|4euKF4U8kTCrcz z>Xy`O3NYjPZDcwjh??ve5o&Ce6`?54`_SUd^Zs0?`O{)>`lEs@I<NLw;GW5pu%w z5ybPna9>O|(yVQNA4SVEwY2KV*`=EdQ^eZg7<x-VyCkSE=Ws56VK4}<_)+=YwOg<< zALJ+77eN<_=HD!nH<m`3uB@yqpZBomUUIM4a?XSru*O04l7iu+Kj+Y^(D0tW3OMv& zi$QIu?pU<qZD8(>%^FdmC-G*ns=G!YO~hbgn66EW4XD@rz;8rJCPL}^bl_=gGi?S+ z38+Rzw$pgY1lvWYX`q<_3!?Shv1mvXLM>!t4UN|s5a{xf%rhC<&|r{78&0k`FseX_ zg*NPapDDD(w68g+!#lb(3Nv5toYL;}HG`Hj&U$U7R{EMynoeJ%OPA1BO6e~8x|B3> z)_YNs$o<J`T73aU#IB0rzCRzD@bH8uCOkjkFB4vx@cM+eCwRYt1c>Kube}<eu80XJ z#d!sbzg!2=zM9rurWi9@KDVe&>w%`_xZ~N3=rXAC9#;rXTe?r9<g)0Xl83P_PfHM& zRV|-e<d#ZnRibAU!q^zk%?7P^7tE;K9`Ife#M}J9qiAZZR6e2uVZ_v~RK2nRs$CaL z<Do{pm8tDIHG$@^NEyMPiEKWp!Jy%-g!Q*G){IXV+VGw&uWZdgp0*9IkjV<EU5oa| zu6+y!ZL_-?bt>+{`tn2z_YX+kBa_k;FJO^h1&F(-|CFlkOb{vtH9{)|s*+zvZttZi zk<=2d)H40wFn4cv>bTExU})#=yU^$T%CjBL7&`(Ou(5tm?~uBANNv`NDv$}I9L)pC z1KmYwy)R#e1i2%uhhxp*Ld4|w>WOa4TQXhf;Xa_XYa=Q4Y^3lSA$xGA?ndldR%j$U z8Nk?ocn6^qoUn$k?(6RaM<=Zrw`TmN3Ady!PhB(qozyEQd3Sq<snOx%&t(v~U}u}r zA<7$(^saeBdcF5^YBHX1;eB1&ooaMtBJ_o913Wil2<yk1=nYLY&`^Ah$-bi!H%44z zw3pE}3HFrF`0j`uRauE~g*)w$A2?#^adf4l4#}y`)1Hgq4lSO8q3-mFWiv8pE2DRD zW}lL^XSEOCDzVp@A6O6yg?p|EMGSytYhQk%W_cH?;E=$GqaOr`4M1pfhCmHF{6sW~ zB9KNPw`fEeMj3x4YF{ucl7b$i48Rh#@}R67eI;uD2m*1Wm8d<zIcW(4IWhI65;g{r zVG)5qd5Vmb*WH!bQ`XaEv$!$`y1V17gbPZ{#BR$Fa+X6#-=5n-+*iQZUF8(!>RQLf zQ*mZ<;o-ugbO=tignJ~&7AZ2)9g(o^%Jil(B7WzU6+iBGK{!!fHdd6ZZPezM<ssal zl;W%o)B1DG3*^FL&?#Cs_2YWC!V$yhvfNua8mf5b7i&QQ)KiKqn6ELwS3lhAFZ07~ z{u%}>!&FW!jK)BlDAPFePQVV7X;cP*lxciSAoN-Uc|peU2B5T!3Z?S-7Bc<-5r^xE z+Cx7}r0i$K&k`w%nnFZ0vk0=Nk$@>%$HgLSQ3E9CKQJh7pY=P1XQQA4X~P7(+AEF2 z4EXv(legL%2AubH@2$E8ayT2io!o9eZom+JhR^CZPFVBNfvhlDwmj`^qUz1YdXS$l zV3%M)Cx*3qyAkU+96mHSo=@s;-q5Gfd%}A;<{G|yOWDK9{~VU88A48M2nE9fkR>*0 zBYbZ|(jxPQ!wue#{ay&$kvNQ$T;<spLW(NMY|bdj^kr!Ap->ZCYHV2!*iy(+2)1x7 zcwgOtA*k7U%E|9eHhU3-G+Qg3yc3GOD7^E|he|2Jj`zG50%P)XeJezAMTFFyj)Zh4 zIsQ|g$eZ{M@=~wvr6#<Vw|O{dLTxCtYoemB#eg1%Q3w+oUM$i|yMPFFLg}C)^~8H| zW`&;7N#i|z5M)pynG!J}^rk3Zs!&gX2EX!p!CT<KFVEHmUdlHza0ygYRi@Tl@M?SA z6!>ry_6?6vjuo800t5(s7q(`xqm1|xi|0FL(O<24VT532`5=|L?m{b4SR-r1Y`PI~ z#&f(x744bI?+p31Ki;6X>9wj&Un8|i{c|gx>Yx<`z3S-ab53;Fia*E2-)^r6f4eQE ziX#LMYBx+J<r2wsh2!v?Oe!65esWb88{Rvnrd!U*7*Rlp1>X7K!R=gjk?IIvp<ztk ztI<L4IXW(0tiDWzvVWbn{hA(A?wGQ6+S+Nq<IlCzc1-z1JrVSwsRyQBGHuvH!tvy= zIN{jp-Rkc!XL;`=6;1WdHpq_2nEQSu@INJ>(cMP@o|b@mcRvMqPy*2Du#{M5-mqSP z3+DY4<q*r82#>iN@TpP>*GLGadq2UHaa@jW*q93-W)Bp3@(6xTvk`<(_c$)5%;;Nc zy)qYI^u&59LYFI<sL|c2QeHSi`lkPb^2S(h&%Sd}4!uLYY~?Da!?MU}w`b>C?9S!O zqtv!5nQ6TnmQL^W#+UW}Jfp1qTInN}pvg>pp8*kh-KdRMuw8#Z84QR*e`MR;hGZe_ zTx0#!#{_=~aEuA!7*8Bwp@~f(#CNoXGAx8XsRS3504Nl}Z10q5+$W=NG!xZ~0PD~o z)^D&Du%yGR#s>-8ucfdtEUXmM5a4zGvp~gfmo0)fqNSLLhl9mD@<vNBKcjR@8UOl* zU!f<1_;zC%zfdwhA^8~f>K0KNp^L07qDZCeTZq{J>j0(f8Aw7LZH^lwywnz(O`~Q; zrSUGNV!(Q^yx}^|E!(xMDoBu`H(kfwx*YMK@wY)35`5@DHo>{q{o=qQ#Y=U-C&ib2 z_?e84C%ma@@Am?Ws2=bF{;q$W1T?xIL(QpUq)I@8`*8)hOagdEo(3JyDy)JujZ6(p z=k=jsC@5(@9}S#71<+lLS>ozPqI9*#;4k6K>&VA!8x!AYoAnDuUq_`<qw9+Zda3^+ zG<Gc#8`^T-%vpO<Rx<0>S?^+WE$q69mepIMZ~ht16FBQzl$CZiT4%K|`f27&`UV-9 zk}k7Ba&DkyX-5>P3`C7`{sci<EAO*^k%DG%VW?$mZm$v=2lD;gNEMPB$<~_N2Igj9 z*&^C<%Wlmr8bnGq8mHCVPH)&z%<a`sQbcWAZoOJ_BO)amTBJ2M?KP@tHn?$ZoO4Jw za73-?%83p|jsy<ss2>T*U{)=Z{FJ1j?JU2k6*B)YKmUH<PadQ-|AkEVE#jKSXq;Yb zjh?6%4;&YdMr&RCh3ym{$!s?g+r*P?*&ch9YJV%xKAv2&=R(4ofhEzWRHwcT8dZoU zzW8e#JDQfaXFOvly2iwAA0E3k3Ugf=zTq%Dxp?!bDUmiYJK_Svl%Zx@E=HY85_7>J zJ@bZ#=$@#yMWU2}*U&9xquQX0e)9~p*S3sef=e;IW7_0eS3y-otGCTasA8a06@U8+ z5?TLy-rkXI^8Sk2AP>BB4~)q8iY>FNc6|tqk3LCzM$DD&j{(GcllMki>3*#tDaO2^ zzCJ11ykTYoy%ROQkv?<lle(BUe9}l;f$2?2H<~x>W6CZKM7e+|7cu3tOljnm@q3#* zn_;*O<R2RR!^k;*#5Ln(GP0nE%PIkZh-;_>1R}0J5`c&c+sHUcSx2D}rLdK&LL-@~ z*RRgQ@nBRIVHOWOCrY_X(~ye;nW=I#+DAZIsnX-R!vs(PRm%fzPXHrV>~ZA7Ws^bv zTQAXojG8vlDDB{W!|}^jiJ;p6X~k<AWkw&?7rn;F^m**_Bo<f;WJXGa^Se*=^bMy# z{sw&+m$vbKQL{FL#A8S*5O}9>tnD0@f>vLLtr{-qyO&T9Z2(5QaYYgp{izO#a`O&T zv-Y+Q!6jcV=%}2X3j{&`;kw(5UTiJYW0=*4QdNz=BBy>tklrfA?3{JGmN+6bUB9y` zr99oeNrCSo@*-QTwICP#Vy%U_1M$TT(384Pdf8>lIDbODB4{Qaj~OW_!U}x;7hCJK zXkuSzJ6vQtjN^W-dHlFnMk6olJU+paGxPUMjzJcbqZvO;OT*jWp2`@{KVsYtCEsiR zWWI-rY=`9Z3p(vd^O8?!Uec4QqLaP^QdH#-R0KI=J;gCz6Mb)v@!Wz!kjrJO#Jq^A z1+y%&b(bel28qxvWUvIGBP@I{nP)d_#Ml?bO?lX^J5_9}#7o$#!|{!|W<OPf^s={A z?LH@6Qi-Q9Gee#H2SfR-;d-s%AKV05OC-N=T(2FH$m*6zextZv+aZxv+?BMvIP{LO zw(2~r?wlQKtI8k5_v2w=gWjcD&8cLX0GXmmrdu!(XB^IxI9bZot)%3e0P3~tWmyO_ zgR8)=`qyitCGuFY?KlK*LV#lsz_Ap9$YnY{vk38Is#<>WQSfr@%Ri(3C2MzTFUW^o zT7`Vrtvx~yI7ekrt9`qRGe0R=yGwfla2%nhr7P+PI595k5F(sd2|ne^KP^|Z{0i{p zSJIS-g-_R}e}Gd~g|<W9p&b%q^-d9ggUx3mmTxB1Yt#P@nc#?eCYS5xCar528zW(4 z51FF3Ka_*@Zx~vP!18)eHianqjPBz3CaP?>qWc>uk-$Gik>B-fNB9@4Yh^CG{{}Lb zt$lNONg~@fmxm;>N*-CN*K#PW%wL;=wGxeMMGG-l#n=2D3mrn$6k9D-i4#yo9IC?! zkMbz$Z%B5h1t0Eu*w3w=61-5rP@Dt7qD~iEC6)=OhTWn(m62S#y_$Y~6yGaTubp@i zLh;LJeO@FFO<g>(+?wj-&bvPn?>|dbzNl3Br%2Bul9#_@@%0q-+7@EP_i+ZRQQ7kY z64|~zFO^8x^D$|v$K_Ye6gq&vOB?tna4uQ9Tf2ZBq#*_^sdiT{6E<oe{Sh@*0*5Mr zEs>t15$@|Df1JW#v8yN6_pqKu$`O&C3iO~TUh6e#2mi`Nz(qyLHGiY_fds+-M1>h? ztT1Y?OVB9-@$#%uyWo%VC3V$JWDVq6`fhE~A4}|e906x_eve!|7z~?WH!zt*kQ)j{ z?USuRtXf(nzY$-r{asSfBKZ$nR|oj+0$+%zeFBX#UoZTm?5t_R;degQDCbk}$4+Y1 zmEqFmzm{Ej-M`!G$}NZkT{#vzzQJ92-Cv|?!4j2K`hFZhHD0vt(NC(%7*LtkJvt$r z+HOp^C!8Nr!adF4!kzvV)$k1_&oQh7MR9|L$+C|W+m4LuBl1``p8`uM^ZnxyHwPQ7 zvgkeJ4?D8xS0%E2i+)TZkF{j08t>%u9X2oD5>v0;D6=1=<tx1gD*-d%jSm7S-Q7$e zT<<Dv&2OA9JP&<gY|z0t<3Tq2TM1TO%x|}A2(0f&M9Ez!qqc~kv|UGgDN$kFC5!2j z_8@^U?<B5YzrZpa8J7S(riHi@0usMPC_b|j6^4os^<N3(P7GnD2qg*jD8ZC>DztrD zWcwCppVTFH%1d1X5;VjYEpYr&T)j3_;y!DE<BRO-wMOz6g|-7Nn}J_yuGbDr<o=dO zzL%z6dsiaAF0y@%$pKcJaC=q+IqyBiwms2^L-rKe_G4|&f5~4L+a3mf-99iBl%euE zKuPJ#|AO=Y^=OZvEa>So_h6acKxvjL(GZOokIqNoQZ$L2MM(EY2+S^#fbo+00HQbd zr4lrhX|T899x4HS2tZL<l1xYG>0vTm|3{W!k9)XGhv@iZnLbT;H(eS#LIOS@0L8=K z(8oUSkRsbYDQK9g)H+aLv<tC)gLB280|CP1efYAPbN3b@V^!@QhT|#SeYxa&2l1s| zISJM@7V~fPN_wfirB(3NhxJ+l6;WtA*rMf?#q=PY%eK!wDPWID#N7Sub~ZlPDH&gH zh9xqQJnLrEj&B7Wv_)1vK$3kE1R5wohX_<;I|%c*&OKE!03TxdH$u5HB#ckN8MVh5 zHc`TOmSEJ@2XW<dH%4t0fv~2j2zjz%)aG&KIWjX(SB#o1m?2MCjM|7GhC`(+{Rt$+ z9Pi8DM|FaSCMhorA|4?@Q4*y0`jHZP!_)8uUd-On7>V>|1Th&caphaUUg-)qMG@bB z1cAm#&?^$8^R-H7^HbnU_H&>#q0qM9i~ByKLTvkCFU)5GGO-06U<*Pg-VX~xcinGI z&4nv~#ghdAPPR`nL1`pF5|u{7LtleOgV;U2ag>TN&>m*2XCL-3v72~2Da4`Sy9(cx z-fBLSp+d=9)WB0n>Yyy23D2{_A8B5s(93l6M&T(C-nHv@o~DhLugCQktH-L1mw`(@ zxZ&FyhTlkkU%tt^*t>Z5O}p`lZ~Ue27w75ebMq+eT|8`}$bD#>S**T9F}ZcgpKpGj z|E{0^;QaS*es2Ey`I6MTcnfFoWceVc8UV4&hnE*+UHtR1UU1#$S^a1aupb4yAdVK~ z(OOL3PCX~d=pX@;wVc~;2O8Z9$2X3UJ8{4x&|392%7v{*YbDKJ<E$FZJ>^DZZyBAR z{8R=eSD<YoX#Tn$;WjA3EIfZzw*pNk_Hvm(&R<*bcun#6kwzinF#%hd%-{1`Bqms% zTcSLdfNgII{Sp54CfML8Pmd_Spx$S>0J)5);%1O{v3*7p+1|l*ss<_Qgv~{o$VPk4 zMAAey+GB|F>_h;}h2S;}E@Vffr!<mdOhliIL5$g(V@%9HqCFo+dVUv)(>^?Io3u3~ z1;_u<GR8D%*%DL@A{k?vwAm7b>1MQyF-_XPHmk_tm@D(RJ~|&O&OBbSc8_*wbBX;6 ziZPYS?}xf*7yDgm9FiiAM36D2NxLnWmC7?t#)zDMoQx5pJ>il5SAI@rXra%hYf+n_ ze>zup5;GI@UtZrkhbaudmP7BMtv#ltZuY<9^CJ#>;59S=hi>Lqd``=^&;aPOIq-(h z8Fg#OG0nIc2lDW$Enc{#9eR{Po&y(JNeA*_apvxlweM+NNDlRG4@6t~jC{9;7lX7J z<s5uA>aXkG^#@j+UL4&S)nzl<z?Y9{nBFi^&-mLM!6+S_@@w-(Wqb~_3W8B?WK1u) z`QHsE^&SfM{0-LM+ZvM3>V6&xtV{W)N$N`5rSPV(@di+OzJ_;du=>mo^u+_Sd<`s7 zrrfJ%=GkDwH~m1Gb{UQXL-cGtkB3%%8!#&MRV+*WEHUL_mhr@L3S{Vr<uQ0>*gkQQ zp^t$SL9<TTPrR4?9FlM1!%H%J;4K%Qj=iLx?Iuq#n6{&m>rtFk2}*Qe#>uL9SxLLZ z1RwO;?2pZb_Jlms`=)-vAm+=C*_!k!R{ZrQ&p;?78iRpJizeQ@<W#8wf0#6|lrrDH z8@dV>NZr!-^^=@wpNzjHqZ+_W<VXVMa)3cTUzyKGVY0vH4tfkWf=Q_#&Jnmti)jt# zsiR5z>Csm7IDJI2f7=?~UBdrOa30K~Wf*SK(n%Dm6@}sF4KfUuf?q)>1o$K%hv6n| zAPdf6cyt(t;U+DXV5|)axM&HnRT$o^l|LcX(gLUMrud`8eboZTVR*CVBpe5E!Mf%! zyjhzokq2?)3K4#>?TcuO`cCDD|6t328t>wNfvU^cS>{INzLK$Xvo;0XWG&jn&dpjk zLIz^zW-UZge~W$~W9Me=B%BJZ?W)+h8EzE-8W=csZq`20(;PeFlsKg+n&;TLS$j{% zbL`x#y-w*s?A)xC5P-uT`q)pg^Zwx2xmmj!6dgo996Ps+d}Qq0tX)BT$prM+8Om<k zl<L~>BY)r~!E#UAX8wk7F57+?J4+)v1(=GRqr*6MHfaYL#<6p>jGawdDZw}%jFz#p zNqag7#IdtU+d?2-#?xcxX!!<-Ny}lT96LvcaqMi;Ze|#V#L;0KJDap?g1B<*Y|=&& zNROSP<xYS}OW@3NxZj3x>}=Aaf*Eq`Y|_p>9*~@4XOni6KvGP^&iknYaqMi;z6&De z*x96gB0+M9iVhnoyK0|@&{ZjRMq{YhIa<cfCT&9y6ONrt+8se4j-5?feoMX_JDaq3 ze-FN7Ki^X9e2`-2=n&gM89SS_P-J2Y`j%s7OrH)ScE(KUpp2bi@f17DX%)LJj-5@~ zDYz&ZEEqiB>Vpy%-+Pk>KP5aL5RBsKXitrxcskniX8Z9p1<WcExk8Pdqe<<Q#UC)A zZ4)qO<hZh5$nKZ(kow;*ryn5lv-NjvwuH0^nE#N|#Xi*jQ1(!J+|uM_L+zWF9a>2& z=<jKM;($3?jWh^}Y0%|J)gLNW!^xsMB~ZYeAOq&!GGJ~ICcdM{C}3u?mH~4K(CABW zz8sHxwi|r;J<E(LG`pDEmLl1I8$9nC+}(JB$8(sa#8!X5^$KFb!AMjpW2Z4zz1!L= z2rJP;8LeJxuY1Iwnch{U2~rovtGBwde#?Q8T<5{sArUP3Ee%NO{r3-v0c^y-JXr;R z$(=?s_Gazxek`A5HEQoMR=owk$&Xd5q<>+odf9!IAIqm#jam_7)w|Ub2rFx?uS(5k z{7hML{~$b;CP?lPj8|_c`yLMD=VPx%EuQe0_#m!{BbTmT6>b0}HG_9KuJqOS6AphO zXDsVUS%e(uwRjWoTWjVGW1IQt>rDAIOnwb+_R^e+<{s@%z#gMQet80xqsTg#fQ_R{ z@dWG>{oaCJ1foqeOq}#K3ze`CTNC&Hrr?Q943(f)eLwsYojSNce>?jF0wB<gA7lHl z#J<~si5$Jo>sQNjN-fKwN}hx*4%2P>kdaKeAk34Fb3UvHxdtyh)51K~Fn`aoQxW>1 z3pEJ?c^4b@9$QUEvp|XlQ<E^^=@mwkFyR>#=J6W!m)tKQe%LwGU&_BgrqAiGsz=H+ z&KpX@$$3!CqN-h)nt!_y%lo`3iMn@BESH;-N~BZjoF%rtxMKXPUT}&S5wH@7H5LB3 zFOqA$5w`~6oa5>^yjF@WXSF$4pUYB@239V{%iTZW$p9pdUi9QQKZ&2bA__cDWAlSL zrMjF+?d;V{;3?V|c}t6Y5H&AZTdwUd=7*iQ3WXnbX}jpbWuu8A3Z>nk8t4|A1CoK9 zH15)-69<>=h%2)SyDy2Mv><@xT`Vcnd~JPk&~D(a;>-_e-|#_jru(CHRyy1OR@fyx z<jSn{&lq=SXnTK`uI(!Vie`+vi*1LBGb>Bh9?`CDk9R!r#<0dy%FhGDz1t)Hp12lL z%vfEVsS(f5i)cEC87L`Em+N&R^G`-U2~ht@Qv3Kl1f9B&sp+niPXm;9gOca0!F)5h zcy$MHAuSB+VoWD;x&kwp{4y!+UIed*CFH!8SMK#|D{Su;XYMRnyIs4SC@Jf~H$_OT z2d9vs#-iT_&u(*Y#sga`)Gw~oC#q`kDqnTbkA4R(svlyVf>wm&sc)=E2#?!9pI;a} ze>CXb=*T8E1%EgCjMCVq^!KA33V>s_Ix85gWEzLt!CLNMa%aX4W*zTf^2J`Xg9$Kd z#ygmj0%v!FH!v9}H!!0icDz0YrcmMD!LmRg;`C=&Z=AP}griU5+&{l8@D-+=hw#4| z<FWhjNtbQ>gEOu3snUmq=OsijEgaOB!t-Qcfp5H0VIhV=?zr~}@4eo;DONcUytwCE z9h)~a@1DF~{D1fA-K#6|WAo@cHm~)!8!*C9tnyg!;$GSs0{`4!Pd1JLv$*XJEaOUk z)xgqIkp&MdI6vziuh#JPkSD-VG`u*1yPB|!=9AM0I)Y4>3(z;lO$7H847q=Y*;=Ed z#U^4S=4y?2@r73dH!4odf}C4B+2u)Wv<<G|ppknvem)GxIdtxr0BfHV(}pze=%5!E zu(pZS3StHjozHAYH1i@#1Ez=FC=jkM9Yn9jgR!mIQ;r61z&(s@F)uJCRLArR<av-W zMklt;iCX~U%_C-E&iGPXJX2r#wLgn@9wAJ6j*A0`iG&Dm2Z6~R?rUxbVdhfl<2;?Q zK)^`Vj*xoxn%uu9eakyR+{LQNCc|4|bfmZZb=@Zuh>pMe4@kSm8)++7I|Z*o?Muyx z_XO!1`E+a@u*gSEA5K@%HGBECNF3^Gj>Zj=Bu*5aTqgi!JB=SeYj%O78*?;jb#D1r zh>QCyaJyZ60GkRsg=1T>W&O~nXf<*q83#SNe*#$<u|WHC;-8dg&?QPGc@qmDsW)DS zCHY}s4Bz(y>C0EIqhkmiR7F`IxF&f>-Tf%(&<j)Y(J5n}`w^*AsRvbslMsR?u)0DI zQ<|(wDipVPkZq2T)su}x40YS|k!||OHdTM2qhrYG)$jcDHw?C-*<%;ls&Q|h=OwIV z#mZb(L%t=b!_!cqecqMs1qrO)vlM?XBqeJo5FHaz;0%fEAsR`69~fn%2BglffMS3G z@LS)CAIb~t258w5%dP^t;QFO&w|0ekNqz{zDECBZT8|d8-hbpfOM?SCTpx@A0Y+P4 zM>-%riesbVh>I8eX*5$|7WZqvE>`1!COY|Q)UO$AuyomMosvJgtm$JJpC2WwX|1k5 z#*w-Lqf~Io)ZE(Td`X`3QkBuKm)n0S<1YM8CORf=?O{IF22SdH=)e&LKiWk<!>5{l zpvQ+-Qu*|+Y_T&);i-~OSDg)|xU!DVnVro;jnAaw3S;hh91+l<3}h%>_(>-k5OC({ z5=4>&k&xhdTtLvi3g|cT=;l^!+(xL5rUoQ&G9~DQC+2|KMU+4ha!O2)uEDfMNqdfd zEkmn)fN9T3T7rB}kWw4&5tMfT@P#XT2#BhX_gDv_a!R{Hlqj#XNd1vh%5hyug%#S! zy2x=!EAu<93BbY!k~d(-bxJy}Q@CfA92b2@*?jUrcU)I9`(Vd)9uVocx;;RBiVKsD z>l@e^Ij*~ZL-JNbUUFO^!~%vX=Lsl5g1s9UjKv<AJ|NSy(9YRDl4*V^oBbc9SqYT- z2c@VzDDhly;$f!4T?~wRfKq-(*^5LWNBLvGQHJ_qvh%T{{L$|ytB65|Dm@OYREBAT zUm4|A`jw|Ql`>XRo3JcL*At0{pTFkkWBmLPKYRK49ezH}&#&_H34Z=FKiBZ{ll+Vu zhCQUKNvJ7pEM}1?MYdxEo2+0nB+N^&GzGg#!j2Q{Y6Tl4VJ8S?Q?RZQRzt9B6s&1I zmvNF{Qxwc2VV*>~zf1307V26SNM*xS1MPP$Ugy*O<(1J;Qoyn5UXwhiXCM&O^s6&J z{!jaX&0RVY*6#<dxF3S*eqabCbU)CS5-t2dWH4>xI;NF=;3Oq*=rrI5z9mTMw3dEg z7XgF(fSb~OKky=_RL>trWp!w#R|ET>_WWy^eQ?kB0V0k4f^~jlmp%VcW$f!<3`Y0A zVH(sgBZx)Yp8sP3gZ(}KJDK+P{Jk>m@A*3@?eF=oQcCanF9atxGo9Y^iz(&r`4^HX zt$Kc>AJ%TqKSm5XROxA8r81%m{K}9$->H=0pf+Jec<u}I{BQYL_WZs4EPMXH`C0b- zH~Cri{D1JX?D^00bL*aeD~Zyo=VwS*i=ID0!dmqFp%T`j=l7DZ7Ck>y!dmqFllO7C zvgZ$l0Q_cPcQ+j<z#KXdNZ@y9)0IvZN|T_r*TVuVjdjrVX}>3kGM*@P*AQ?P<Rp-4 z5hS%A9`%#q5u&6f>#P=0QhYve{&^#Zkq?HGGmw=~qF#cZxJ5wICPK^#B9+o`z_aVe zmhsQ&4&ooq-Ch9pUxht%N9C`Idj4kmMQ?Y_z0kPs?Z!|-_jbc5(ZbvH4W^Biw9?xd zByEtlJ9!UsxAu1X2^i$<KBTnY+r7mp<?Ut>#}2#Zjllk=-flj#5B7Fli3?BAhTh}v z;L_VADPw*Z=a`J{8Oq!Bk@B~Wb3*;qAeZ>l-CRkY7*hIsO6%TiA0^!96u%EC<#%AW z5SvyGY>FS&t^>P-&>d<i1z1_XYwz~gPdcz@RliqB&FsL2Fo_IZ`th@LU~&8`9hi}y zr30(Gi&#nrcATH31FPic)(-3i)U>q&dq~1sIIy)6*200^CSffc*bNfa!hubauoez% zxP<*G2UfjX#<tIrQUlHhO{XmiO-sYKauUl!L7;mn=?(l7wEQb*!2+kqu=qwF-RT22 zFyoCW`oO#oD=Ja89{|){4{_ib?6EsZrF4kM_5;mW>9-*;-}wRa9Zs8Dq<?mr8z<+l zal8^3Wz!%{phm&bnqL|e=y@BrZbD>ia>(rQIP2$*yjX(NUQRsD2D;6&TESifU27Qb z;*D<&yC1juwu0g6&Inb6Ug|A@QWeNM%}=Du;k~l#J=J0-?m~ljFUECE$E^{oFQjP* z-&yw1gYOo9QLGg=7RNo9_~4ZfPJ8f{2fZKYYoJ3OoH-bmM#$NF>t@6}U0(xe(@vAt za67>oI$mke`9iHA!rrRR&5OIK{KHV|QuT3%mNt2a@`%6?C5bsNmUesckGp@+KHi`I zufKqIwZg+RIASe(9;&68?n8HS$Ms9hQf0Kt<(&Z4?`)y^m`&H-^V2<7-b;UP+4yeB zyCro+Nj=OPp5W`h<mJfM@tLUGeO?z;4b4(yqb*K4?#uI?J5~qaSO$tIyGylq(;B*R zfL_z&9AS^B45^$!UawUz?=z+oe$1@vYS;*t5^--LW*Y1J8gRGqxKP|<+!arJk8uQn z!qzDIPx3)87x8(mu^XDvF1P<^r`JqqWW*sx?Szx;0cY46qUC{L1qH?L08FHzK#}fq z0!Xi+G-3e95>GR-{}b60Q}LD&ff0NhArTGED^-@?`ne}k{OpG+?$L5rn2WrNxJ#xt zaV}gi+>H)5Bu-)Zx+T7WD-i*Uvf*8P+^0#!VR5V*tpEb9F8&3iqsw|fq7rz=m45-@ z%yjoS7)c5WqrI|5Hx5E;7g2pq$wNF{@B$F6)Ecq;jPt3Dw7#PNp$s5vV@)*T$6fIQ zJrLv!IY7P?6z`EXCYrs;0f2WzDdzSP=^e~){$U1hpA@{F;o46IgS(Clj@|hG1^yrO zR%4wQj`Mo$gQt1Rk}fSAj+gVauh!B%cf16HMMX3e+Y`N*uO(sF=NCRCNBtW6j~!fl zEH|Acxml;+?YxDqytkbr$07t?@-4an7XX<yVed`67E)^Xmw4Imy7;(To_b9dPKSO1 zW^f0Ezl1S4sBj2IexK@k-W$sr-jN3lLsNJWn5xEFqnCmq%9ZYB`kD1}+5nPu-1RRy z2FYT0_zJ4x)HbCAs{aX%fa;A&)=SEPhf~T+*4AkEtt1Vwno-;7(_!@8JX1pJpI-^9 zh<koHK4YI-WyGbv$>m#C8G%+eTF(l_Mp@j}m0%mYbve#a5|--ZH#<*Ks5U4MdVzzK z=I7}{chqU0=Ti4FQ=F*1&(Cq}n#%aOE3c=$glE!7tYV2D=D^`&Rrcp0+U{I14%HsX zEwY(WPhz_w7gdo5vzhgLneGZSv!6j}W<HykFN_X>jl?DzqHK*MkG^Hl1yT(pQdKfm z*8(Nq6v9w#1{EKu*Q5|$l&rsl7{&3mvo-u|=Eb!m{2c4XSt{)-e(qXiYf&RZh*p0G zSjKAa-r?8QalE%hN5q-;Z|~sRQDvF`eKL&~Xwtci9GT|YQaKAK&9z;E5`*_dsDcv- z+g=6N7&uQdONrlK<u?v}i56I8pt>0bZ8}LCs&$97EE28aA78~HvdB1#qaBoK7AXwr z-IV5wsvlehkvO1!9`Hvb9X4*FEmR#6@Hq)n4Sqy0@Cjs-4V8GKPPm!~+pEbx1%8ms z>T|}GEl@+><J79&*#urkS4+~#kFu*2@-84v-YW>X-iiCvW6K68%tFTCym7R3qZ1di z#Szk=kduLgd&OET**&@4KEy;l4aG2ey2XW)a~?ha`wJgReQ5JT-5$RE;j<4HJ(BdY zdBYr^_aiklPN%x~__LWS{ihtRG_PWB=4T9fzQl!e4aO1Fu{n_%$Jp@kG<etM#8iTR z7`T`G>l{>?V6O{oM*43UpL&}*B~tIoY;^Apr4teL+MT!M&!=6}Kd3SDACwvIru%Oy ze@X)I(<_1N!k+{TQvqM%m3o^TC8t6gG5qfIS?x}u0LYunCDG=8eQ{=E$=cJ}g}33p z0EhrA_N3@etEW`i+m}JJ_@^BTCDk-6Ot?+xf3@4T-*hzkHqqZVD%RNFmoQM&Yi}Tk zkLaKEX>KGOS%KZuJpWUAm}xT1|FocST5eoH<BZi^7Mc=z_FsDS<DM(NNzb@$wsyhe zR^b?`UG@09*`xP3>-$d9I&i(Sd>^m4HSQH2u2S8O<MhBlPFl*WYj>@jCZzfzw0` z!@n=6ugo>ucX;D6v==_U*}mgwoHtZEu)TkH)~8z5nzJMhU6{=g*P1$BS?I%_>UNok z!6o+TS|%qP9~bV&O`%YJh<%4<97OkAW74?^9a7*`jQO8_ijis4zEZJeym89}<Caw8 zmWjqKlZ;y?8@Hqxw_I)9Vl!^J#<*pQaZ9nWG_HD8)g6U9%Qd6J_-eQ}<W*5vnP_%| z7JRg-FyXgGaQU5a%kPa_9x`ru*tq2p<CaH_r6JW(I9afDjldn-TkjI?n~rZ4271QN zf82O->u83L5f!CT+s=j7urym7#x1LjTOKrSDKT!@gqH`mIE|&{Td)Dze01w{&M;HB z&pxqrA2Zr-K(MjZXmFQ5yVYdCq<m{{e(qx^jVFPzw|dGE>iI&HUO-9fWsdM|!sy=L z|0Hst?)_!0N)zaN>m*TXp@%J3i_(D#Gk`HuMQJ|;=u6+OiqZ=?y`%IZ{(g5|1Agp1 z)|D_$6vj>vg*~qo-UY4%8&Xq{n#hpS=eDE@5Js#v?e*^Y&N~p#ajPSCctgs+3-NYG z%0j8o^6x^urX5~m`FBR0;mhXj<3y<lG1{6xaGpQ6r@6e)sH$jo8Y--2S+T{Ilcjw~ zAibuyTU1Slu$VhbFQ)IUvqkA8^swc6Q94v%E@jM3qI8e~B+@r(I+)WtN|X3o)-=YI zFavd)g?imADqIOSATbw->llEFrvJwkmHbfA8LcZ?!HxBvNzk2xoA$kLiZzx$TcJf@ zYPxBkZ}_c7G~09dZ>cD(C^%|{jlL0e?gz22!k$uIDoASWd!K#V&`*09?6pViWvP?Q zfm?HlCWL8rfTrN37X;J9UF^SE*RX?Vj7;-1XhJX4LYYPj4W@C$su-psJpt1Tl5>;r z2`$Ulf9|LDr>sW&D&t(7c}TLaZ!kD#+Si{Cbxx_bZxgQ4jGEG=HKop)Qb$eclA6+- zn$p!Zr7LUBdYi0K&iFSBuloK~@G?sF`Rv;TP7_<ZIE}9rcw?=x&ZxrUg}c1M{&d|( z_NUK(B#X&FF_%y&)2NWE>wmF~IK2!M5nMtHN{EytpaAACoUyMNN<-dAe|5&2p~Ca1 zz`P{Xvq{illCqp9(Y?2y^1Ufey>rTk3a_??I{N@-FAINC2!QRtp7L#Dy!R$n%KtKH z&5*W>F0E&D{nO_?m)GNl<lsLGE+4Vrxu<Y%vf=j(wm&s4F@5q>=Ou7IqQJhbF8ZW> zTVwQzaT^P+j7N=dlPko=pKX;-3Bj*97ucWvi1X5i{i*sJZiEWD+sooY?4aBRZkAF5 zevm+rPOjSVU7X#u*A7PZcZATsraV-@RlA%q_Vvxe8RpqWu$lJBc6b1T^WbY6amPL~ zM>zXxf5F3SyQ|*5{z#~O-Mfv^$LAI9z)zt79qH_&(St&VFxq}%p53*>dpqnVPP?74 zRM<SgZiLnJ)@}^skPHiV)y(sbwMK*6*Z@v(bM3O9oaepJ8Ut<@>fBtr0E>KW-Ga;p zGP&d`eyICsHdI(3?5=$~DkJRce((u<WL;t-t8`w4J$<&FRSXT=PeLa92|Mf95kAj8 z_ch=73VcD2eK58`lTf6cHAzY{i+3uYs;jWyV80O>9chP3U3;NW(&rmO@`5@eNt>ab zr^U?4tjMFT5A8cVaZu+5Qf4=;Sj=|SLy@{3y?Ib#H_aizAp~Yk-2&~IwfSN;vu1@( zh4Q*-(}EbV-bO%g-L%Vt7_f5sLSbgDpJX6)81dRV`vQCB`HJK!`mU>BbrcBKK8(>3 zq%BewD`#E>G_C(hOrJVi7z%`l5MpD2Sf#_&cesdHSa&F^?$DyTLyPMU0UGB|0AUcK zx5P-Q5Fsoe^Jjqr8{$s@VT6eX=MNKIq9Via(;wWlQr3bajS+iTQ2X49^y{|mG5#gO z5jqJMP3?Hq@Y&Jh5&LRxnp=@@J$n77eZZEAnn^X=Q=cumC!*+<$XA5+l210-*tBSj z&3_U_a|UWp`Z54?7ZjYFH0fk<nrWCtAZBsxSpS{{GwAYXX?j*<ExN^k{5h2W#5kYN z8Gf!J+;Nk4#w%8Bo^M-I^zp=SM{4t~S3=JnF@|6fp`u6>;?Stjtdu1&RJ?l}H%P_c zs_CNen#s7WM;q^Bt|6IC;L($)YMO0L%@ttmd}RH5aqroh#F34z<2TRmUom_AyCKID z57*2qeX-`a^+jh)#@?f@$0Lk47yfpQadO4%Nu?oxhd3{oM4#QJC70LCV-i6m_kd(x z1tLaTl}P!ZXn2U&`&~%*<RcA<J_LsqZ;J9w-(Z%xZoClJzv#S3``qVDcrHZzCDdU| zY&05E4s1G*e%)=MuJ3)BqJI6(kelZ2s0=ggSa)7j=Kq^U!eFy$WhR};P7QQwpi={# z8tBwOrv^GT(5Zn=4RmUtQv;nE=+r=`20As+sew)nbZVee1DzV^)Ig^OIyKO#fldu{ zYM@gCof_!WK&J*eHPESnP7QQwpi={#8tBwOrv^GT(5Zn=4g5+C&~f-B+4;*BXIlm( zk6bf`J}fJ992R?ybLEmKu_$Yag=q4#S1!rPwM<Q8vMAwPnde-!Dks;GE%B44&dRXZ zohuhRmgTIpB(E8iJYo&*XhTlIjA0(cc2#b6UiL~yl*r3=ELgHE@AhnmBYVMOXKpT_ z3l`tGe8?qZEK72i<!4*QTT-ILvXzdM%l(97EWzbYoH9-pV_%-LYSo=%EKEGcLNZH` z#c}7V?AA;c=wgnstj=BL$hKtX=H}$KrW#{e?8sfts>sdGT5@L_ygm7fU!n;riFo|i z1zrA21^pu4o;;#0jjlFU_xKdcJ@;6aLQFgjA3i)vC>7>rFV0#%#-4m-TL!Xm7B9(O z;S99BYL(!YO0wi;JDj;I^DOqPWy^I<a=tNvjMSD%Qb#bd5o;_1et~j@b9ok<8yQv> zEDuIwhmodDAIA*z?Agm5IcVsd4y<P?nV3Z<vY@uhEvuI~mRcsxg?)`&Gu)ECJUc5d z8<ik~*SRiUlAE)l1D3jCm_j!<mMO`S=g4w6^V-y~E$MK}<gAq!J1kBVJ!<5lWsW?{ z@<my#if_f-xpGC;s#WNds!x+TuAUBs$d2-JauJy&$LX--*e$tPD{m!-Kz&%|S(=r* zgt}|X=34rTt-N$W$2pg+ShYNR1^RvVl7NNeITtU^&dY0E?ys^Fy{J~i!!6S%O>9xM zU*O)6=Aq3MSq=;9!I7J__;xmyY`DpmN@`Vp`$pY?ut}CxS-Dv&vK`sEc`al{bBtVb zng7GzIXdLC7#<w08PuY`oaa~BPlqLTWJ1?YN@M4od=;6)$|cLQbIHx;EzVlGIA=+= zWw0eHZ}GBa{G64WZMiEuH)n$AAeVFH?JILuuMFfS*E%4G+M<dWW0^R8Tr!U|w=Y_< zIA_HQ3_2^9tjIx!64@)W7PWp_wsPq*1q^y*F@lF3w6!H=)Y6tcA<8cRP-Aqh-=2Nv zq8#)bj7+PX@Em%TevanSOE0B?%#w0NP!Y-%C0Qm(pTy(Ro!JhHe-uXB{`Wbj&YZ*L zO&&oy8--%@p>+mnOZQpQi^IFHdmfUvG{?DoiDgkXobT<IL<vbt1H3~y{0>R~dr_~R znlX`M3RZzXoM@lnlyQsf?W&6UD~4|y0v5}NkxSu~or}noa?OyOI3n3{YZhXI#W^b- zxj8Zp@asBCWI3`HEMBo>!79`|+cCzHHgV3x1+%W7!-e_jENCGSC01nRp*IUl-tw&c zY|1(a8q6DGxn5ba^wm+q0w(EGhXI?$5m_)~a@w%jIV&zpyMe!>#Gu6;vSmKRWeO~B zSQ<I)AxO=bbf+Ub56$#*Ss~o8CGb6qQ70S5>g**JM-B!Pf=Kby$O74>Po9!7ZqSm; z_+OOB9hSX#X`Wb~m3wQpz(6Hd=B!k;g)kHW61h{7Ti`xdLLW4Ik0X`*Y^nY-2Vq=* zt)`3~W0^E-)*Op%;?(Ka&%QcJ%$zY5)n(7(_sNsfX3v^oS(HP;EUMy!V_^?7hCOMN zn9SBou>%KZj-}a>nA|%!QcS^stVPSS+2==zNz4pGHQLVtof2Pi|Gx?zOuTI6trolF z!?6}x1q@L;kq2hbBb#^<m9co0b5LHAMO?o!XuP!KEp<AUup8uXg6c$r^|iXg;h1*J zASWXDWjT2ZR^`It?G&v@=P5_BC}D%iO&??Vm6L@|vQ7<jYM@gCof_!WK&J*eHSn_< zNGY$5soq~&Ui}p=dHJH$%-7RY&^OX|6z;>dOx>(8d1h;*qYHkWCe*Y0%?$04VfF52 zpKB*BG}yFn)1FP`Zx-Ml31j1#ziIK8;ZBJ+aYIoC-B02QpFG*sYx3kH=Rmr(3fB#Z zt<?tieIZ-B8Qq_q+=>fHag$M|a8G@F>q35BB;2Q~w=UslyKq1G_|{eYoQq$puiH9> zpQj1;jJmC9{ETauZmQclho5f{+68aA|J1zI!pVW6bY%5pR3o)I)%_dK)<lL57VhEN z*17yVk1xO3(#yD|w{gn_#w~Xkw>*wpnzlS<EK3lsgg&@AsGoc+FqVx6<bI>J{o?22 zjHTU4Pg~=RsODBH^BT{*QVzV_ecPH)t=Bu-)`VzX-`R0A7UY9`6C(F1>SU%KA>3E} zur-~ZXX7`#UXI#U7pjSOw$<SVy6xMvQ0*)}L$sRhJB~&&haV+}mCak1a<1D1l|6)S zaJtmsez<vSIX}OPOX1w^;>Wh`;pArq_xne-e!<UQ8Qj^Ywx)7+T+`IGnr{4ws2)(d zs``0c%`*U3_&i@~s2+e%H&VZ?eqOuhZSBSF+FL`lUjNdb`j=KdOv_K!CSCjS1wU(4 z?I5);lRm9JrEPxW<B(6=L3e^W)_~{zS2{*^VmdYOf1w6EH<d<+MqzNI{{O06!a^RR zG{?-W{{PRoorZ*`78W!LM`A%^oTGmkZV)=4-L@d>>HZFNCF48#m5izLKP|&0YX|C! z6Z(j;3H^lA*zh~=k21@Zl;!^!rTrQ+t4}ZeNA;4@F4dMQOJay)c-2B{rL$`ST^sb= zW5#F$;)ecJ3mXy^zBcRp$35~Qq#mzblGVRn`(tV8KdYC_?bPS5QFJHG|0WH1%3l26 zR8nU#of`N*O#|t(x19|=o=CsklCbTk(9(z+J?%V)^l?4qIGrHFh{G>FH{KXsfV+PC z&-*W2`AZ>#LgM@SmY*|6=z+=Ko<U#|1fL~vd*J`fAG)*mi@_&59DzDS{LhHf$+c4h zof_!WK&J*eHPESn|6vWtyVRfWCNQB_&vEqpR6%2gqhErlpmC$)!h%N4(HkoV?>b_% zS0`kJ_kY@R)ia*iTeZ*9yg%9(YR^rxXL&s&so94+k30YTU#@|*>;AOv?ak}fuJs-8 zRs7&vyS%x%`JT~nB5w3O{5|@f(FC|BP6F=1HQ82cZy|iXA1Xla6IT1ANp`F7RcwCy z?adWFbGZ55-Me?MvD)o+YwxwaCtN-uIeFEo%KH}Iw|Mcb)#aP#S%3Kdio1H(D1s>d zh#@L0A%(?4j&qCPN0SUuWCLf2wF+ViAtFo?GXxxC2$yrj<xC|O!9qb43;zTSq|s`t zMPyAZBnUZ<1K|t`;jjpcE)#!mR+CCw-?2OMX5ReX*IY5f?CzJ!#IvPVX0z53b@h(g z(cUhg)_uQT@i9y(Qgm-~^KO5CKaEa@T8F9OG}P;LCkL@zC-3{@gTTWq&w40GNGk<P z$8l^?45(c-fD!{>EgSB{QFA1W5rPD1tsSqm#ZQxnV&i21N>X2_ghCzG8flHBjGde> zq?E!ZTt4b}343L?qR=Ho4#0v0cVLI}522&SgLJ$^QL@(DX-6dH1t=$zdZA2<(u2FD zicYOpraaC(=0h202rK0&0Dxn_Fppd0`FPnmE8V{&YhnAGdRTxuYi2z@`x_<AW-~S< z0Fb9C<w`|L<wz&uhJ0okdC(czsaZ2SWs6dFT>qLHCFB^xQbP1VhRPnyggtGgjaF^y zAUspbQnGFBMv_p{-f6C(40VzuI&}IZ@Sr|zn3CgpoJm{rCH8Z*z(qGGXMKPdgwY#z z8+ZT#7PrF$LpE9VhoR3vuat(^d9SC73{Mc>U_L{5pLT_d4L2AsLS9=^!v6;IX$<`( z56x(2K1ZBFE#XoJe2pWXwWO{o*eht>`R`E?fR^L{v|TIPMU-*?P-g6b!{ay+H4t$I zba-X(HRbT##G^hD32~b9$HUkT6!0Gta>H7ls|bK|3GJ{4d44Lc=Ts7+B}9q;7w%#P zO;lsom^cuLrKNmj@yOPr7Yhg8b<u;*t1D%>{NdrJZ#`wnTb*0i9%Ie=yZ-UX-p2Y* zb*b129qT?6SNrT+d<<vt@Z~q(vBX~Ao>2IRnHp1PUy)A>2k|iw+cV#-@X50Gr5{`O zpC48KSWussJ{b%PF&tdP;lYK;8#Cj#R5chMJU19z!6O6JnYm!<PH-N_G3SB{leepQ zw&hsBCk2Z`dexc9n}damd-ru-4!=D9_vP@O<bSAqz1pIVI5RYSYG`DH^4GrrW=!hd literal 65536 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�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 BY_R|U diff --git a/pc-bios/bios.diff b/pc-bios/bios.diff index 7850769642..7ba84d7c17 100644 --- a/pc-bios/bios.diff +++ b/pc-bios/bios.diff @@ -1,162 +1,65 @@ Index: rombios.c =================================================================== RCS file: /cvsroot/bochs/bochs/bios/rombios.c,v -retrieving revision 1.110 -diff -u -w -r1.110 rombios.c ---- rombios.c 31 May 2004 13:11:27 -0000 1.110 -+++ rombios.c 7 Oct 2004 21:23:50 -0000 -@@ -137,6 +137,7 @@ - #define DEBUG_INT16 0 - #define DEBUG_INT1A 0 - #define DEBUG_INT74 0 -+#define DEBUG_APM 0 - - #define BX_CPU 3 - #define BX_USE_PS2_MOUSE 1 -@@ -145,6 +146,7 @@ - #define BX_SUPPORT_FLOPPY 1 - #define BX_FLOPPY_ON_CNT 37 // 2 seconds - #define BX_PCIBIOS 1 -+#define BX_APM 1 - - #define BX_USE_ATADRV 1 - #define BX_ELTORITO_BOOT 1 -@@ -230,17 +232,6 @@ - out dx,ax - MEND - --MACRO HALT2 -- ;; the HALT macro is called with the line number of the HALT call. -- ;; The line number is then sent to the PANIC_PORT, causing Bochs/Plex -- ;; to print a BX_PANIC message. This will normally halt the simulation -- ;; with a message such as "BIOS panic at rombios.c, line 4091". -- ;; However, users can choose to make panics non-fatal and continue. -- mov dx,#PANIC_PORT2 -- mov ax,#?1 -- out dx,ax --MEND -- - MACRO JMP_AP - db 0xea - dw ?2 -@@ -1543,15 +1534,12 @@ - } - - if (action & BIOS_PRINTF_HALT) { -- // freeze in a busy loop. If I do a HLT instruction, then in versions -- // 1.3.pre1 and earlier, it will panic without ever updating the VGA -- // display, so the panic message will not be visible. By waiting -- // forever, you are certain to see the panic message on screen. -- // After a few more versions have passed, we can turn this back into -- // a halt or something. -- // do {} while (1); -+ // freeze in a busy loop. - ASM_START -- HALT2(__LINE__) -+ cli -+ halt2_loop: -+ hlt -+ jmp halt2_loop - ASM_END - } - } -@@ -5412,8 +5400,8 @@ - case 0x03: SET_BL( 0x06 ); break; - } - -- DI = 0xefc7; -- ES = 0xf000; -+ DI = read_word(0x00, 0x1e*4); // INT vector 0x1E -+ ES = read_word(0x00, 0x1e*4+2); - goto int13_success; - break; - -@@ -6984,8 +6972,8 @@ - } - - /* set es & di to point to 11 byte diskette param table in ROM */ -- DI = 0xefc7; -- ES = 0xf000; -+ DI = read_word(0x00, 0x1e*4); // INT vector 0x1E -+ ES = read_word(0x00, 0x1e*4+2); - CLEAR_CF(); // success - /* disk status not changed upon success */ - return; -@@ -7880,7 +7868,7 @@ - mov al, #0x02 - out #0x0a, al ;; clear DMA-1 channel 2 mask bit - -- SET_INT_VECTOR(0x1E, #0xF000, #diskette_param_table) -+ SET_INT_VECTOR(0x1E, #0xF000, #diskette_param_table2) - SET_INT_VECTOR(0x40, #0xF000, #int13_diskette) - SET_INT_VECTOR(0x0E, #0xF000, #int0e_handler) ;; IRQ 6 - -@@ -8344,6 +8332,19 @@ - pop ax - iret - -+ -+;-------------------- -+#if BX_APM -+use32 386 -+#define APM_PROT32 -+#include "apmbios.S" -+use16 386 -+ -+#define APM_REAL -+#include "apmbios.S" -+ -+#endif -+ - ;-------------------- - #if BX_PCIBIOS +retrieving revision 1.130 +diff -u -w -r1.130 rombios.c +--- rombios.c 13 Feb 2005 08:47:30 -0000 1.130 ++++ rombios.c 6 Apr 2005 22:38:16 -0000 +@@ -8570,7 +8570,10 @@ use32 386 -@@ -9515,6 +9516,26 @@ - pop ds - iret - -+diskette_param_table2: -+;; New diskette parameter table adding 3 parameters from IBM -+;; Since no provisions are made for multiple drive types, most -+;; values in this table are ignored. I set parameters for 1.44M -+;; floppy here -+db 0xAF -+db 0x02 ;; head load time 0000001, DMA used -+db 0x25 -+db 0x02 -+db 18 -+db 0x1B -+db 0xFF -+db 0x6C -+db 0xF6 -+db 0x0F -+db 0x08 -+db 79 ;; maximum track -+db 0 ;; data transfer rate -+db 4 ;; drive type in cmos + #define APM_PROT32 + #include "apmbios.S" + - .org 0xf045 ; INT 10 Functions 0-Fh Entry Point - HALT(__LINE__) - iret -@@ -9560,6 +9581,10 @@ - .org 0xf859 ; INT 15h System Services Entry Point - int15_handler: - pushf -+#if BX_APM -+ cmp ah, #0x53 -+ je apm_call -+#endif - push ds - push es - pushad -@@ -9570,6 +9595,10 @@ - popf - //JMPL(iret_modify_cf) - jmp iret_modify_cf -+#if BX_APM -+apm_call: -+ jmp _apmreal_entry -+#endif + use16 386 ++#define APM_PROT16 ++#include "apmbios.S" + + #define APM_REAL + #include "apmbios.S" +Index: apmbios.S +=================================================================== +RCS file: /cvsroot/bochs/bochs/bios/apmbios.S,v +retrieving revision 1.1 +diff -u -w -r1.1 apmbios.S +--- apmbios.S 20 Jun 2004 18:27:09 -0000 1.1 ++++ apmbios.S 6 Apr 2005 22:38:16 -0000 +@@ -1,6 +1,9 @@ + // APM BIOS support for the Bochs BIOS + // Copyright (C) 2004 Fabrice Bellard + // ++// 16-bit interface activation ++// Copyright (C) 2005 Struan Bartlett ++// + // This library is free software; you can redistribute it and/or + // modify it under the terms of the GNU Lesser General Public + // License as published by the Free Software Foundation; either +@@ -111,13 +114,28 @@ + mov bl, #0x4d // 'M' + // bit 0 : 16 bit interface supported + // bit 1 : 32 bit interface supported +- mov cx, #0x2 ++ mov cx, #0x3 + jmp APMSYM(ok) + + ;----------------- + ; APM real mode interface connect + APMSYM(01): + cmp al, #0x01 ++ jne APMSYM(02) ++ jmp APMSYM(ok) ++ ++;----------------- ++; APM 16 bit protected mode interface connect ++APMSYM(02): ++ cmp al, #0x02 ++ jne APMSYM(03) ++ ++ mov bx, #_apm16_entry ++ ++ mov ax, #0xf000 // 16 bit code segment base ++ mov si, #0xfff0 // 16 bit code segment size ++ mov cx, #0xf000 // data segment address ++ mov di, #0xfff0 // data segment length + jne APMSYM(03) + jmp APMSYM(ok) - ;; Protected mode IDT descriptor - ;;