ghelmer@dsuvax.uucp (Guy Helmer) (01/07/91)
Here's my new bootstrap loader for PC-Minix. The old bootblok.s did not support 720K boot disks on anything other than IBM PS/2's, did not support 1.44M disks at all, and ground some disk drives (possibly to death :-( when doing the check for a 720K disk. This new bootblok checks for 1.44M, 1.2M, 720K, and 360K disks and should handle all four types on any IBM PC or PS/2 clone. I also took the liberty of making a change to the read error handling code - it now waits for the user to press a key before it attempts to reboot the machine. Unfortunately, I haven't had the opportunity to thoroughly test the program on all four disk types. I have tested it with 1.44M disks and an earlier version worked o.k. with 720K disks. So many people seem to need this code to boot 1.44M disks that I thought I'd get it posted and ask the help of people on the net to test it on other size floppies. Good luck! Please report bugs to me. Guy Helmer --------------------------------------------------------------------- table !"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ begin 644 bootblok.s.Z M'YV-?$!<05/�@Z!$% &0(BS1P0<-[<*2.G#!D0;]RP:$@'1,4P9!XB+ /"z M3!HY<SJ*8?-FS)J2<MZT.9C0#$LX</(H"$C&X<LT;NB\ 0&23,4Y#V'@N3$$y M!@RB;BZJJ=,&CLBA:>BX &""AJ'(,2\>:.2I4L0;>JD!#$F(YTP0'?2)"F6x M+,289^2$F0F4)EB3;,IL[9JP;D<X>/7.-(FR8ULX:<H\S#JG#!LS!]_(+7KTw MH8P:-I: : $B1HT9-D"@$ KB3)F.E"UC?E.GXQO,(T'<"9,GQ6"O!3F"8 E2v M9$*Y;^!0#$,'Z!D0<_*D++,XYLS<AD'TG+/F-1V20%FWH?Y&3IZ-8:+.-3BUu MZE6T!>NXD,OD#4CG#1^ZL4M'3AH[:83!1EAEC!&&6B3EME!^(-3A1A@K)3C4t M1Q>%<9!>9X6G64#CM5%>'D2-$1-21(%@ PVBB>4@&6&8M]$<0^46T1Q9I9$1s M?K>!4(8=%.6!$'Y@B5BC@6S,%Q!P(+A!E1@4881996,(A5)FP]EW49!NP>6&r M141UQ)ED#]4 PU.^O702BVM821A)-DA8!W@/01';7-5%!:(V-61!AL7(?9&q M7GL19<9W<@B'1A@/;=<6CQ5=A(9$<HF1QG.Y);=<<VX\%]UT?,TQV$#!83<6p M'6B^Y">@G98$E$,$741<3YFR(%=6(+1G54-1G50@'6S@&6-"IRJFVGA*IJ#;o M5V.@01091H')X!G_!2<&G@3)Q0:B'=%QQU#;RA$2KG.%-6I89JD)PDYR34%5n M&RV"F&-NW7X+!W/)<JEAN-FA>=:T8>G)IPYR75%>A1V)28,.((P W:[EO?=Jm MP -W"8*8-B"L,!%3@. F&W"65!Y\2D+LK<1BXF"Q0@QMW+$9'Q-;A\@$3QP#l M#"</D;'*)+%<J,OH'OG50XS2F%&9HMJE[TMIK<4D44A1%^%%=V3U*)V5S:O7k M=R D 8()(! AUQSSCB$85SV#<$0=(")AV7B%DA;#"S:\D$,, =D1!IX<,F:j MG\K)T2L(AT856&DNT$!#$QO%X((,B(-P@PPP+(&>>JA%KIU/!^6AG*<**,#5i MYY\S\400&!=Q! @]@*"44S8\!3KH 1%D9]%EI:G;G@.FU&)'KSKG^>M<"9'$h M$U-,83KJJN,! U.N P]"[!0E6-BX1W-4V64,OFK1[\ +\<035!A_>NI*S6!$g M$,T##[V=M$;-QH"/@1@;]BA\%EH+BM>P1 K<OX[Q$D((@O&0%P/(.>]U 2G@f M4U)')A4D+P9%0!X<^D.E[9BJ17MY#47FT#F3/&A 7$F=P13@LB]\2X0PL $)e MX_,%.(P!>25;H9*^,(:'B'!FG5. "\[ DI40Z S?P0,=-L*D,[#H+40LPQG$d M@)2-%(0,01RBCJ)RQ# X,2I,?,CSF,:G))7!(L:13!ET&$4%%#&* '-!%<VHc MQ"JF,8ML7")2TEA&N<1/7&2I'FL,4YDS] ]T'K+#Z\* !Q:,0'C$$]\?/Q?(b MUX6$!81<)%?P\#'0T8@%-#K@YW@R!QUDDC3EF110!$2N-$D2+6\0).@(:4COa M@4^1!VPDZ"0#23R<DI*% EU/6- 337(E()+102])LZ4[E-(EIY3EY\90R!'8z M3Y,!49AN!O:>0(XQ 16!@P(2$,@[)."; ;DC2Y+3OVU^[2UR4,FX_"0V,M2Ay M(MM40U72D #=I7,CK@R?Z1(0D,HXYCWY5*0"[$D'@'$SE8XL9 V3B5!=SH&7x M>/#E%OVIG?<L]("X'&0A(QG+AGZ.EH24:#]?HZ/WP("AJOQ<$\D045^.M",Dw M8DT-&^("P;SH+1DRR%?.H*RVP+.C*>4*V QI&M0<,""K:HZ TJ 'DH"-2COMv M:7G&*!?$A*<U%7F-[PYJAP2PTIG@](@8.P(@,I1!,PD(3P*4@D.4:M20JX,<u M#/@) D1FC$@#ZLN<'/-.&!6J+W6 7WFV)(=;5O)S8BAD8@V;R\^Q%**GO"KHt MV'I2H+XNL8;,RQ?I<$J\@LZJ0>E<0)+@AAHMM:F7XPY$,#@>0CUT/7+I#X@4s M9[@FI+8[=, :OV2+']90:&%1^E@,<"#:"X7!)332 ^ 01:#@)#5 ;&"JWH8Rr M7(\5*B1H(,,,#B(9SG+5J\W$KG;I2@;:1 @Z:3 K&3825>T4A$9T -$,7% #q M$:Q6#FW@8 +P6D\R:'.;N 1O+<-Z%)(:)5K;5"M;9U!<*,2DG>]TJG^'4X8Pp M\.@ADEE8MH9R4CXD(,"LC*2' YD D-KRNU^-*PQB0-??0DE*&QG!BS^6NAALo MD\28'<'J6C=78'8RL?TR@QDH<N-4[K>9JUNQ#.C:G^.^! 8O8EBAA@O@\B3@n ML2P-ZX%YI#KV5O@B)TUK4-:*AQ@P. %J<(,8$L $&\NE"'*(B1RVDH2.[&8.m M;CA!1VA[N*TX02(:;A <K$LXQA6YJTU&+E.)6@.ZF@:X4I)3DQ*]AD,+> 3Bl M;31/S#LX&JF7O9-2EEG= %\0U6!Q];UO?K?)WSGXMW,?MG*(\4#@L6K'/SQ*k M\)@7W. '6R3"T)EP8"R<X0Q3E#4=CK4<!"SB[YK8TBE6'N18'! 72SG&,RY4j MC2V=XQT[A:[!!+(8ZB!D(G^7F7!5GE.,P&0,/3G*P9UR#:J\;"S3FKRX)@F4i M ?=EU>F:#F0V<SS5S&8W'\D\CH-<BO!DGMY.J-^4!@$-%,>5RHGF4 ^AP5,Hh M/8<=)-QR&)<+#F PF"=TL2UF;5!E+L(:V5+IMQ$_T4;N@"QE;2NP%\D+4%A>g M+>B=A3:V>9),2+)ER1C)TAQ?] AR .WPNGJ\FZ[#>3UMD8V45^J#&W6I03#?f M5%MMU?L5$!OZ^U]E,_O>U;9UT?\=< ;+Q<$M^;6=7#WH85^XI(%&]D[,/NN]e MD_C9*$:RM%?<XGYG>R-*:@.3"I6C;$_F(3;^;K>5QV-P_SBBXRYW8<\M>!GDd M@/ !B?C$X2VETM#[RH7,,KZCU65^@\3?8@8XK]%,\#87M\ZZ052>._(XRY5!c M:A1YT5 H6H=!ZVPXV(+(&Y"2A@C)Q8*94XYJ+&ZL]#C*4L+IUAHXUW1#AH19b MFM8.IYV:WJJ+'^M$?V]63(UJ^WY=OZU^]>EG76N*KCWV;>]<FP%&'RN%RU)7a M@Q^;\AW5(1.WY1V"H0"O8E"M]AH5<09A17R#%@9HL!'HIATGAF.IYQ-00E= z MECJ)MWAELB5"!&D?XUM?MDU%D0 YMF3DY1,(:()3UAIOD&',41JGD1HH( +9y M9E\SP#_UA 9CEV,L1E=IP0;- 0=_DVU)LB1-PB\S( /;- ="R(+-5(0\D15"x M,8552(1:IH5H185#>(5?F%MAV(5D^()F:&FTE%AAY5,D\24D A;A%E$H$#4(w M$18113Y &&"8Y89T51EQ*!:YYE7,<F4<6" #%A A]1WO\Q"/8DSLX@8@XG@Ov MEX)<M684:$@N&!#)@7(Y\S$4PG8+]H9B%RYV16@6,HIHMF84(6=A92L881 6u M%(.O6![=9T$=.%+@@1D3011V4EY;4B7WD2FL5A4"YD$"HH9;V(H)\"JQ2!6#t ME@:X(3MQ@DJS,Q0/TW_%^!S".#8@<#>E186"-A^6I4N"!P/F(P/J P)K@#OAs MXB%2XE:KE(Y.,02G!'2=%5W<5DA)IP=&&!\Z@@?*$24/H3".]P(1UQ>+=8Z?r MPTHE]"T(%&A]1"P=\8 .X5KTZ%@/%5(N=2S!43598P)$T#49$P*I8S,;R14Fq M)E(8,1)R$#65,1<@TB+2XU099([.HTQ"U9$M!4W3Y"UA,B:C(3-/89.K10?Up M<A'\,FY[0@:PUD=LH5_R!!D) 0EY$)T5954PC-R<0318A"Y$8)-\BX)08(=o M 7UZ]' @876). 86*!-[=9-VE ?1%17!)X->UI90<1%DR7A/(F7O\5O,Q3+On M(Q&=M!G*DCH(*9B7"!(>QQ8#DCI,. *1F2S(,P9V&9EDL)BN1P8>1P:3Z6_^m M]( ZD "6=DG_2%<YD#@UL!'"A0,R*&F%0FF'!@("IHL%0E<A!8)E4(),B((@l M<7KVIF5XH .]R74RT *2DI;_47Y1L4T]T54T\H5EY512EC!W8EQGD5S71&+Hk M1DAON(?<^1*6B8'(PX0H ,M$$K0X@9 J($0%58?*(--J'A-LI[MZ1_O&9]&j MQDJZ.0:\29YH:9_""96&2 8"5IT#BCS7LA;!R987L0*F=V6[*9X-FCH/"E/9i M>:#$F7IHAX'(29Y1R)RT,IW0B:#3F0"KF877B7P0FIV[Y6[HU53'" >:R 8Lh M, 9C1U=@05"]1:.I\T1!ZF3Q5 ;U]!I86"O2V!"^^"B#\UM#$P-L89<[9VYSg M('7UE ;S25=M416U01(L,1&%PH1MX2#>958"RJ#]E ;(TYCQ-I@I*!=#0!!Gf MP1J"Z*1F(E:O)R++5QD/82$GDB*T$17MHAH%))N.YQOI4@>8B5</D30J$8=Ve M\ ;E1P:_D1"IZ!IT$$8S<0<QD2GSX4]T$WB\])89ZD7 V:$2JH*'^%6=>%OVd M2:5G4(.381!P:)]G1F*/A:$\0:"_R:'Q]I@(NH*/Q:;HF3H9@9W#RB1YD!$7c M\41EPHIJBGK&Z:#)%Z%\BJ!B>&E+2H'(0W-I@)F#&A;I\1+EE6$NADY>XEW=b M^E@CL*2=&:XU9R(H8JYN\!(LHZ[])JUQL5]5H8D5V)EA!:XHJ1W*,A[I\1"_a MY:=-\Q#EJB*&:AY'FJ1T$*NR2(U),A02RR((Y[ KQX5RL&:B251:-IJ_*38Dz MXJS0:J^$NB+M0F\D.[!H<*U#B@<J>R9E\*SJ$;&%ZK$Z44]:>DFJQXAD,!40y MF@;2N9O(FDD@Z(2 .9O$VCG^) .G26*LA*S)^9=E8HD>:G;%25Z>21!\*9K(x M<W^!-+,[VJ,\X9FVZ558=&45J&/*0VT(BSQDBZ!INU\5R*-OZ+8T^K54.+)\w M:[)>ZIF:>9=FM7E[RZ,LL!)O.)I,R+7ZZ9Y 81 ,09KYK=>*KG92;DQL)^Bv M!)\R>V4Z*IHG>[;Y=I\BN)Y 6!$ 5VMT\$X&@3.W2A2%Q!:YRU(YQ <M\+O u M&[S".[S$"[PK(!<?%6<?PS6@=9% !Q09!CL[4;S46[W!>[P*<(MR # '-"?Dt M^)"VY)!<D6-FL+B%=4">]3G-ZY+KFU]^%!!7 !<=<7P(4IM#\15>XHX[.W\;s M=6(*5F8JY&$!AF[,M!.O6*I'N%9:9AF\L7?C! <E%F>1][\QP'2=T[P((U$:r M_$MW<54IX1^9HAJ)Q3] E:,L@ (CG !'112"%11:\A#)TB)4LC3-NST']!TIq M(08/J:.D])%*\CYL<2AR\ .GE&8D\5GI1*4NN1^G!+L;O,*6,9.P2[L*@!ATp M0#>,E$HZ_)!S&P-D I1>+$$@[!A"'%EN\$*@ V0;C%1G7!$6"1W]@1\1$1Y$o MUKUJH2R(]9,N.0?$IH<HM<7CJZ/QZI(ZHT0QL2)L\08LL7FXM&9B4(&/'%;Sn MXAK^=D"2]3F4I<'A=(JI: 5)0 1%\ 1?,#RG%!&#EL9Z_)%'(25T$;[.PY5(m M?,DK7* QC"&$4EQ3\!J)@CE6DT&$HGQT7"@HP"/#RE9%8"RL<1MF0%'0PB,&l MT1<BUI<+<P9OW,S.18L<%!!,4&%W9VPDA6S2;%8?_ ;2X<=T9U!^J%@9:&1Mk MN,Y=A5DA,85*5&+Z16+_$T#&4TOR#(&286GW+$!%L (R\+@G!KN=$Z ZX +Qj M8GIV\S%=9U]%]Q"K41/EP2X=<09A4'<% 43*\GYH$6J3JANA>@9$5!NQ=2AVi MEA%ZAA;,02@I ##B-0.GZ0+3\AUD%@1&L!%QM1&?P=,L,%PZ769"$-1&D-/)h M4P,T0-0VD#@;05Q',GQ]##;'508S1Q(($BY\/![WY<L;1&C?IUU,4U'@)RMMg M>L8WF0<G8"<\NGPD41"TP5-U(];:E= UC:1*001&O=,@T--[O1&MF3PR$ 1$f MG==X@-1*S=0@0%Q?+=-R800?<VJ? ='YEIA?70,S7==DAM=!#0,#O=>OV=<@e M\-=*$=B#'=1B<MBEL1$,EFF7[2-VC0>:G3R<S=.?/="F$=0Q,-3)4]2FG=2[d MO=2IG=@=9+XSC2ACP%0@( )2T*_*.V=<$02U(1/,,:YB91@NP 5RP 5N( (*c MH%FO4=QS<-S*)0+8+02C@A]-D 1.D 180#BGQA5#D!QYP)]HL&<Y\'D*41%!b M,:YET )(('8;05IC<-W9O=T*\(\)O=##15=UFAZNP7+450.$ICB,@Q&%D@.$a M9G'2W'M+4%Q$H-+S6QZ<2A,W&"]#22:D40,S XPY@SOV8A!-Z2^8RA5(\H"!z KU2)V] 8I=RA,B8"%LA\7_<TH71(M,A\N4$9/A$8ZM$9/Y$8Z!$=/E$4 X"!y x end -- Guy Helmer helmer@sdnet.bitnet, uunet!dsuvax!ghelmer work: DSU Computing Services, Business & Education Institute (605) 256-5315 play: MidIX System Support Services (605) 256-2788 postnews: message content ambiguous; spurious information added as required
ghelmer@dsuvax.uucp (Guy Helmer) (04/07/91)
Here's a repost of the bootblok.s that I fixed up a while back. This version should work with all four common PC disk types - 5.25" 360K and 1.2M, and 3.5" 720K and 1.44M. As an added bonus, it doesn't grind the disk drives when booting. I've heard back from a few people who have used this and say it works just fine, but before Dr. Tanenbaum includes it in an official version of MINIX, he wants it very thoroughly tested by lots of people on lots of machines (probably has to do with not being able to boot MINIX at all if bootblok doesn't work right :-) So, please drop this little jewel into your tools/ directory, build a new boot disk, and try it out; then send me an email telling me 1) what CPU and kind of disk drive 2) the format of the disk (360K, 720K, 1.2M, 1.44M) 3) if it worked For example: --------------------------------------- To: ghelmer%dsuvax.uucp@wunoc.wustl.edu Subject: bootblok test DTK 386sx, 1.44M 3.5" drive 720K disk It works --------------------------------------- Thanks for your support. begin 644 bootblok.s.Z M'YV,?$!<05/�@Z!$%`&0(BS1P0<-[<*2.G#!D0;]RP:$@'1,4P9!XB+`/" M3!HY<SJ*8?-FS)J2<MZT.9C0#$LX</(H"$C&X<LT;NB\`0&23,4Y#V'@N3$$ M!@RB;BZJJ=,&CLBA:>BX``&""AJ'(,2\>:.2I4L0;>JD!#$F(YTP0'?2)"F6 M+,289^2$F0F4)EB3;,IL[9JP;D<X>/7.-(FR8ULX:<H\S#JG#!LS!]_(+7KT MH8P:-I:`:`$B1HT9-D"@$`KB3)F.E"UC?E.GXQO,(T'<"9,GQ6"O!3F"8`E2 M9$*Y;^!0#$,'Z!D0<_*D++,XYLS<AD'TG+/F-1V20%FWH?Y&3IZ-8:+.-3BU MZE6T!>NXD,OD#4CG#1^ZL4M'3AH[:83!1EAEC!&&6B3EME!^(-3A1A@K)3C4 M1Q>%<9!>9X6G64#CM5%>'D2-$1-21(%@`PVBB>4@&6&8M]$<0^46T1Q9I9$1 M?K>!4(8=%.6!$'Y@B5BC@6S,%Q!P(+A!E1@4881996,(A5)FP]EW49!NP>6& M141UQ)ED#]4``PU.^O702BVM821A)-DA8!W@/01';7-5%!:(V-61!AL7(?9& M7GL19<9W<@B'1A@/;=<6CQ5=A(9$<HF1QG.Y);=<<VX\%]UT?,TQV$#!83<6 M'6B^Y">@G98$E$,$741<3YFR(%=6(+1G54-1G50@'6S@&6-"IRJFVGA*IJ#; M5V.@01091H')X!G_!2<&G@3)Q0:B'=%QQU#;RA$2KG.%-6I89JD)PDYR34%5 M&RV"F&-NW7X+!W/)<JEAN-FA>=:T8>G)IPYR75%>A1V)28,.((P`W:[EO?=J MP`-W"8*8-B"L,!%3@.`F&W"65!Y\2D+LK<1BXF"Q0@QMW+$9'Q-;A\@$3QP# M#"</D;'*)+%<J,OH'OG50XS2F%&9HMJE[TMIK<4D44A1%^%%=V3U*)V5S:O7 M=R`D`8()(!`AUQSSCB$85SV#<$0=(")AV7B%DA;#"S:\D$,,``=D1!IX<,F: MG\K)T2L(AT856&DNT$!#$QO%X((,B(-P@PPP+(&>>JA%KIU/!^6AG*<**,#5 MYY\S\400&!=Q!`@]@*"44S8\!3KH`1%D9]%EI:G;G@.FU&)'KSKG^>M<"9'$ M$U-,83KJJN,!`U.N`P]"[!0E6-BX1W-4V64,OFK1[\`+\<035!A_>NI*S6!$ M$,T##[V=M$;-QH"/@1@;]BA\%EH+BM>P1`K<OX[Q$D((@O&0%P/(.>]U`2G@ M4U)')A4D+P9%0!X<^D.E[9BJ17MY#47FT#F3/&A`7$F=P13@LB]\2X0PL`$) MX_,%.(P!>25;H9*^,(:'B'!FG5.`"\[`DI40Z`S?P0,=-L*D,[#H+40LPQG$ M@)2-%(0,01RBCJ)RQ#`X,2I,?,CSF,:G))7!(L:13!ET&$4%%#&*`'-!%<VH MQ"JF,8ML7")2TEA&N<1/7&2I'FL,4YDS]`]T'K+#Z\*`!Q:,0'C$$]\?/Q?( MUX6$!81<)%?P\#'0T8@%-#K@YW@R!QUDDC3EF110!$2N-$D2+6\0).@(:4CO M@4^1!VPDZ"0#23R<DI*%`EU/6-`337(E()+102])LZ4[E-(EIY3EY\90R!'8 M3Y,!49AN!O:>0(XQ`16!@P(2$,@[).";`;DC2Y+3OVU^[2UR4,FX_"0V,M2A M(MM40U72D`#=I7,CK@R?Z1(0D,HXYCWY5*0"[$D'@'$SE8XL9`V3B5!=SH&7 M>/#E%OVIG?<L]("X'&0A(QG+AGZ.EH24:#]?HZ/WP("AJOQ<$\D045^.M",D M8DT-&^("P;SH+1DRR%?.H*RVP+.C*>4*V`QI&M0<,""K:HZ`TJ`'DH"-2COM M:7G&*!?$A*<U%7F-[PYJAP2PTIG@](@8.P(@,I1!,PD(3P*4@D.4:M20JX,< M#/@)`D1FC$@#ZLN<'/-.&!6J+W6`7WFV)(=;5O)S8BAD8@V;R\^Q%**GO"KH MV'I2H+XNL8;,RQ?I<$J\@LZJ0>E<0)+@AAHMM:F7XPY$,#@>0CUT/7+I#X@4 M9[@FI+8[=,`:OV2+']90:&%1^E@,<"#:"X7!)332`^`01:#@)#5`;&"JWH8R M7(\5*B1H(,,,#B(9SG+5J\W$KG;I2@;:1`@Z:3`K&3825>T4A$9T`-$,7%`# M$:Q6#FW@8`+P6D\R:'.;N`1O+<-Z%)(:)5K;5"M;9U!<*,2DG>]TJG^'4X8P M\.@ADEE8MH9R4CXD(,"LC*2'`YD`D-KRNU^-*PQB0-??0DE*&QG!BS^6NAAL MD\28'<'J6C=78'8RL?TR@QDH<N-4[K>9JUNQ#.C:G^.^!`8O8EBAA@O@\B3@ ML2P-ZX%YI#KV5O@B)TUK4-:*AQ@P.`%J<(,8$L`$&\NE"'*(B1RVDH2.[&8. M;CA!1VA[N*TX02(:;A`<K$LXQA6YJTU&+E.)6@.ZF@:X4I)3DQ*]AD,+>`3B M;31/S#LX&JF7O9-2EEG=`%\0U6!Q];UO?K?)WSGXMW,?MG*(\4#@L6K'/SQ* M\)@7W.`'6R3"T)EP8"R<X0Q3E#4=CK4<!"SB[YK8TBE6'N18'!`72SG&,RY4 MC2V=XQT[A:[!!+(8ZB!D(G^7F7!5GE.,P&0,/3G*P9UR#:J\;"S3FKRX)@F4 M`?=EU>F:#F0V<SS5S&8W'\D\CH-<BO!DGMY.J-^4!@$-%,>5RHGF4`^AP5,H M/8<=)-QR&)<+#F`PF"=TL2UF;5!E+L(:V5+IMQ$_T4;N@"QE;2NP%\D+4%A> M+>B=A3:V>9),2+)ER1C)TAQ?]`AR`.WPNGJ\FZ[#>3UMD8V45^J#&W6I03#? M5%MMU?L5$!OZ^U]E,_O>U;9UT?\=<`;+Q<$M^;6=7#WH85^XI(%&]D[,/NN] MD_C9*$:RM%?<XGYG>R-*:@.3"I6C;$_F(3;^;K>5QV-P_SBBXRYW8<\M>!GD M@/`!B?C$X2VETM#[RH7,,KZCU65^@\3?8@8XK]%,\#87M\ZZ052>._(XRY5! M:A1YT5`H6H=!ZVPXV(+(&Y"2A@C)Q8*94XYJ+&ZL]#C*4L+IUAHXUW1#AH19 MFM8.IYV:WJJ+'^M$?V]63(UJ^WY=OZU^]>EG76N*KCWV;>]<FP%&'RN%RU)7 M@Q^;\AW5(1.WY1V"H0"O8E"M]AH5<09A17R#%@9HL!'HIATGAF.IYQ-00E=` MECJ)MWAELB5"!&D?XUM?MDU%D0`YMF3DY1,(:()3UAIOD&',41JGD1HH(`+9 M9E\SP#_UA`9CEV,L1E=IP0;-`0=_DVU)LB1-PB\S(`/;-`="R(+-5(0\D15" M,8552(1:IH5H185#>(5?F%MAV(5D^()F:&FTE%AAY5,D\24D`A;A%E$H$#4( M$18113Y`&&"8Y89T51EQ*!:YYE7,<F4<6"`#%A`A]1WO\Q"/8DSLX@8@XG@O MEX)<M684:$@N&!#)@7(Y\S$4PG8+]H9B%RYV16@6,HIHMF84(6=A92L881`6 M%(.O6![=9T$=.%+@@1D3011V4EY;4B7WD2FL5A4"YD$"HH9;V(H)\"JQ2!6# ME@:X(3MQ@DJS,Q0/TW_%^!S".#8@<#>E186"-A^6I4N"!P/F(P/J`P)K@#OA MXB%2XE:KE(Y.,02G!'2=%5W<5DA)IP=&&!\Z@@?*$24/H3".]P(1UQ>+=8Z? MPTHE]"T(%&A]1"P=\8`.X5KTZ%@/%5(N=2S!43598P)$T#49$P*I8S,;R14F M)E(8,1)R$#65,1<@TB+2XU099([.HTQ"U9$M!4W3Y"UA,B:C(3-/89.K10?U M<A'\,FY[0@:PUD=LH5_R!!D)``0EY$)T5954PC-R<0318A"Y$8)-\BX)08(= M`7UZ]'`@876).`86*!-[=9-VE`?1%17!)X->UI90<1%DR7A/(F7O\5O,Q3+O M(Q&=M!G*DCH(*9B7"!(>QQ8#DCI,.`*1F2S(,P9V&9EDL)BN1P8>1P:3Z6_^ M](`ZD`"6=DG_2%<YD#@UL!'"A0,R*&F%0FF'!@("IHL%0E<A!8)E4(),B((@ M<7KVIF5XH`.]R74RT`*2DI;_47Y1L4T]T54T\H5EY512EC!W8EQGD5S71&+H M1DAON(?<^1*6B8'(PX0H``,M$$K0X@9`J($0%58?*(--J'A-LI[MZ1_O&9]& MQDJZ.0:\29YH:9_""96&2`8"5IT#BCS7LA;!R987L0*F=V6[*9X-FCH/"E/9 M>:#$F7IHAX'(29Y1R)RT,IW0B:#3F0"KF877B7P0FIV[Y6[HU53'"`>:R`8L M,`9C1U=@05"]1:.I\T1!ZF3Q5`;U]!I86"O2V!"^^"B#\UM#$P-L89<[9VYS M('7UE`;S25=M416U01(L,1&%PH1MX2#>958"RJ#]E`;(TYCQ-I@I*!=#0!!G MP1J"Z*1F(E:O)R++5QD/82$GDB*T$17MHAH%))N.YQOI4@>8B5</D30J$8=V M\`;E1P:_D1"IZ!IT$$8S<0<QD2GSX4]T$WB\])89ZD7`V:$2JH*'^%6=>%OV M2:5G4(.381!P:)]G1F*/A:$\0:"_R:'Q]I@(NH*/Q:;HF3H9@9W#RB1YD!$7 M\41EPHIJBGK&Z:#)%Z%\BJ!B>&E+2H'(0W-I@)F#&A;I\1+EE6$NADY>XEW= M^E@CL*2=&:XU9R(H8JYN\!(LHZ[])JUQL5]5H8D5V)EA!:XHJ1W*,A[I\1"_ MY:=-\Q#EJB*&:AY'FJ1T$*NR2(U),A02RR((Y[`KQX5RL&:B251:-IJ_*38D MXJS0:J^$NB+M0F\D.[!H<*U#B@<J>R9E\*SJ$;&%ZK$Z44]:>DFJQXAD,!40 MF@;2N9O(FDD@Z(2`.9O$VCG^)`.G26*LA*S)^9=E8HD>:G;%25Z>21!\*9K( M<W^!-+,[VJ,\X9FVZ558=&45J&/*0VT(BSQDBZ!INU\5R*-OZ+8T^K54.+)\ M:[)>ZIF:>9=FM7E[RZ,LL!)O.)I,R+7ZZ9Y``81`,09KYK=>*KG92;DQL)^B M!)\R>V4Z*IHG>[;Y=I\BN)Y`6!$`5VMT\$X&@3.W2A2%Q!:YRU(YQ`<M\+O` M&[S".[S$"[PK(!<?%6<?PS6@=9%`!Q09!CL[4;S46[W!>[P*<(MR`#`'-"?D M^)"VY)!<D6-FL+B%=4">]3G-ZY+KFU]^%!!7`!<=<7P(4IM#\15>XHX[.W\; M=6(*5F8JY&$!AF[,M!.O6*I'N%9:9AF\L7?C!`<E%F>1][\QP'2=T[P((U$: M_$MW<54IX1^9HAJ)Q3]`E:,L@`(CG`!'112"%11:\A#)TB)4LC3-NST']!TI M(08/J:.D])%*\CYL<2AR\`.GE&8D\5GI1*4NN1^G!+L;O,*6,9.P2[L*@!AT M0#>,E$HZ_)!S&P-D`I1>+$$@[!A"'%EN\$*@`V0;C%1G7!$6"1W]@1\1$1Y$ MUKUJH2R(]9,N.0?$IH<HM<7CJZ/QZI(ZHT0QL2)L\08LL7FXM&9B4(&/'%;S MXAK^=D"2]3F4I<'A=(JI:`5)0`1%\`1?,#RG%!&#EL9Z_)%'(25T$;[.PY5( M?,DK7*`QC"&$4EQ3\!J)@CE6DT&$HGQT7"@HP"/#RE9%8"RL<1MF0%'0PB,& MT1<BUI<+<P9OW,S.18L<%!!,4&%W9VPDA6S2;%8?_`;2X<=T9U!^J%@9:&1M MN,Y=A5DA,85*5&+Z16+_$T#&4TOR#(&286GW+$!%L`(R\+@G!KN=$Z`ZX`+Q M8GIV\S%=9U]%]Q"K41/EP2X=<09A4'<%`43*\GYH$6J3JANA>@9$5!NQ=2AV MEA%ZAA;,02@I`##B-0.GZ0+3\AUD%@1&L!%QM1&?P=,L,%PZ769"$-1&D-/) M4P,T0-0VD#@;05Q',GQ]##;'508S1Q(($BY\/![WY<L;1&C?IUU,4U'@)RMM M>L8WF0<G8"<\NGPD41"TP5-U(];:E=`UC:1*001&O=,@T--[O1&MF3PR$`1$ MG==X@-1*S=0@0%Q?+=-R800?<VJ?`='YEIA?70,S7==DAM=!#0,#O=>OV=<@ M\-=*$=B#'=1B<MBEL1$,EFF7[2-VC0>:G3R<S=.?/="F$=0Q,-3)4]2FG=2[ MO=2IG=@=9+XSC2ACP%0@(`)2T*_*.V=<$02U(1/,,:YB91@NP`5RP`5N(`(* MH%FO4=QS<-S*)0+8+02C@A]-D`1.D`180#BGQA5#D!QYP)]HL&<Y\'D*41%! M,:YET`)(('8;05IC<-W9O=T*\(\)O=##15=UFAZNP7+450.$ICB,@Q&%D@.$ M9G'2W'M+4%Q$H-+S6QZ<2A,W&"]#22:D40,S`XPY@SOV8A!-Z2^8RA5(\H"! KU2)V]`8I=RA,B8"%LA\7_<TH71(M,A\N4$9/A$8ZM$9/Y$8Z!$=/E$4`LX"! ` end -- Guy Helmer, Dakota State University Computing Services helmer@sdnet.bitnet, dsuvax!ghelmer@wunoc.wustl.edu, wupost!dsuvax!ghelmer "I'm a cowboy, on a keyboard I ride..." -- with apologies to Bon Jovi