[comp.os.minix] MINIX-386 Boot problem

joeg@starfish.Convergent.COM (Joe Gervais) (02/20/91)

I applied Bruce's mods to my 1.5.10 PH distribution, and after some late night
hours, managed to debug it and get it to boot with shoelace and almost boot
with build/bootblok.  The initial problem I had, so other netters might avoid
it is due to my machine configuration.  I have my memory divided so that the
first 512K is below 1meg and the remaining 3.5M is above 1meg.  Well under
shoelace the system hung when loading fs, and under build, I never got the 
Booting MINIX 1.5... message.  After some investigation and rereading of 
Bruce's readme file (Yes, they are there for a reason), I changed bootblok.s 
to relocate itself to 384K instead of 576K (never, never land in my machine)
and modified include/minix/config.h to reduce the cache from 320K to 128K.
Following this, shoelace loaded completely and appears to work correctly, 
although I have to recompile a bunch more commands to run the test programs
and scripts.

The remaining problem is the boot using the old style boot routines.  I boot
up and load the boot disk correctly.  menu.c then displays the selection menu.
I can change the root device, but once I hit either = or u to continue the boot
Minix panics, giving me a message that there is a fatal error in either kernel,
fs, or mm.  Since I am using identical binaries for these three modules, I
suspect the problem is with the passoff from menu to kernel.  In looking at
cstart.c in the kernel directory, I noticed that new boot methods use an
environment string rather than the structure that is passed from menu.  Has 
anyone encountered this before and is there a fix or something I should look
at, or should I just ignore it and use shoelace rather than the old boot
method?

Joe Gervais
joeg@starfish.convergent.com

agm@daphne.stl.stc.co.uk (Andrew G. Minter) (02/20/91)

In article <1981@starfish.Convergent.COM>, joeg@starfish.Convergent.COM
(Joe Gervais) writes:
|> ...or should I just ignore it and use shoelace rather than the old boot
|> method?

I had the same problem and eventually gave up with the old method.  Now I use
shoelace.  The only minor irritation is that I cannot compile all of shoelace
with BCC (or GNU C).  This means I need *three* C compilers to be able to
compile my system :-)

Andrew

root@petruz.sublink.ORG (Pietro Caselli) (02/21/91)

From article <4069@stl.stc.co.uk>, by agm@daphne.stl.stc.co.uk (Andrew G. Minter):

> .....  The only minor irritation is that I cannot compile all of shoelace
> with BCC (or GNU C).  This means I need *three* C compilers to be able to
> compile my system :-)

Hu ! Why ? ... BCC also produces 8088 code ... 

-- 
   Pietro Caselli                      | 
   internet: zaphod@petruz.sublink.org |      IF YOU MEET THE BUDDHA 
   Fidonet : 2:332/401.10              |       ON THE ROAD,KILL HIM. 
   Mail    : V. Pietro Mattiolo, 4     |
             40139 Bologna ITALY       | 

agm@stl.stc.co.uk (Andrew G. Minter) (03/01/91)

In the referenced article root@petruz.sublink.ORG (Pietro Caselli) writes:
>From article <4069@stl.stc.co.uk>, by agm@daphne.stl.stc.co.uk (Andrew G. Minter):
>> .....  The only minor irritation is that I cannot compile all of shoelace
>> with BCC ...
>Hu ! Why ? ... BCC also produces 8088 code ... 

Because BCC generate code that is simply to big to fit in the boot sector.

Andrew

nemossan@uitec.ac.jp (Sakurao NEMOTO) (04/24/91)

--------
The following article is from one of net-friend, k.h@mix, Japanese-BBS.
If you want to contact him, please e-mail me, nemossan@uitec.ac.jp or
post a message here, comp.os.minix.

	(Wed) Apr 24 16:20 JST(+0900) 1991 	nemossan@uitec.ac.jp
						nemossan@mix
----------------------------------------------------------------------------

In article <1981@starfish.Convergent.COM> 
joeg@starfish.Convergent.COM (Joe Gervais) writes:

> Has anyone encountered this before and is there a fix or something I 
> should look at, or should I just ignore it and use shoelace rather than 
> the old boot method?

Here is a patch to boot MINIX-386 by ordinary boot diskette. There are two
problems in the old style boot method to loading big 386 kernel.

1) tools/build can not handle correctly large text or data segment over 
	64 KB.

2) tools/bootblok.s load itself at the address just in the middle of 
	large 386 kernel. So it is dameged while loading kernel.

The latter is simple enough to fix. We should merely change the "BOOTSEG"
address in bootblok.s file to more larger value than LOADSEG+kernel+init+
menu and less than upper memory limit in un-extended memory. If this value
exceed memory size, we must reduce the kernel size by changing "NR_BUFS"
and "NR_BUF_HUSH" constants in "/usr/include/minix/config.h" file.

The former is resolved by patching build.c. Please apply this patch to
*ORIGINAL* Minix1.5.10 code, and compile build.c, bootblok.s, menu.c, menu1.s
with *ACK* compiler and *ORIGINAL* make program. Then execute "make image"
to get proper MINIX-386 boot diskette.

Of course we must make kernel components such as kernel, mm, fs and init with
*BCC* compiler and these four parts must also run in the *shoelace* system.

						k.h@MIX

table
 !"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 tools.shar.Z
M'YV-9<:@>0,"#X@6(,342<.&C(LQ9-*843"G#!D0)UYXP?)BSHN/)T#X2+BPz
MX<.(9D#PX('QQ0D%6%3(!/%$RA&%#!V.27#%(H@@<.2 D!$#1 P8.FK42&K#y
M:(X<,6"VF$HRYT.>/H$*)6HTA@X82&? < H5ILRS:-.J,#NS!@T6-7* 0"N5x
MJEL6-FH<G-H")HB_?X40*0("!P@C9<04SN$"Q! F288L^3(EB1;",FHT3>-Fw
M#ITR82Z^21G#A@N_@$$(Q@RB21BA.!@[ABR9LF7"8=Q<?!QY\A0D28Q0 6'Gv
M=9HP8MB4F0-B#)LT8];,2:.G#(OFSZ-_F8-&(IW36 "K> %S!8@7*EJ_09G&u
MIY@\():\62@P#0@D:>0@#Y,G#/<TUW&E%0A0@4 '06R\$5IKG*6!QPPX-,7&t
M:V>4 <(:9<CA1AEL@&<>8$&  ,<;G'TFU($&HF'A''FT(<8;;!B(G'(@I,&<s
M&V_< 8)G;\CA$V?W\5;;;\%1P9Q^=*AX(AJYE9<:D.]]-D=C/8$0!AMS$"10r
M;A6J]L035$Q1Q!'-O=$9';G14:,;";WQ!AW)O;&&"\RAV$:/%DXH1X5R. E8q
M<6S486&2N:6X(G46C@8"$T\$08281ZR H88<KM @'2NT488;=8@HQQMGZ-?&p
MCG4(9"5S,."!@Q%!P.!A:D,$404523SAA X@4-$=<UNZT6489I@1$!UU$D1&o
M8G6<P:>GH(KZZGBH11L>"",<:P9G%D(AQ1-'2!%$$U. H%=JY*:&WH49;ABCn
M>6V,:IX9S)EW*0CL;MII#^+.15Y,:O6[%K_IW0 #"S<T1=>TU99Q[8:M-0%8m
M5 A;B^UAX?XE VH)+VQA$DXD,=P,,(5 K<0,&S&%9"#0(.U?YR;AAAD]MA$&l
M'6F8:>6+=:B9I(77TJAB:!DV!FW$"D^,1!&.%B%%43/(4.[3YZ7'78]JPBS'k
MJ#\?*]1TU>E;%T(%LX"#TWSU1;3&#3^,,<D6F@S8Q6=/S+''((",A<@93]Q$j
M$4Y4D?+*48/@LM4RTVPS<O/IK"((/5N8==!>Q\WPT4DO7;?34)-[[M1R5!TSi
M"(]OC6CD_O;+5GI'S<!"##$X??!?"<2>P+FARB''=<Y!M\9VH]\Q7T,)61B&h
MBVF<4<=\S W]%VJ>R5&JFEPO!\(>(0-61V?%;WC19WC0P7MU.V3.LM2C0YF'g
ME)&+_-?UTYVA/0ADS!S&]V6$+_[FY;,9I?1#JP\"^]ESSQSF0#_[W8]\73,?f
M^OIG/>RYSR<L:D,!Q3>^'>4O(>?CW[Z>Y ;HE0$.7T@#&0Q(0<VAKD8IJ0@<e
M7C,SZX!@+!(! 8[4I#P0],&"U9G#%K3%+6^!JPL[D!9?C *#'*PN!H8I&VIDd
M-[OTU.YVV-$=_4#@NSH 3PS"(Y[QD!>YY4VK><_#H?2H=S? ),A7!BI#]R9Xc
M0#&N"8,+W)?_SG@&^,F/C9G#7P+UE\'DR=&,9JJC& :(QSPBT$(*U&#U_D+'b
M';6HD%#3(R+Y&$?4_*5$._I@"$=8PJ>=JR@Q5"$+/W,=&*9DAEVTH1AUR,-Na
M?6L*0)16Z=1R.J/<  >KB]!<SF+)]*AQ#!_TW)(&I4;H]4Y%;!(EDC8& A. z
M@ @U8@Z0ZE 1\(AG@R!8Y)JJ1H;KJ%"$U]D? 7T4&MS-IX-!+./Z'/@^[GE/y
MG->)'YJ^ ,^$$+*>/O+,=7JF'#FDTW\ ?.!%&O<%=]*SC]Y\I#C3F9I&'NB=x
M?60H8"R)0A"@P*)FN B^W@"'3:& H&X8G@N%( 6D$2$%*5#)"U/:43RD@0XHw
M$,$8<G,"-7%T4R 0P3X94H8OA%13*4CG$)'XEACD8 9[F4HO0?#+8#*N1X9*v
M8_?<> =D9G*%RQ1<,Y\9S3=2LPS6_$L-M8G)C'KS@^ LT_7H\,\&MN]]^:3#u
M3MG0S[8R,I!2A:B4XGG'>@Z2@ O59B,):M!Z1O"@4I+H7='X4,0N1['9G-8Et
M4W+1CVH4!#=UPT=YZE.17H>D)D6I2F' 4C6^-*8S=4--,=M1-NF4<9S]:1F"s
M>KI9RJ261*D!"V0@@QOL\K:2M2%%"5M,QS('7X6-*$5CB()ODB$%U4M <M&'r
M+Q1,5WKFR5UTHG<0HZ34F7Y @7:E,SJ$Q("VZC30FXP+@NK2,:77C9=%Y3D_q
M<=++GH#M8TK-<]C !C>N[56O7J57@BAN%U%VA2U=,Q1@% !X)&/Y@8')VS6$p
M !A7I(7L7]F[ GSQ,T.0;:Q].ZS@NI*5LIP:%4M,)IF4CJ$.$N0NB46LW.!>o
MB0U3G/%Z_>M%<Z5'"@'IT?86QUW.$&YF-6,3D'8FH^2 -7)#Y*T,=CL#&B35n
M;*GIPW Y&]\ QQ>RS'4N=,LHW>+:M[I=SFYV*&PA\S+ANR (+PK>.U[NNAF]m
M_J,Q=?/*83O.<\3X[7-_:YP: "-WQWT$08'KC&!M?E@HU7WP2D$@8497& 07l
M?J&&[YEH$C\ZQ(A&GZ<98N+T,C?%*MU;WUP,XQP?>L!S@.R-72U@XTJ4HN<"k
M\AB$'-4BORQF2+;9DA>')B<+;5^V/=A9AM(T*LOE=8")G@Y3W 4Z:5*$J<&7j
M<V\=W'-!00Z8# ,(-#7 ,'3I#&FP V?JR.2@-&MX,A2IE70CQNLT%0["'+>]i
MCGUBBZ)ZQ2=;0DKW$%G_E2LH)3)#3$O G+SVH 0UZ)2?P_#PB/_EKQ67^$,Kh
M#CS0J9'C!E'T'+C@!IU2M)/QUM06J'V=^/+USP@-=#WUO!P6G+R3-)_#=9J+g
MJ&G#N-HJW"2E<SJ%#XZ2F<XD@@A @"L1B "ED-4R%J(\ R/*@ 9-46)PI;WRf
MGUL;A-@&C+;1.D+ 5?#;X=9WN<^=[G5'U=VA@K=LYWV1Z-D;#\#$]U.%HBE.e
M\=O4*(9QJOE6A8$7/',([Z#"1<!PAY? !L"C[\,A?Q&,/QYX&[_\152$A\FSd
MP2 ,)[G)@XMRV7:]#5UHN9EC3E_CAI/3>ZTU/&]>PISOG.O4_KK0)2R"HF.Uc
MA5I-^M*;_G3T9KFVML4M#=Z2F:) &]?I>0)'=2ZB!3'9G9D\0]_5-&P+M4&$b
M9*"1HI)DH[^GILLM\#"75Y_8)F*Z##+CC-9DF*/T ::J/+5HET. +]).3YOEa
MLFMKU6!=QA)B,@144!.V<1E#UV6X<H )* 4+6 3&ESEW( =?D#@H4!V?8DYKz
M58%0@W[X(H#H1%%2%V4U$ .[%1=79G:!(WUP0'TK-&3$-%45H7V;PGULPF3?y
M1P;AER@I07Y3DDI_(8(*UE-?YGX^$G^ZP6 XHB,,]!?X1R/6Q7[2PW\O]&;_x
MEUX!>$YJ@F96R!PL,6>!E (0J("5<1DI]0/1E0 H4"(IX( @<(82F(9% %GEw
M<H$9F#,;F"%OX($=!()/8X0DR%8FB'RSA%LUH#J9\6R\-"W0!P)7 &Z?$55_v
MI5Z8E3-PD#/F=W_=084;9E\0-G  2"Z%V&"AF&@&6 0(B(:W,72IB#X/R(H1u
M.(&"F(<8J($<^(=J%8AX2"ZQ*#WIUXN&&%PG2!4R8 ,JF(Q)Q!<N>"Z3^%*#t
MLCB7B"*)LXG?0814](D6@@+!R!RCN(4&9XI>B(JP)SUC^%YT:(N4UH9O&(C?s
MR'1S2(NN>!F_F!IZJ(M^"(AT<(O >([,,8R%&'6(6#JX90,WL%LW@%3/-RV[r
M!@=Y, .6=1W*80;><R!?0$[==(2=!52H459E5T8!]3X5>9%OD)&@$9)_L25"q
MH0(@)5(2148<I";BA)*A(53(&#8R,#8M"(D.R5$1.9$@4)(%=9(:.5<])5MCp
M=DD=Q#@A*3*-1)08J9$2Q9)S\9*:$I/+U90U294%Z2^X=0/,AP,,^8@S28R0o
M996<H1!FL 4EY2A?4 4=0P6QY)/^,X7=*)5&F9(@@(6D15%D-([,95$C:1$In
M)5[EB"]Z:9//)1(@\)9$$)=S.6;CN)*)^9@F)9D>\XN#Z8U]Q)@!II%"N99Um
M8 ;\*%H\T'^D2'J T5*G)0(:R52V U4VTS@YA90=.5N_>(P(L9.,6"!:=Y8#l
M25%JZ09LZ9:9*9<>4Y=>=)?<:%&+&9M^^6: 68JGZ%X*8Y*@F8YE")F:205Kk
M:%%P&)U\B2O>J9Q4P)F495%=R9?X(IIFM29L>9HIE9J3)I-/XYHP!9M\F2&?j
M(A2UF7^OA96Z>7-2EVR/N&PR<%2[]12_]2\]]GZA\06A(Y3.I7IK5$^MYU< i
MF5 2!$\$NI3;Y)37H0+;5CV%>1$JX')SL:$QIP+?6**#EEBH894N&5LPB1KXh
MF6M\R62A0W?-H2+1$54R@VYC($,PAD5RT!BY0F1HHANO<1%-8"8.XG% (Q1?g
M4S<PH()BX5O!&5E_H9$4FI(98J%DAZ&P]G+U%7,QZD@?BE A^I%-&9\F2G9Mf
MU4@K&H8EZJ*Q!Z,=.A<S^E@URB0M2:!:.2T\:GV+\Z.Y<1$"$1!K0*3F!AU(e
MZB*0TZ0K\J3Q(P=22J4&\:-?:3H 4S<UD) S8 ,&8Y: P5PHP";OF9)"F377d
M$3I?H!QL@A X(%I82*NVVEVY2GNM:5K[^:,'0A"<0P=-AYM*R6W^DZ<9FFC5c
ME:(IE35;0 5%@ 54\ 50\ 2PE& JP*?2$ZWL9)A62@9;0 1!0 5!H*W<6I?-b
M&H\-)JWEN@5", 53P*[=JDTFJE")%J_CVIC4.@59T 3XRIS4LBDH@1I2YT5#a
M=*JZ-0-BV9-/0EFM&IJP&I^R6JX94JLXA:NZBB^\VK&%(:)0HY\Q1:QNLB,#z
MT3G)RI'+*BW-VF4@FY+5>JW9NJWYFE[?VE?0.J_HJJX%ZZWP.K.A0:_V&K3Zy
M&J@-1[3F*K $B[,&.P((*Q$**TL(^B_+1@,0RP++9V70]A=]5P<9N"<!UDI?x
M4!-DDEVM%CTD!!CG4E498B%D\ ;2$[;!@VYL4D.7! <!!@-I>5SZQBEC6T<^w
M,!)(("2^ 1S"D6!AUG-;P&)+ '37]ERE"#^ .P;RQ7,Y]+@!5VT&Q5V%&R2Tv
MD;A%(H@<4A&T1P:7&VM"1!7+IULT4 -DXXS!%;:#6[;;<@1G:Q/W]6(QAF">u
ME!YPZR/P0[?,8;=8A+?:F 9\VW]_&V"VVR.$:[B(2QF*FY[]IKG+L06J5@62t
M"W:4RX5_H;H!AKGWI;TZU+V>6UR@2[VC:[VE"UFG6P:IN[K<=K58.Q,T< .Ps
M6R!?.U;!A4D  @)JD& IJK)48R#Q%$[>A*9?4&=J^L!K1GVJFV .55RC 2]Er
M(%<3EX'!4A'%&*$55'2(%(2+4Z24FF)*VE7#BTC0,Q!65'F3%%63HBZ=6(08q
M_,$;'& I* -,D&"ME\$@S,.MPP3G^UY<MP1*XP3KNT9LZV,[@B:=@UDI4<,<p
M,G'+VV 5,F H$,0ZC"DQH(4K,;+WM<6.U<5W),0;+(C,91]8J,12X 1%P 1?o
M$)E-$ 1'$!DIM86P8[(B8,4Q0E\[LD+ A"LX,FZ3>J0CH%-.)XA2YS_#!55On
MV+?A8Q\LT4H^%"[F5<DKL *K*3Y?N$I;D 9-[#UL"ZSC&V!<1\HNT'JG/'6Nm
M2Y9<ZZ!?FDI;R7W74<#:=,#'RF<0W,&_7,&"A5<<O)%BT,!\IL;%G,9?S&U0l
M3,(5Q8.)7*DK;"/;&+<U\L*_(\-OQ&2 ?,/)_,5$[,- S,P:',H];,3\Y;APk
MS,0N\+G Z[92(\4V5<7I<L6"K+<UHL4;?,9>?,XK$,;UR1*Y6L;]O#]H/$_*j
MS,:4Y<;XTLYS7,=?<,=Y/ 1[C)\)X,> C,5S0,AE8,@$@<**S,A/1Y!E%,E"i
M,<G.N\^7G+N9W%TQP,F>S,>9$\JK7,H%A,KPH\J.R\JNW&@ DVRU1 ,,6@,Ph
MX+6JF@" >]-T\DBO+#Z-N[FL''0B],DH!Q@&56=>)A(C,5[;T1T6F6 HUWI:g
M75TH<,#OM=/FH1C\E5*AZ]7_$=9MB(U?X#N<6H5KI,SWY;1G:P0F4P14$$_Wf
M)0;^F&5,A246@I]7[<L33,DZ#35DW=AFC=9E:"#W=1%K?5]SX-9=O69?[1UMe
M%3MT;==D@-?>H]?FP==/X-=B$MB6;1Z8G1"%#1@+BW@YX\_F/,3F00,J8!_Fd
M 0-,L'-9/<&%ZW_.! ,0>P.S_1=TC=#_K-LIT]OW%<;"75QU5K@%?=S)C5Y#c
M9-0JF()6]J5*S=-2#71.#=1035E,3=6-J=A7/=RZ [AJ\M:>'=?%6)D4%-GQb
MW6"QS=8[PMD3]MER3689?=ND;=H>?,Y[/;!]_=>!W89N**THT,6##>"'^[Y$a
M(AQ0I],W-+\TO=CPO5V.S9HEI-\B/MG_.I25K2:P/=B:#>!P#=;W#0*B;>!"z
MAN"H/8<,OMH.;G,$'N'_F@(3SN)J+=M<+;J] ;\:OMS"1>*M>=O.G=L[O-O2y
M_=O!K7_63=P^8-POM-WW^.1<_-Q3'MV^;117CN#7[0/9W>4WH-SIA+^U)+NJx
MXQ:NHZIS,<AA $Q,JBL\DW\LXAGPQU1XT%%C0"R8N# T6!%U0T5"5B=* E:]w
MA$V[G.*]?"D%Q;Z(<AV6_M/5H>EN\%+T5)I;L(YV^ (RD'HU EF\O+)J<@<#v
M0T4J2$4R &9<^>IB$.MB,&4)H3H)\18)H5N(? 86C%>6+KW[1$#&SCABX!\Nu
MU"Y?0%_.O*J??MIDB[O<LKM'P+C3?KLD1H:^D@))O,0X'3TK$.YQ7&V<7@;Et
MSL[B[@(;)F.BW,[F_;O@$XE"6";'0D7^825W8 96!*36;->*#BPF8B4^Z':'s
M)6W:Z.R"C"_%3K8(8;9H2R_IO /NI]>*TBYO9)M1.&X2),C=GM9<UP1-,.Y r
M[3\/7T<A7X8C7_+OC.E=L\Z;2_+H?D?PWO+5]NZC(_/;2_--3>_U,US(3K8.q
MO^W2VUT2S[OF4?$7+\Z* B\M@'TE0A <_T=_ 2_<CB_06=E<9S(F7^^F9O1Dp
MN_+?WO6P]/).O/.B[/6M;/-J;_8Y3T@W[[ALG_#H+>V@#L]=HVV..S=TB?:Fo
M?/=,">KI3M[;Z_<U/T]SO[F([^YRCRB/#34\KT.-;_=@W]TS,.>R*[%BA>=Zn
M_A=\?H2.!.BCHD:$;N@H@NB&HNA(1=J.'K=A9<OIM>H);.G'2>JW8>JHG@:Jm
M3NFL3D6O?@>Q?@>S?LL)8>NXKNMBP.MBX.MB .Q%.NQH9.EZ[T*;[O:=OB:@l
MGNQ8S_W+7A'7P?#R$^V#3^UU9.VZB[;:OOUCS_>;*^^ 3S_K_O[MGN[SO[WPk
MK_,Q'^_M;OE!WVWIX=[MFGQW!_9=&.AW_ZY1L; >,? L$H,)#1$!C?@_/T)1j
MQ!^:"# I#^GE+FQ'\8J8Q3L7&"\E:#P@4?6TB044-R0&Y\6_5X;RQ)[*<W\]i
MS^55/\WFN'Q>X9M\W,OEZ3\+@0-]GO^#+-V/Z&D_\Z<!K]W$6WH>L.DIN*<Wh
M!Z)>,=DF5"__=+P@^ +_ MQ;@2</[Q'!%$CWSMX,Q(%L[P:NO;.W VG@YJI[g
MYPWL<9"\!_,L! RD?'/IZ_V_->@]"M\;W *-3PQRG<:W R/?T\"!E2\-_C\Xf
M-ZK<@A%1"JD*N-#!9X?]W. 09(2*;W30-REBW\@?\/-7;P6"L+J4DO(2C/##e
M@-NN^GE"IU'T"%\CU#!C0>NYNJV"W-J<ABD*U645AJXUUPIO@(8AA;".%28Wd
MG(00E,(A1%6<K_Q!POG!74IA'6R$1R[&@387M K%52:L.YOP$4HO3P@+"9/Oc
MHQJ<,!2VP5&("0,(-,2&CS#=H<( <PFUFRND*+>NP<C"D4 +=R$ZQ(6?T!S:b
M0@5 '@+"0"@(W>5%O(DX,2<@ M6J"!<A(VR$CO 17()CTH=P(D'T0Y2@$EA"a
M1G@)HPIM(41^2">PPD48$%SA*'R%&_ 5BH)1*0NP#"%,1(58$7O"10P*0\$Cz
M(@48@ -T -8A"Q"#$"X;%>1;H T?D$16A<E @2'054;$'8A;HL$-:#HUH9%>y
M'VR1 YXA(22((64&/L6H8#)F($'  8B$&FYB1)@#D6KJ&3PRD$]0!1ZX 4, x
M+  I-0!C8A F>BE[;E>TB3>A%-_ D&H#U$1-[)H.$@8X0U6T1&Y"3< =4='-w
MU&+C2(L6 B$RB[@S*JX%4I2+'*4]2!-BP2&"T!NH'C<1 G;%H: 9E@!,6T1-v
MP;H0A"V6S2H"&T@)B8.*194"F =2 &!4,FHB080&HW@7;PJ20'AY@/0Q#J>(u
M%]GB5<00=* 2:45-<2?D0!ZX#@IP9[ )LM@&S**=V#=WD0DHB A81ZP9*J$#t
MX$;=7(G@,5.^2E39B5WE>LR(04$08I.X@8YY+BMVD,<X+6XB;^P1\"'/?8H!s
M8B5 @ V@ 9819T IW^A-"$*[>0/3P7!\.C2B*,J '<@0YZ,[3#]>08F@PY4 r
M#T.%8'"^FW@%<N+BP([6S"<"1<PB%+.9A")?4#$_),4XP11I(U24BE2Q/,(/q
M&R$>481D7 Y>$2R*105('(TC04"+H$\M"D8.&:G@8E*<BVC"+HI()B,8]R*\p
M&3;6["_&R,"8%P<C7S2,-S(Q2H^7XAD=(V3<BI-1,]P RVA>,*/^V8P[C$DVo
MQDQ4ST8C?S"-0Q(UJKC5&%5:8T=YC1(P-GZ&PN@AJ5&1O(T;3#>.1WW3&W\Cn
MD!*.!*PL%HO 50?"RDU4CJ'![3A'M@@=V\YTQ"+54='I1)YHS;2CD\%$WM% m
MZ(<A-?7NXGGTC59B#*Q'YB!NWF-\/">;RDYFB;>#'U]*DG$[_?$_^D;R,R";l
M0X&<*1TB5-&24<5;=HMA:$CB@U$X"DC1M_  6+ !8P%JW,1'5QMITE*,5'> k
MU$2QUY :E^.ZT6E"H%;8JS'1*V& BLP<PQ*;\<@B22,[XY:T9JKQ6)"!R@48j
MA,"7"!/4LO\\"%81+)]&MB1>+X6**,N'!!^TY&>T*)G!!BR!%A #7$ -$#@Zi
M[5$L 2$0!,1$@&D=[1);&@49D I3QIU+%3& ,. +?',BC 6)K#ZB8H-EB#D h
M.!;&=/P+^,*HJ8R0.!2FS$[B?#I-5SZ*=/E"?"4, )8*DUAN2[;8+9,E75F6g
M4RQ</DLG%QBD):]4E]8R+,9,;>DF:>:Q]);W$EPN1XM +@/#N?R9+7-5M(JAf
M"2];W;P$2DB3LDC)?=DO_R7)>AH"DV :3'R!,$O(32R;^,)KM<R(&6 H)B:Ze
5C1A3I)@(CNF3KAYG^)@\[*C10P4 d
 c
end
----------------------------------------------------------------------------
originaly written in English by k.h@mix,
posted by
	(Wed) Apr 24 16:20 JST(+0900) 1991 	nemossan@uitec.ac.jp
						nemossan@mix