home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / unix / bsd / 3264 < prev    next >
Encoding:
Text File  |  1992-07-31  |  13.1 KB  |  251 lines

  1. Newsgroups: comp.unix.bsd
  2. Path: sparky!uunet!mcsun!sunic!aun.uninett.no!barsoom!barsoom!tih
  3. From: tih@barsoom.nhh.no (Tom Ivar Helbekkmo)
  4. Subject: PATCHES: Multiple WD drives and the config program.
  5. Message-ID: <tih.712580920@barsoom>
  6. Sender: news@barsoom.nhh.no (USENET News System)
  7. Organization: Norwegian School of Economics
  8. Date: Fri, 31 Jul 1992 11:08:40 GMT
  9. Lines: 240
  10.  
  11. There's been a bit of discussion, and some suggested patches,
  12. for the problem of having more than one disk drive with the
  13. MFM/RLL winchester driver.  Having studied it a bit, I've come
  14. to the conclusion that changes are needed in both the wd and
  15. fd drivers, as well as in the config program.
  16.  
  17. I've modified config to output specifics about the individual
  18. wd and fd drives to the ioconf.c file, and also modified wd.c
  19. and fd.c to take advantage of this.  Specifically, this:
  20.  
  21. controller    isa0
  22. controller    wd0    at isa? port "IO_WD1" bio irq 14 vector wdintr
  23. disk        wd0    at wd0 drive 0
  24. disk        wd1    at wd0 drive 1
  25.  
  26. would cause NWD to be defined as 3, which is wrong; there is
  27. one controller and two drives.  Further, only the first drive
  28. would be attached in the driver.  Actually, drive 1 would work
  29. fine, but wd1b couldn't be swapped to, since it wasn't properly
  30. attached at boot.  Part of the trouble is, of course, that the
  31. same name is used for the controller and the drives.
  32.  
  33. With my changes, the following works very well for me:
  34.  
  35. controller    isa0
  36. controller    wdc0    at isa? port "IO_WD1" bio irq 14 vector wdintr
  37. disk        wd0    at wdc0 drive 0
  38. disk        wd1    at wdc0 drive 1
  39.  
  40. This way, I get NWD = 2, and NWDC = 1, which makes sense.  With
  41. the modifications I've made to config, details about the two
  42. wd drives are put in ioconf.c along with the specs for wdc0, and
  43. my modified wd.c makes use of this info.  Thus, I *believe* the
  44. following should also work great:
  45.  
  46. controller    isa0
  47. controller    wdc0    at isa? port "IO_WD1" bio irq 14 vector wdintr
  48. controller    wdc1    at isa? port "IO_WD2" bio irq 15 vector wdintr
  49. disk        wd0    at wdc0 drive 0
  50. disk        wd1    at wdc1 drive 1
  51. disk        wd2    at wdc1 drive 0
  52. disk        wd3    at wdc0 drive 1
  53.  
  54. Note that I've changed the sequence of the different drives here,
  55. which is one of the features my version permits.  Note also that
  56. I have no idea what IRQ the second controller should have, so I
  57. just put 15 in there to have a complete example...  :-)
  58.  
  59. I've done the modifications in parallell for the fd driver, but
  60. that driver will *not* work with more than one controller and
  61. two drives, since I haven't changed the bits that are hard-coded
  62. to think that only one floppy controller exists.
  63.  
  64. Note also that this is a first approximation.  As I get to know
  65. these drivers better, I expect to do quite a bit more work with
  66. them.  There's also a need for more sanity checking; for instance,
  67. the current scheme demands, without enforcing it, that if drive
  68. 2 is defined, then drives 1 and 0 must also be defined, and so
  69. forth.  I also haven't looked into the consequences of using
  70. question marks for the unit numbers in the names -- I suspect
  71. something bad would happen!  :-)
  72.  
  73. Patches follow below as a compressed and uuencoded tar file.  I'd
  74. really like to see something like this become official -- maybe
  75. not in the exact way I've done it here, as I freely admit to not
  76. knowing much about how the autoconfig stuff works yet, but still.
  77. Also, it would be great if someone other than myself could test
  78. this, especially with two hard disk controllers and the various
  79. combinations of disks that can be added to them.
  80.  
  81. I *may* be able to get hold of a second controller sometime soon,
  82. and *if* I do, I'll be testing that setup myself, of course!  :-)
  83.  
  84. As I said, this works fine for me -- it may very well totally
  85. mess up the hard disks of any other machine but mine, so read
  86. before using!  :-)
  87.  
  88. Whoops -- file names in the tar file are without paths.  Anyway,
  89. it's /usr/src/usr.sbin/config/mkioconf.c, and the other patches
  90. all go in the /sys/i386/isa directory.  The CONFIG.SAMPLE file
  91. is the one currently being used on my machine.
  92.  
  93. -tih
  94.  
  95. begin 644 drivepatch.tar.Z
  96. M'YV0+EX &$BPH,&#"!,J7,BPH4.$("+>J%$#!("((&C$H&$1(P@9'"]Z' DC
  97. M8@T9,VS(B"%#)4>),6K,N%CCH<V;.'/J!%!G#ITP<B("H),&S4Z%/L.8,7.T
  98. MJ=.G4*-*G?K0#!D78US "4-GC%&J8,%BM$$C)$:-9C&"[#@2A(T8,V281*F2
  99. M90P;)4'$@'&CY44880,++MCS9U"+1+]*3;ITL./'D".#54$9A%6L+IY(.0(C
  100. M1@(J:.J 4%*'#8@9)3?JH#%#QUZ].7+(4-"BMN6K8Q(8D9-F=.G3,?3*T '#
  101. M!G&Y,6+/ILR\N7,5"IB#J! T<()HKB#@BC9LQ;.J0*0-"1)H9.&R\2#,G
  102. MS NK<LJ<<8%&Q'80W;^''U_^?/KU[:TW1AWTV<>==^")1YYYZ*G'GGMR=%4@
  103. M;?C5X<9X9H#@A!%$4#@"AMZ1MR$1']UWWX=EF!&B;D14X4025* P1PH)H""C
  104. M#S[,D((),:1P(HANE,$B%5E 482,--HXHPDW^%A;"]-55X,-(#S90G3/90F=
  105. M='OEP$(,=V7'W'TO:&GFF6BFJ:::+]SG'1VWP2''&V*4@4(*+-S&U4]>W9FG
  106. M55_048<<;KRQU)T[F!@""#[)4<<8="3PX!=D\&9'&4%956D:EP;5 PA[*+!H
  107. M E;)26<9?Y*Q9QA>Y2F"52*P<%\?B49$)G1/ZL77EQM5^>2M:P8K[+!LNND&
  108. MG*7.6:>?>M+!)QK, BHHH8::@:BBC-+A**22MD>II9C>-L:FG8+P::BC)GMJ
  109. MJJNV6IY58\0Z:ZT@W(JEFO?J-<,-7^9 I7816=4NM./9X6-$C3X*YZ0%IS$&
  110. M>2H43"^Z($AZK*1YHE%IHJ-:.$<:9P1)QFUTL. 3#'F.D0<;]-Y'*AF4ML$J
  111. M&F&X82X(!;?@0QHP5QI'RQ&]#.>G$8[A'0I24#'$%QPF,<4215!!11$I<%RQ
  112. MQIZ" $/+4"90)@A>E3'&&I:]$509,UO&QAMPP)$'SN!FUV;79I@- @J]?;HU
  113. M"+WQH"&'._"]P@HI@.JRURKP/0<(=*"!*7EA@&!A&G3\(+>H%4N:H8U6P6F"
  114. MUGB8 4/A/7R:]! <4O&%$T\X037F"<0^QAO'>E='&2TOVIU5*8)0*!UYE$$'
  115. M[(@S6@8;8B\,IPIMCOIRH(,6Z@;>51].1!%,!)$%"GO!X'WU02?P1AUT? $O
  116. M"J[?,$031'PA11%#!,%$U<5+(788;*0AAAQ<D6>$A9!* ^TNY[SQE>]\::B>
  117. M\ZZ7O>UU[WM6(][7:I:'QGGG#""(SQS@0#LR7)" F3.@^<@P!O0507WL^\(4
  118. MBN"$%28!?)D[V<V\,\(2PE!V*YNA&VIXK?"E87,R_!P,\$"&T1TN ;.KG1MN
  119. MQS7\E.%"/Z10[+X6O#GDJ6:% B!Y*'>YKFGN;B' FI,REP YO<E:(H ;I\JP
  120. M.!%4SXO'FT,9I!@[,QX+C:YZ8^;L2 <TEH ,.BA/GA*8*"@=[H=W0T'G0"#$
  121. MT(W.7*936NJ^P)(F%(YBL2LC;^Z( A'$P 4R:((;K99)0$V.#EM(0Q=< #PX
  122. MD.=3,:!7[/IPR,TID@R> YWH2!=)U!%!=1NA@24-YSQ-GK&3GRR+*!5(1E.Z
  123. M@7*I7&4K7ZDU62: EK9RWB)YP(-/T8"4SYM6H0Y%2.)A[6:QA!TVZS6JKTU!
  124. M>(SCGQOF8(9PT>$-T_'>&L0 A\4Q#W8&%,,MQ[ ">-&!#2P8'2FE%;UJH4"A
  125. MLS)11-Y$&]O I0;]*HF5[B,P9\T,!04[6+:VM3!O->QAV9'8?2CF$8^!3&0D
  126. MR],I4T4N5-WFE%;S2,(@I;@P4*H,=G 8Q*Q"OC"((:<8<6G(RC"RDZ5L94 ;
  127. M":#((#.OU.QF.=M9S^3P,XE*%9<W*]K13L<T(C@-:E*C&E(C<DJL E5G//L"
  128. M3C'G$42BH*T^^-2(AN"C4<5'G*2D*T;XB$8=C%*P ;/;+8LJAAEZ2PP"_(D8
  129. M:A@XHDH6KEM=8U!"H+?*DH&Q@[LD[(CZS*'=]+):E6MI26E7TG(QKW\C0E\K
  130. MYI$D$F6)N!LM&6IZ,\L:%;-?F,,8/L:S'12O)Q^TX.+J%I3&D8>W2VQ#G8(R
  131. M0.>"C7;:>@,;D!>4?XZJM;N-6^GT,ML$>&2;W<R(+%WV-?8PSG'Q 4'D3FDY
  132. M[U;,KK?,Y1!W"4D0G&Z2K'.=:$?E$<)V$@1;*)0:+S6'+AR6P!CY:_1(N4[=
  133. M0H]:T],4N&[(0.UQSWL0=)D(SY>^];7O??&;GW&_9K\QX$]__*.#_P!(E ':
  134. M5WSDXZ&&U\C,!'1X>Z@!<8]'3$(3HK!]*VQA$5ZXXL11T()NP* &.0C%*%\N
  135. M:#+\% W/=T.5F4;+.^2R+.T:1- 54:3FQ8AM;9=;6P4-OXML)'_'^]]?4C*4
  136. M Z;M8#?9QP-OX8^!_&0H'4S3#9/RO# [Y19<2P=IYL&5Z)3E.K_(.;#*^9%T
  137. MEJ2=@SE,3!:8SVA$,*#UX@)E$OHV->TQHE4+348[&M*==5F%1Q70@1:4A =-
  138. M*/W<"4]MU8R>]L1G#?3)3W^V*9L58RBU#K7C2S'3(^NL\$2/I0#)6/O:V,ZV
  139. MMK?-[6X[AF% %2I]M,(5KWA[,&,I"ULRTBN11&0M[A[)6UYRDI2L9"4:B0A+
  140. M-#(3K9W[WSQ)RF&&4A2J,(8I $^XPA4N'7 ']6'CU@QG/+.;WI#&-#,(#E]T
  141. M@![BI$8Y%862P\6-!MWPQC<8UW@..#Z<&50D.;*Y5YKR90-^W: D  ,!K;Q:
  142. M!CS(F% C55A/?_KP+9H4J)+] F3?L(4N#/+H=DBZL_+0]*?[M&!)#Q(JG4X\
  143. MAV>]-&QH>B%M4W,6W-Q7M9D7SWV.*9OMM*17#S=*O6Y4I0NPZD/'>MVGCG>Z
  144. M3U;K5>\ZU+^^W;X_-K)UOP,)#>_3I2<=7F*O]L(G?Y VK$& 230#9K;2%<50
  145. M'BKI3@N[1?\1TNL[!A.1RW3H<N^]W$#?*ZGY7SZ?[<( 12B),?A/&D/[WOL^
  146. M,-*Q/.9II_FL2+PSGPD-RD_S<8ZWA@:OA_EL<B7\-V0>*R:W^&\RKBOBK+PX
  147. ML(EYL&@. XR^12XYWQT(FA"$(2 A":[[0A(:=!^K=O=C7.TA._G6H"\,WPW6
  148. M,ENA$C3Q<0;L\7-!QU,G!3%D  =YH@)MX(#9X09P($L%>(#A\B:2(P8^Y09Y
  149. M,@=L$ :7(DM&D 1,4 398085&')N47XL\!;!L5$'DB'LYW[P5P3R1W\187_9
  150. M@7]QH'^8XQ\VX'_61WQW8CAM<8$^$2YOAS-RQX 2"(%12('TXA%*B( :6 <<
  151. M^ 4>R"@A.(+WX1$E>((IN(+C)QTV@!HOZ')B0ADLJ!)>DH94(H-MD3A&D 9R
  152. MX!,@P$?O9721XQV4DP8OI@=<(4!NIRT*,RAL%(8>\4]M069E\$3^UQZBM0+W
  153. M=2S&(XF*-P8?&(EA1D*)8HD)($>:2$(W0XJ?. 8WLS4NXS(J"&J*)($B4"9<
  154. MX :'%32O>$PJZ"K9 0).$P1.6'1S4(N'=8:5018X\((4T8;0$3YI%A$-J#,P
  155. MXP9AT 8V%8T^,(W5>(UP((VL1@<W=$V'DXN<M(OE48M-.')S-WAUMW1-=S-[
  156. M0(P]1BH&9HXBP 68\S4U%1220B=A($>2PE48X3,C(3/AY1%M\#%Z4%?'<AB2
  157. M4UIR(X_6Q%QWTX!8)5F!8Y&<54TX P=8U8W9R(4]!XY(2$81^)'>F$1N8$V4
  158. MAHV)!I'C%0554 13  )\P <@<)+C51(W^88T$(?+2(>QXQ$NR87;F"=%28W6
  159. MB)0@^9*4<T.31HY]9H_HB(@\I8Y^2'1)YXY= (\2.5KU*(OZ""[\*$ <")!X
  160. M& <#*9 (&08'B1$)F08+B1%OXI!MQ3Q?B8N*99&?@DM&E9$>N9%[PY<=Z8U!
  161. MXG.B%30(Z9%]V91?H)*R5%>;4Y1M%9,S69,WF9.,J3<VR0<RAR8T-R4O^!;,
  162. M^(:B:0-IB'97$CXZ^2E4\ 2K4P184 68B9,A4 8_&(&&>93]T1YNA&9(A%UL
  163. M%IETN3FW^8-%*3-SL :NLG2_>5U*Q$0*((J2>3>X"5*.J90V)0*;^)RH^ 6;
  164. M.#BAJ&<3M3G7F92\^2HDY)V>6$/BZ3+5B9W>R$$1 IQ2:2WVN >,5 )SL(]Y
  165. M @(E@ ,N@ -6%"N%&9+:R93S:3;@2)P1$4=S9(R)@YHV\((WP!$Y-TOC&):N
  166. M @.U2"MY62_A<Y^QZ"KI"'5"E7=(MW? \X[G\I7:Q*'GF(^)LX_WY8]HR99P
  167. MHY9M^981$9=S.6W:DE00B9>V&(X4B9T7^9<="0*""9@HB: CF9@FR9@'"C.0
  168. M>41V19DP^2DR29.=J9G]Q9.>F2NHF8PW]WI"&94R*@(>Z@8@>J0M(XJ06(IC
  169. M4(GD:1EM6I4DI:)%-W2.EWB+UY4O*J?3F:<D:H]CJ5DW>I9"DI9KR:-PZ9:5
  170. M@I *R9!#RE80N6 0\P)?29T8D:2$Z9='U:1/VJ2-:9A3:CB@^J-66I19VJI\
  171. M,YF.69E>>IEAVII:TYF'&CNZ^IJQ.9NUZ:37J9L(FI[=F0(^(HK!&9VY):N)
  172. M*HOZ:0+\Z9\1$: #6J!Y8JS:N)2:N:#U.9[/J*>P:(\ 6@,N4 -6!* R0 ;_
  173. M.02@4P+EAP5Y4@(UX*X@8 4HP)]_A"?7VJ[UVJXZQP+$*"O,JE-IB0+<ZG]<
  174. MY:\+ZS/;ZI@&62D&FSF+Z8U :E,+FZ#?&I(S=:7?J* AF6KB"FV]>EYM^J9Q
  175. M>EBB2$N6V*MUFHIX.J[1ZBI\*G18":B(-UF01ZB@\JF(VJ:+6B[]Z*@!*:D$
  176. MV:.5"I>72I<-2:1<Q*D1::C0NI>OBI&FVEFH"K*'29*A(JLZ";*QFJ=;6JM=
  177. M"@)?.JRZ2J:]F@"_"INN(ZQA>IP*FYWI"2^_V;9KAELE&ZIM.JW52I;_B:T$
  178. MR@(&NK&\N;#TV: GZ[?E*HOGFJ[K6@( &Q'P.D3R6@/T>J[XJJ_\2@;^RJ[X
  179. M2KDCTP<$:XL5.Y08X8-UZXUIZ;".";$="S,3*P>I.ZX+F[$1NYO>NK ?RZ64
  180. M([*9Y6Q]&Q$N&[2/VZ$?N@- *XXOBXMM>J)Q]Z=^%R@MZK/Q:*CI(K0U2I:-
  181. M^H^/JJ-).ZD^FI--*Z1V6:2>:JAZ&11*VI=8JY%:.ZK9N:H#F*=A"ZNTLY+P
  182. M69P5:;9<9)E@FIEKRZL2ZA;I\8(Y, .E.:(IN[RU&*(;FKSE(;U$EZ+5"WC8
  183. M"Z.94[,SNBA#&RY%"[Y'&ZD%2:D.:;YRB:GIRT5&>HL=;+5+6JKRRY'TJZJ(
  184. M69*9E+^.F:7.6+;>:*MHBZL$O)F[VI.Y<@/)878R4!%"Z<%N"L%N$*()X(K1
  185. M:Y5P=\'K.+U9)SPN^K/:FVS<RZEEB:/AB[0Z^J,H;*DK[+29^I NO+XP3"HR
  186. M#+],6L.#^:KUF\/WB[MZG)+[ZZ"S^K]!?+9IFZM&S+8'?',8I<3H-R8.3,%1
  187. M#*?,.\7L*Z(=?,5]FK,9#'9?G+T/ELF2C(\@W+V,.L(YBL:2JL;E"Z0L#+7+
  188. M(\=(6L<X$[^!.;]_+*5\?$0\#,ANP+\_3*N%',"W.L X6<!(;!LWL"]FQQJJ
  189. M:<62K+*53,70K(NR:,$+Z*>$%W8;',;T*,DA7,9&"ZG0F,8YN<9,V\;H"\M3
  190. M.\>B>K5W?,LVG,O3:+_]ZZI1BJ6!?,^#+)\>:\A$?,R);,!KDB\W@!=FIQ*E
  191. MF<0Y4!TWD ,<08<>@0)V\ 8\4S@;!(N8(@=B4 =FX"HE, -D8*#1!4-6*#S1
  192. M8YURP-$>#4/'*WD[H7B;5VZ>]WN@%Q%D(7IHL6ZEQ]-C0:%S86]VT1?ZQA>H
  193. M.7LV#1FV-W"Y-Q4'E]10'=4Y(1TR;7R;@7R@(1H7QWQZ00.K 0.ND0/A-WVV
  194. M4=79MWS<MQ<Z( ,KIV[2]YEGDB\L(0-?PM8-S#<7HWCCT=%G0"\C\$0>9 ;8
  195. M\G;=<G7>J]?>>RZPHWBF4B=YHG@#XRJ*)R_&&U45S3,@H'A+30<R@L4XPQYD
  196. MHP)O9%$R0-<L(=9T^"8)H-=EP-=^#=A1A&R$S3"'34(VJMBCPMC*8E.0[5'N
  197. MPIWK*2N5[567/3*:+7"<W80>M)S943T'O!'5$1,5D7-]G(4PB3-V ))Q-5=8
  198. MYMG+'=J?Q5J8N(FY<U^;@U<:<@6R=3@21B@/!4.P@U^?=3.(O49SL 6GU 6\
  199. MI#5Y%COS_2GUS6#X75H^V]E]^MW-S<OXLS:J*"-R60:&8N!"]]W^V@1?,#5-
  200. M  5Y8N&L<P5! "/S^%G2N ;?>#/<73'25C&;B%5U,.)?L+A8E=W 99;@.W90
  201. M MU?8@-._"L1<;^8"L>F108RGEHGKE/>#=HI50=KA==PLHF/'5YK].1SM2A&
  202. MOLDHBE(JH-D8B2WQB5=ZI=Y\Y3+M/3T0A6SGI5A:;E2.U7@["YZ@F-F?A5IQ
  203. M9:.GFN9B$%K$9-YW8^<S;L9.VI=#'E<T+D?E55O"R;>+_5G7S>=$OEKQO3F:
  204. M#9&PY03J7>AJ=NC2F=M0?BGT'>>_E5K"15QDT&22\S%6IEQETUR.([71-5T@
  205. M4%VK;EMSLEWA<F./GDC_#><U==^13CGZ/:;]392B >";SD9;T.N-=C,2KH!(
  206. M+MJ'(S/;97UWHY 0;BW*#=H5?N%%D.$;OCI/X.$@?F@8(09Z@"EO %)U\($/
  207. M'N$14P?**N[0V.+92.*5J>O@(FFM�KWI?R3@8D#N. KMTP,^BY]=Q]\24X
  208. M@*&0C,DU4MR%XQT"%9Z*]P4;;3:[ECA8D/&+XH@54VL2CZ4'9;L@ .94P 1?
  209. M0 -"$.ZP,^9WTR/E72@+J .N&!]V\EG=CN%0T&,!;NSYO8H6B-) ]][TDN)E
  210. M$H:)$P2^C08@@#9>(;6(Q$%S\#%B@#PNP((Q@ .FG0-JRN,5XS(4;=&@B]<1
  211. M3T(K,/$5+P<7#P(9CP4;?VP=3SYC3U 3#REL(/(D;_(HK_*+ CM[*YU!@UB^
  212. M\P8QGTE?0SML\#;: C)G@"F+,T *)NO:Q5UYD@3OY1VA[?:D0O/H?O/;GO.D
  213. MM/.\KNB^[O-B#O0V(_2,:+R'>M+BU/+58XE$WXP1<?1)O_1IPUM/_P91KS]4
  214. M#]=F(M<XP"_),=T+W]O/LNQ9G,T1D]TB5=V86.]"+O#?2$K7SMSMWNF[/N"^
  215. M7MZ:@P**M_A=$?)W55I(Z>[ WN.'A(EID"=37S-K8$T\. 9<8QLRX#TL4-H1
  216. MS?7&_U'8_(0IQ?PK)?4Q.2 7XZ3?E!L)&FCG23E'1^56EV?+65G.TQT5P%?]
  217. MP)N2$X" SZYXN?1&!,*<7S%]J&_O-<"(8&!$@&%A)H O2=FY-6=WWD#2(6]P
  218. MCK$ %SJGM>P<GL,D=H71"3H_MY&B7Y]S5)9N!V&ZW*+IZIT.=$IT@+5 .M$'
  219. M)R9=I8,=ALY9?;YBU^ED(*@;+FF@N!P74X=!4!U%LB[0I0Y(EW !Z\@#Y*-U
  220. MW:5Y5(Q<!_J.'1/L A'DNUB+[R<\Z)X<\'[%KOSMMT>BPW[<^@,![<\-O#]^
  221. M%O\$F>_3$OFB_GF)E8 =,E0F*8$E(%ZDC' T:8P))Q$!/F".K9.O$3;&1JK#
  222. M:^,!#^RATB!'ELN<: .VK^G5%!<PR.0$&WDB)2.#E $85S/(0.I;<-:G?\@7
  223. M0"A %@=O@7J!J+K@D^"5V=" PU!Z=R -;!= 2!YZ E,!A&\C/KBES[:<0E"=
  224. M, TW1L3-NQ+W*4Y< AASW,.EF8A<@1*241.+05Q/=9% 6"0"(J&!NE.";-)\
  225. MFF.""5D6BEMZ;$".L*H\50)%#1DX-3L/*O4J]I(X.B'9H$C>(12.PGS(1BS#
  226. M*4R%2F\5MD(- @OS1'R@A1?BGN%"%R-C=N'2\85Q QC6&)MQ3_A&++P#QK#I
  227. M)<-E6"=*W3,4 ]$0;8R,[V8-CP<(20#:T-]Q0WNW1D@=_I"&9.!MU(DG@C-H
  228. M!^00 V_@4EP12%$'%MS;L"\F*PF!0)<746R%5$L(0Z!UE* CX *F0!#(<"?H
  229. M*NZ$T+-N=EJ\@3=M02\LL]>S>H1::0,_NB+U(#6Q"!:6&NXI.$YM]R <NL@7
  230. MZ>((4  C  0, >(#,BR#,B0/7S -P &.Z +< !I  XWQ#0!&!:  JHHQ#!*Q
  231. M@T&D!_LP!N! '<B,0L@^\ Q8&#NH0!*  O&#"B@ HF"-](!13  M(#B0 3U$
  232. M RIC&, #SC /)8"[0!G9QDB< ['C!E$!%K AIH "\(V&"#@F !&0%3-<$% =
  233. MK,$^($?:H1Q%@-*  E^@.4*!YWCR9(!]4 "9!V1DQ@8A!OJ3"/B&;\ %OCJ;
  234. MH7A*PARX V' (PV0]BA?+@2<DXUBL)^LQ_M(&<\@=REL,  \8I=9]Q\W$0Q(
  235. M %RAIU@.&"<"D@!L4F\Q((TL';XAD'K%I8 4=D/QU"4%\-UB1WM$D$V.A)0$
  236. MWA(@.^1J(P.>(4$:2*D5 _KC@(Q\F.)EC($#F2 ?Q()D4.7!09:5",D+AZ% 
  237. MHA($22Y<R'N2*3Q(0^*0H"UV6 4:B2Q$I-0JD4GR9:3()CDC621E7$!U9$:"
  238. M2 6YAW!D@X1-2T ($($T,G4HI%H*#D/2;BQ&/L,AGU#LH$!X@$ER20:I(YT 
  239. M%, ":012P040D":# IS<D%@R.+6!*3DGO:2.;(X\LDQ"*H[0)Z]+&P"4;E)0
  240. MRH M:2.[9(3(D;"I.7I'Q@$\S.1IX)/)PV[,CD=Y)-ODG[H#9: DU,CV<",O
  241. MY1 ),KX#GNC)DB! K!$J'")C8$9Z#[ZA^U88#D@.0C)4!@54N2$50#\I ^+A
  242. M#;0 ++DVV(:QE"/)<EFZ2>$!7YXELB0#RA)+@J $,!N.9;1DEF_@#%C+;^DF
  243. MX0#PV(TV@#)Z2VPI+8O.*(*/;2,,+#XY,"[9)9:T S!O%LI+3%$OLZ6;+!A;
  244. M85Y2QK\8&*O=9.R+"#-A*LR%R3 ;IL-\F! S8DK,B4DQ*Z;%O)@8,V-JS(W)
  245. ?,3NFQ_R8(#-DBLR123)+ILD\F2@S9:K,E<DR6^;*!$DQ
  246.  
  247. end
  248. --
  249. Tom Ivar Helbekkmo, NHH, Bergen, Norway.  Telephone: +47-5-959205
  250. Postmaster for domain nhh.no.   Internet mail: tih@barsoom.nhh.no
  251.