[comp.sys.atari.st] Floppy Disk Directories and Serial Numbers

woodside@ttidca.TTI.COM (George Woodside) (02/19/88)

With all the discussion about the number of directory entries on a floppy,
and the previous discussions about the serial numbers, I thought I'd post
some (supposedly) accurate information about them. This is from a combination
of the developer's documentation, MS-DOS documentation, and painful
experience. 

The parameters which describe a floppy disk are stored in the first sector
of the disk (the boot sector). The defaults of the more important ones,
for a normal (desktop-formatted) diskette are:

Sector  0       Boot sector (contains this data)
Sector  1 -  5  First copy of the File Allocation Table (FAT)
Sector  6 - 10  Second copy of the FAT
Sector 11 - 17  Directory (room for 112 entries)
Sector 18 -     Data

This information is permitted to vary from disk to disk, based on the 
parameters stored in the following bytes of the boot sector.

WARNING # 1 - GEMDOS does not process all of these control parameters.
WARNING # 2 - 16 bit valules are in byte swapped format.
WARNING # 3 - I may be wrong. I may not even exist.

Byte   0 -   2  Jump instruction for bootable disks
       3 -  10  Operating System ID (GEMDOS uses 8-10 as a serial number)
      11 -  12  Bytes per sector
      13 -  13  Sectors per cluster
      14 -  15  Reserved sectors (GEMDOS uses 1, no matter what this says)
      16 -  16  Copies of FAT (GEMDOS uses 2, no matter what this says)
      17 -  18  Size of directory in entries (they're 32 bytes each)
      19 -  20  Number of sectors on the disk
      21 -  21  Format ID (GEMDOS seems to ignore this, but I'm not sure)
      22 -  23  Sectors in each copy of the FAT
      24 -  25  Sectors per track
      26 -  27  Number of sides used on this disk
      28 -  29  Special reserved sectors (GEMDOS ignores this)

GEMDOS always uses 1 sector for the boot, 2 copies of the FAT, and ignores
the special reserved sector count, as far as I've been able to determine.
Informed sources are welcome to supply any additional information.

The serial number, used to help detect disk swaps, is stored in bytes 8-10.
If the prototype boot sector function call (Protobt) passes the value -1L,
it is supposed to leave the disk's serial number unchanged. If the value is
in the range 0L - 0xffffffL, that value is assigned as the disk's serial 
number. If the value is 0x1000000, a serial number is randomly generated
and assigned to the disk.

Note that the desktop, and some of the formatting programs being distributed,
tend to leave garbage in the unused bytes of the boot sector. And, for
non-bootable disks, GEMDOS ignores the operating system ID, looking only
at the serial number field. I haven't dabbled with bootable disks, so
you-pays-yer-money-and-you-takes-yer-chances with them.

Now, before you fire up that sector editor to go looking at the boot sector
of your floppies, you may want to try the easy method: this simple program.
It will look at the boot sector of a disk, and print the information in
a more useable format than a sector dump. It will log the full operating
system id, including the key bytes 8-10, then print the 24 bit value in
8-10 as unsigned long. That's the disk's serial number. Remember that much 
of this is unuseable for hard drives.

The kludge deskey() is a quick look at the PATH environment variable. If
a PATH is set, it assumes the program was triggered from a shell, and
returns. If the PATH is a null string, it assumes that it was launched
from the desktop, and waits for a keypress. This works with the configuration
I use (MWC and Beckemeyer's C-Shell), but your mileage may vary.

#include <disclaimer.h>

I know that you think that you understood what you thought I said, but I'm
not sure you understand that what you think I said may not be what I meant.

table
 !"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 bootsec.arc
M&@A"3T]44T5#+D,     G@D  %(0!CJ7%&L=   ,+U1 8O*B@8* (" I45'Pz
MH H03=Z0J<.FC(Z$!<2\>4-G3IDQ+L8DI,'0($*%)1V",%+'S1@Z:=ZXN0AIy
M )$T<^"P"9,'A!DV;^# Z:F1(PB/+]_( 4$F#)TP"3VD/+FP(4(H<MZ<D1.Fx
M39LR<BX>*:/T3!D04ER N+*1S)PT9,Y"6C'U(4JK#XDXM9CP@),W=LJT$0,6w
M1 P8+ SGP'$C(8NZ":N:%$C0X.2!>$$D<3*$214B158F85)D2D(>=3%;5C Bv
MC4LV=>*"X#&'#IF8+M#X,-CZ=>RS/%[F@5,F]V[6KL? ELT#K!PW;XSS3KX<u
M^)LY8ER3D:Z =UPSKL^"$#+E2A H*(#>88$FS1DT*4" 0(&B_?O9/$#@B+]Bt
MOGH0)H   QYFF)%""JNU]-89;I1!AGQCH!'&4B"(48<96]00@PQ=[)#0 P@5s
M1<=1']&A5(47FE$8) ^D9% ;8;B&PH1GC,$"C78@J(!K(T)" (UC> @)!PC1r
M6,=7;HPXQALM]3A!2A%.*)\*.&[184(:%"G'&4>6D20(<+S!(UAS) 1!2GNLq
M)I\<99R!$QV%@<"C?#0*.0%"8]0A!YM?&HEDCQ&XJ(!\:9@QXY8BY2=#?)!Dp
M^5"A($ '@I]>=I20!"DE1$":@T)B !QR\&BH"%7,$899%XF(%%.A!@;"'F2To
M6D8?7+@A0@H>(O16&SJ=58>I9B740*:>EH%'&G2@  .N6")D++(@W($L&DR.n
MZ-R)+!)+0!\)C>"L&P]*2FF294(2:$,&R6>&4H>> 4(/AGE(XVR3(BKOEBNLm
MP.@!"*V[5!EA1 @"FW'4449M"9V;KH]S4'O'%R*V:\<6-';!+(L(W9;33CU!l
M"\D%@LH7UQQKE)$'"A=W@!"U;#PXQQAL>BFG&3YEU093!Z]A(AP)&9#IP&70k
MH:<;REY,Y$-A@ O"LR-*2P>U=5B[)[8+I,0M)"=\^R",KB64@: !J::2%  _j
MF/2#&NO$4X4;C8B4B4LU]51"**16F0(-O_%PQ+&F$9B.45*H0M^!";E!QK*"i
M8"*868UQ<+D**\#IFFV^&>><-:4A) 4(F=5@J"(MV>2*F#9$N9NU7?YE361 h
M)Z0$(;HV84^$G^7&D80M!8D#/[.).IP48CZ '6' 5H:0$&1<1@MSW!&&4 Z"g
M0+SQ"?=>>>H4 N6&NT#KE ?R""7QPA/=L]$3)!A8_WN<VG-_&QFO9XS3&IH1f
M(7WQ!B=$0<@SUUW[N_ Z00M.P*@*( 12%0G#;;;'E# T[%+:JEV^A'2THZPAe
M#3Q;W/_@4CUT#:I_.*D#].3@/UD=*"%W>A3-1$B<I8S!@7+9G^E\U+HWO L$d
M@TM<"T!P@B"<0$@1P)-, B.'$2TN.VZ8G9E^5@8V> 2$<U /6$KHMS*<<'<(c
MH8,<>B)%%\(0A1&4%+QR6$40[/ $8?AAPH3H!B(:T89(5"(DSF2ZI3E1+B(Xb
M(!LJ<H;B :U@!^M1Z1:VJ85]*E1)&I6J/G*1).RQ37[\'\$,AK 2C*%6(GA,a
M[9B%$#:%J8A+F]I2B&4 IJ$@!A=S%)B:E) .:.MJWGJ(EQXD!@6RJHR0D*&:z
MRM<3>$G!>6*8@[)88"$SL" &+$!,#2^6@"QN47%H. N;; F)"O"O4"CPI/D y
M"((@%.$+0T""$X[ *-BI$ 1?N0U4HK2]LUQ+=PS0UN0\I<U>@F L=! #',2 x
M@F4*R0%X2N!2TIF&=4JHG1\B93UO^,LP!'.8Q3QF,EG@3XQT,FC/?)HTRP;&w
M&6ZK6UI#IX,*"@)V!NN=":F:!PEEJ'HR2F7GA,HT'X122 RR4X7LU"%%A0(1v
M+'(,%R&;+5%:@I9AD@4NS=5#TL:Q4&;%A1*1B\]F6,IC)0N50E(E'%@)"5=Zu
M%)8AK>6#9IH0:ZZ4<3P5 1%D19,(6/*H-01!?WI(0*5&BB-G^1\DXEE'4*55t
M"4?BF6MJ(X<ZO"0F,\%("6 @ SR 8+&-?2QC\7#48FX!!ET@YH6V$(/,6I9#s
MN$H76A/9TR00@283N)60"H 0Z,"I?G(J4X/P($C^^0L%:;CA##R4V_S$( :\r
MS1>C0/00T\9V:>Y!PXC$D <XE8N.A/0K:44 6<=FTK)IL)B0&H 0Z8Y()F=Aq
M[FN[%DW'[I5_WAU5K1)R =7*YZ(M*)Y[W. UV[(KM_#:K9SH]=O@ZNM#N@H:p
M"$0XJ3YVK9KR-"0V<>)=%&#78L,](,V\Z]"*E)58"$AO3RTIG^MN-KL74XEWo
M00#>"C7W+%T+PA2&D(0D)$0!I&SB$R'A 82TA,)BL# D+(!A#8L@(0-PKTUUn
M]92>R)=!T4/P5T$J2Z6IF,4N-JZ2=_F^&UH6!UT D( (9(;X/<0L(P*/'!#Fm
MD5#Y\7:#61&,ZUAE>/63@SS(SWY P(?Y6#8'60[0@ ITL0$$>$E*$Z]<>,QFl
M#KJYRG'63WSJ[.#-'B;/6^:SAT"0Q?;(@98G9B]Z$4F'4<UG"F I*!M X 3<k
M@>4B)<!!RU( 5[AP\B'@<0-.HOD@IZ$!MMDZZ_3R!R_RF <]EOVM9QT-6B'Qj
M2Y:TY<I+3.Q<,!7F;=A*P,]\+(03EZF%)$I*6(!< AJ0@0MT '<F=VU%NX[8i
M8S>5CX]!K>UK%T8YOP+>11XK@V_;2K,8BL$,M$OIAT![S,YV(6RPAY&?D?N&h
MOCY/H_--@V'GNP;\AL2QEY;L@(V(364.C,M*I)1R2;NOG!X5V3(>O7_/@28#g
MZ/:WPTV'<>.OW/T>[8C0/>V0]W0(04G#P4A,,R,$@0HT04 )ZEU91]N WZTUf
M]5+>T/.?ES3G._>1P5^.\/(H/-@W<#AGL7RQB1M+BQ9G2AK8I.V>5"I444= e
MS=-Z$[+#S>Q)0OO)Y:-R<(N;!>1^M<SE5-LZ'KS75@>VH_&,[RW( +-==U;%d
MEVUR$M-78_2#Q)I%NVZ. UPF8B<9RDM0 WN[W'AZ/W>/S$IYFXO "$J!T8A,c
M2Q,&5-?N+2^\##JKY3T;R*[^4KWBAB.7 4R=>H#_]<(-SR'9[SOQR 8[XRWOb
M[J7XG HO7OMTV0VWYJ_DYS0A0-WOG7=S<YKO^OL]K\<3^.'+H.&RASCR*:Y\a
MMS$_X(I3=N35#O*T4K_C\%?^&N9==Y9_WF"A]WTTYW=4%WQ7MUDR<'2REW7Kz
M]W7*-B+1I$!S\ )O,3()P3OU-WUPL7.8!WDT80#;]W\PUUT"V".Z]$%_1W["y
M]UE8)GMXUH"+=W$' Q8:EVW5EQ ?5WKV1QQC(&I 0W)DL'G>=E3=%W.B%WX-x
M<359TV1HPV!-)3=082XI 1H(0D]/5%-%0RY-04X  (<"  !2$)I!*8O' P  w
M# T4"'GRA,J4(D- 0((PA0H(*'+>G)$3IDV;,G).S '1)(R;.F'8*(PPL.#!v
M(0$#.@G2I$A A05*&D0(H@4(,FGFP&$3)@\(.FC*W Q#)PR(-&Y &,4Y9XU&u
M$&+>O*$#8DZ9,73>R$FI8$H6)T^@3$DRY26D E&G6AT#8@L9.6GLE'$!:<#;t
MN&6Z<"529,H0*4F@4$GRQ(E9M%+IK+V9<V?/C4"%CGGCQDR:,W4HTDE#^6AEs
MK6V(<DZ*]&=0J(FK7LTJ!\0;,X<C,VZZL;1L-Q7+D+D)5^X<%R"HH,GI>0R;r
M.F3*;%S+NFH:/658@#!>9PX=C,ZASV%QV$@0AW.>*Y>.4\YJK3[#:Y<^)@R<q
M,&/2T,DCO0R=,2ZX"JERI*P"F$Y0)M0:;KQQAQO '5%$$T0\,<5-;R@'0H%4p
MP1'1&,IM%))(LI%!E%&VG9865<QIQ=U_9\WQQG1H>'0&4F=4]<9%(-@14AT2o
MAN93BW*9)E1RX9FW6QEFF+$:<$B$(<=N3*VQ$1DK4GA8=4+)-D=N()@!&E%*n
M;60&&V_  8=/37JI%6I3J8;5F3;"%888;(PGHXP7'?::CS7>F&-/4 E%99QSm
M_,95$%50@<034AQV1!E:G2&4%,!=(149X26G4 -#S @'E7+T",(--M0PPPTLl
MQ# ##3* <%@-,L20 PA3> 2"$66PD49\'JU(A!S 09* @FZD(10D!QSAPA4$k
M$3$67X=)^@89/+FQ&Q)IL,'&=B ,$09P.9AJ PVJ*G!8%0<Y4005.H#@@@LAj
M[$&'''?((08?< S'DQAS\#'&''6X06]X-N+11PAT;$9&>R'<,6FE97 %$5+7i
M[0:##"_$@,,+.."@$ PQ! 0:"$)/3U1314,N5%10   C&   4A 4.NRW#B0 h
M  Q@-   @('50 )L!@J@ @"2 Q5O !  T89@M'8 .)"HR$(((!%(E$@X T6$g
M(A-*2&11HL$,/Y,BS_!@L % $#/L: *08L:<SB-FP.FT8D:;SAYF%"B9<,; f
MB&4#.2@3D@E$ I,H5;)T"5."&7DF )B10=6J"'Y1V17!"(B"!B2"A,@  4 .e
M"+=G+- *< ;?%"4BE.%5L-<,/B$J_OT#8XZJB 33\D5U-R+89!=)5B21^*+!d
M"&0#,^!X@> % $F R 6:$N1'@$G-7B3H+.3,#QX E#@)X@TM R6#S+BX+9&Xc
M ">Y!DH X ,0<N5.?O !(("ZD"O/ 2QOGEV"$RQ/.#G+'D!$;P *?@#('L$*b
M<2:[G5CYQ^_% 09NJ - P ;#"]P 9,!#=@50 UYM[%E!Q1-^!.!+?OQI ,,!a
M2 !3#B(@ !&-.^B]  %Y>( GQ1%@@$,@%$( X<('3GCA1!WR_<,.$M< @ \(z
M$#(  0 MF$& %*[LA^-^$$" !" P:(@6 !N,4>21 @ ! %\0#(G DX 0(&40y
MN('!A)58)AG-DDUB&25U9S@ II%92AD&&-2L>:1Z_X6F!8'4</$$' &HE^""x
M/QA0&Y]T M@!&X,2X&<3YSF  @ ,$/(/) /(8P8*@<)QP*+@/1KHH'T"4"< w
MAR:Z:*./*D'(&1R\0,"H&?2!)Q1[AOKG$S 88,"6A89F"9YZI@A!#@-UX(9Zv
MPA)+:AO( C%LL6ST&F L>)ZG *S7X F>'P,P< 0 "[ ! @Q'C FML!!(FX$[u
MP#XQ(AC:P$J/M@QV^VVX5)!K+JF(.FLD$"DB 42&^Y;)YIFKG.&!ODN6ZJ^Tt
M&C30+A@.C*J!=\D!4*"())J2;+%TG/F/P $#$98004B@; =U"! $ ",'@3(2s
M08 P0#B( !+(R2FO;(?+,-,\<\TWY[RSJ -8;,&L3Z"L<K%W /W/QZ3B$0X2r
MT 2A P _%&"Q"^U2W4$>$",1=L_%ZB&UV'M<G?7675L\1MC.KLP'Q+)F7&"Pq
M:)/:Q]IU%^N'VUIS[36 &F!R]M.D_@'XLZ0"0CC<AP^D@2QT0]Y!(")#K,SBp
M*POR^,J#3&ZXQ>> 7BPAHQ=;B.EQ UB3ZJ0:TCJIA\!>.9,:T-X!(K=WD(CNo
MHVXP0[M,U(A/BR_&6%\#Q<.GMR+@J3!P V<0H$0%9EA0?!1P).!G$'IJ.OZ"n
M*GS!/(SST4,C#@"8D$=H.("PP!DNJ+ %"-BC@ *$$N@ $@(! 0H<"18W08 2m
M*) ]*3 "#.Q8H!F\P8 6 * 'BC&#-?@'!@%X)'GP6Y]\!H($"!7/']D1%*U$l
M: 42YH<!+W#!?E(HA!6ZB'W_,$<)<W@;0(A*A@C(#F&L54)([= <-*35$6N#k
MHW\L#Q( T!,+_T$)&L$ $"UX(7V:R \40 $+KJ /!#AP)!] 2DHE.(,&E'"$j
M,P!@ &:(X7Y^<  K@0 -VG$"%/4$+SB H = ^ <\X/ /0,J(D(9TQQC+"*EOi
M]<@!?#*D/!8)"#."@0!"<,,_Y.$M ,# # R  PP,"0]*FK&3*C"#";A(A3#Rh
MHP=0D!$;(!#)0,H#!BZ0$1& 8$AVF!( 8%!!)F7421BT 02=S($;))1+=@0#g
M+0J QA&TY,E>_A)>G72!&93P2U2:@0*L="4L_Z%(,E82F,+4I#N*><QD+A.7f
MY'PF>J1)S5$&LIR,Q.:WV*#*;GZ+#&>00"??< 8&=+(.3>DD'LR @ E%Z1_?e
M,",('$  'U(*#"T()#VL5\M_H&-"()@.06@A ]PXH(-80 (LL'"%9/Q#'R" d
M@A.@ 88I*2&<]!DG.)2@27"PP0'P!,<N#0D..+1  \" 0WJXEDMP="8["< &c
MK:Q7TP!(0*GJP2D_?@"!$L$! 6!P!QRZJ@XNMB"6X  C?9001I^JJ:E$P&(@b
MBWK4I"XUAO]PJL0RI@ B6 L,K, J +CHH:?RU:_0M)Y:^5%3 )#BJV#PQECAa
MQ4400$ $CR) 1O/:@B#\@QQ0<&5G?I!+=^"5''@%!QW9 X?S=!5F4A@F.LP:z
M2WPPM 4B+8@3%PN"7.)CLQL%@A(Z$%">DK,-]N ?%,.(#UBH\PWJF$(CP( "y
MV6H5!A! *A@L0%@(R#&(&5/A$VKZ#RST]A_T, T\9P2,:%P"!!^ 8B,,J0XVx
M8%*3ZC"NI9A@7'2< 0;X\:0@+]5$>NB(1V;PP'<+#"3T8BFK$+IC'O>(JUQ&w
M%[]* ,(9K@5$T@HRL@6.13/( ((%:Y(>#:;'@P<;83QZA\)@P(9^W<@/6,#Sv
MPO_(KX8!P ]1?-?#\+"CB_48Q?%R(WE7G*(Z: 0"8/A A@Q0@1.$4 *'^A!Fu
M_P $AQR FS.(P,H#48R6 >  @9$," (CV)(RX( -0, '!@"#,^C(Q"_LB\UNt
MWEY!K00D(G4"#$$&8O*:/$5Q6!$0*H#0DP$ @22X0S%"( $</'D T\B1 =FIs
M@"!HM5EWG$'2E+8TE#.-#%JI.30.R  $LDA.2(&!&$-BP)U3#8$%9D\#W ##r
MC1J 9.?<T'F=2329>[L?%0!B!5)"P I$N@ DD%D(%K0 +B&URQU(R:!M $0 q
M(#7+'?#A#_^ U+('L@ 92@ ,RF:V ;3#O_1-\7G"5L 4*L( -B! "/0F)!@4p
M ((J2*$2T[X2HM7WZ_G .S_\]C? @0B!@;\[V!"2 KW?<.]\+P8!_?XWNMQ=o
M</I ?#]*:,5^S(#=:$-)2@(P@P1N4YWL7( 2"T+VR"4P;C('R0$U?P!HSNV&n
M50/  B>GSEA\?H$YK2=C$C#%@C*LL%V0R1_=JWD#F$'FFD- #>RV(%A-('6Jm
MXURD#VBA!(AN].PP0 0+JA T1(X 8\L<D_3F>/,,;A]" 4 (IR#M#)%N#%I!l
M&1"3(H"/4D0Q,&,9$/RHCL!6]/ &"+LT>R6W&\#3&8J0F<C5(_C<G<CD2@(Qk
MWH:5/.4;0$?+O[C(@_;UYN$M4@X((@N- $$38K$D#LB@#+6NQ!G@\8(*F)T;j
MX $#.>2.0WQT_O$^!SH@SA0 '^D;"*$'0 .  !XSDAT0?LI8!&BQ=+:? 0/)i
M#WK*8:AUE[/B0-&>4.JG:/QK@ #1$,(WI,*_?"E!P QF $$%H"AR ICQ#1I h
M1R]@001P?=DW$!0  +0""T!! FS4!AQ@>0@0!.A0';%0#: $ EKG=E)" )>Tg
M E4@$80W+LJ2 390(0Q@40,  @PE!/,3(#8 !NMF03MB 82T?AW7?N_W>!('f
M*1%Q&M$W?>"1868P$+;  !ES=5%Q?Q4C.RB4,4+X!!JX'P9P9=7!?\4A*@1He
M@$>G'.Y *]5V;0P@)<WG!3!0@B<(#"G8$"O8@B]H@C+((XSV<_+' &!@!#!@d
M00S0@PQ@>00 1<"P LXV$0J'+M9G<O4W6&G22=@#,TS021JP81-",4I ;V8 c
M#'*( #]W@^ZG>CBD#Q^' $@X$$J8$4QX0MD1A75H=SOD#US8'5_X!&.H&&= b
M TP'!0P@0QKP#U"G(XAX)BPX$S+4 +P(2O0'C&9@"\*22_Y 76<8&FFXAI3"a
M@O?VAC'H ')8@W&H=9OX#\07(SKH><6&<)VD &9  L<H)2#P?9T!!Z37A0 0z
M=GHRB__@?(L! _/&;2(0?1" #D,(!&8P6UI7A0K1$ #0?U, !-8&*1D'< ?0y
M<#BX>?;0>8O6=@C7 4? B^68?^FHB!30CN^8'3HWCX'T#V?@!778D??G!/SHx
MCT] A$# BIKDBA94=-@'CPE(*V,X)3XRB20(C2BH@M3H@M"XC7-H@_\0D<5'w
MD9]'CM]BCNCXB^K(C@W@C@?(:&I DAE$ /K& W4H@11H@1A8,9$G?=3WD@#Iv
M#0TY(0VWD^9(EJEXED0H#.K7B8V'?%(I$1M6>17A )@GA15! !<H!C!4EE$(u
M!C1@=_J'A010(:;QBGRGDX '"8+'E8NA " H@O26(M_80O#( *Z@=^ U$!$ t
M"@O"0@,Q*JZ7'1@@ .!A=[>"FO 8 7 @FZ()!TPP/N AFP%6 /OA!BL'1-E!s
M 2RP(#LY!&>  G#P ^HAFL-)".!QFSZ@FT]@&ID& L'G04#P<)L"1'!0!-1Ir
M1K,T(8X)CQ6 G>,E LZ9,<2Y(("T'VW@ **Y6NP)G;AR (S7<?71G7,D0PH@q
M!T;@&KNA)V9$A)@BG.Q9G$_PG@C0!A8PG_[YG. Q;0I0>!0"#-:9,><)'ODYp
M=P.QG@BHH,?I? '002EBFS(DGT D1PH !T(P/M:2H0.QH4\P1?# 9*J%H"%Jo
MG%(R!$4( ,PP'9J3 8RD.1AP)!5"D*2" =8S!?GA !4! (XP!4? !F0 !U$Pn
M 9BXI$*P,ADP*AV  8(UH$\@G@UUH8U%"8(%!P*@'G P (M2/@*@I<4"?EY:m
MI"MSI("0I%<6IM:C+\V@5 T' 0($"%O# $4  "U! 'X 3."$<'VF !!0"%)@l
M!(B*'D7X#V[ /Q55IW2ZI!-P#,62 ;D"!B3 HM-69AC*5/NQG##J&S(* #0Zk
M:"92<*GIGZE:GK<)!*\**;%*H^S'E/LQ(58 !#LI &+  >6 !&*R9AX04S,5j
M3'  !6!@ G 0!& @ G P!&#@ 0_X$"\H%53:!@K4 8:A;PI4 7T! 15P)$H)i
MCL*J0$<0GRH0KLHPKN5ZKI>I9_A H1H ".\Z'^%8D<1JK"@G!DBPK,T:&BH h
MK=!0KU&A#.QZ0&WT&]S#E=U0K5(P7>R@7 "0,5)QE<NQ(!3C!]SJ#'Z K<K@g
M!]1J#'"P#0$[$&RU'[-$; @05S.PI2:H;Q,AG#<D A$!5@0P!.^P'_LH$6H@f
M $00""00 4E+!((0!/H  '$V$'R@!*9! &KP&X%P!@(@!8"@!!&P!D(KMD_Ke
M''4 M/MQ241KM%G;M%)+M8VE&VD;M&Q;M C0M$\K"$=+ '%;M0#  B# %TJ1d
MM6I  )0 ""!P''6[MD.+MTW;MW'K@1,1 "]"2$H@"&9@ ),V4^* "+(@"&-@c
M ..@"&1@#^(@"9(@"&0@ -(@"., 161 #T;@'- 0(S=Z#3@ ""X 1%!P" QPb
M"%@&#F(P$(80O .AB61@ "X ()IH'ZQ)!-4S,+/'#X%W!F"@!!G3 12@<B;0a
M!/8S EO* ?8@OE$A#]4* B_(O2*6%%'0"+]K H$)!A*  NM+ 5' ""# !": z
M1P20 DT@$2!P %'@0V1H; ,,#8U@OJ1" 2@ !/F[OT( 12FP!!(!0IZ(NU8$y
M#(UJLUP "%-0?[S( @# "T&" ,OK$8UE#)G #!";$?+ /V=@%Q4@0P*@@GR!x
M!,B4)@/\4/X0#91P%S*D DR  DW@"X8P!C+@"88PP-(X  1 !OQ6 3YL;&! w
M 2K0Q :@P S, 3$<KC%\"/R#!8  !F30PDIP"'MV #ZLP%1% "H0F+L@&3!Lv
M!HZPPTY!=3 L!>&J#\^8$?IPK&4@;WU,7ECP @:0'18  )2GHS]'"M,[!7W,u
M/T@&#+(Y:0$7JQ8 R36:@YUGLUF :,)5"69  XW*,%'!#]QT!N-R ".RL!G!t
M#RO&IFX*I^O1!'Q$#>P!"@!0"6P8  'K<8X'(7JF 2<TL3>IODM(9'JRL6 @s
M#B<D6,ILBLS\!)W)>34"#+T+<H=@;R#  X$'!C"0Q@P% CDP*5!LJE(@QFP<r
M2/X@0W6'!..C)R1\!G&RQ8<@ON@\$0:0/ !@R;;J24!4GM&[FS>T!TY0!4S q
M!'W AD20O(O\!,F;$"&X'TS R,D[:6.0O.8  &0P$ =@# !0!LE+!V)1T@#@p
M1OMATC^( -@H!\F+#P P!\F+"@!0!R#M#P" !\F[' ]-M6P  S$@ S-  S5@o
M S>  SD@,T- !$5@! @H!0CHF12@!3.Z'+**C;*J  UA %4P!V%P!F6@ R @n
M!F_P!G0P!V4P!B! !G*0!G90!B"P!VX-UV70!UQMUFBMUF- UDG !FQ0!F<0m
M!N)2UW$- G)0!G%0!V4P!W0  B4P!GE]UFF]UF0M!640!B16!G(@!V]@%R5@l
MI5Q-!&\=UV0-"1$0V5RM!'70!GZ4!F[@V')0!V- !VGP!FYPV@5093* !Y -k
M [W]V[W-U4E !*<] 0# V[Z-'B  "1>0W&Q-%\T] (.% E/ V6E V"#P(FT@j
M!IQ-UB6  U:: ESM@G30V"  !YP- GQ-!Y]]V@-0 C1 !@F0  !PW;7]V7.0i
MWNL]!FQ0!X[]W2  V3(@Q3O1V)P=UR36WOH-W_)-W_8]!&\ !VF WF^0?T80h
M!%1PV@A0 @4^VFF0V/DM!WD  F7@!G3PUHU-UI ]W_5]WVOMWG*PW[C=UFDPg
M!VO@X#5@X$;PV6T0!H]=W*?- ,K]XO@MX_NMWG:1X1O>W 3PX%Q]Y/K-WW:1f
MXF$P!CD^X ]NY&E !A:^J61PXUD."08 Y?>MWF.0W>*2V&HM!PKNX//-U5"@e
MX<X&!6R^WV'@!B6^!F60!RY %Y0"!)"0 %  "04@Z!( 1<W]  @ "?P&"0<0d
M )"@ <UM  (PZ4XN):C- %PP$"D8 @TQ 9SNZ8 0 ML&"0+5Z9 """-PA02Pc
M >0P$!N@TQF! 0U!!%GP!G5 $0#^V&/P!JZ=!H$- G>0!G2 !B!P['+=(R Pb
MX;9=X^X- K#MWW7@Y>G]UBA^*2G @FSP!D .VZP,!V\ VR9-F1S@#$,P!$$ a
M!3\ ";9.YIH("0L@!)J=WN..XNL-VRR8V&7@ @W U8/.!"(@ P8 5"Z-  K z
M !I@  K@ ;FH BA@ #H" PNO(PQ/*0C \ 8@4!*_\93" !KO &ZQ\ GO  R?y
M\25_\@S/ ":?\@F_\BW/\C _\Q:P\0YH !C  1(0 (1@!%"  4+  4P0  X@x
M 42  0I  2Y  @J "0Z   Z/  </ 2Y@ RH@ @K@ "X@ =Z*72Y 41E/ A0 w
M 6Y  !G/ 4(  4:@ 5P  CH/ 4!  APP,"@@J1)/]19@ 2P@\C!@ 11@ 32 v
M 1*@  I0\P;  @RO #:@*R8  R9@>SZ@ !S04/A  2"/ . D7 9  B O\90Bu
M^>BH 2+ \@K  G)/ 0;@$!3PAP40  % # 1@ ;%O]@3PAR = ! 0 %P- VS(t
M"N^N (K AN) W0! !5=H );@FY"  &; [U_0$ NP(Y3""A? !C\.V&\P!L^_s
M_-(_ *1@ 3\.V]L?_6PH @' V7+@!F^P_4G/AC:0 5]@!F)-!V*P_0G0_<S0r
M /$__]K?$/?/AJ[@ /%/X6Y@[-M_)6P(" SP!61PWO)O_]T/!Q'P!;(]X2>^q
M_0_)AK2@ '?PUN?-_M)/ !3P!8Z]!G.0!GI0!MM_  E(*>[  5\P_V: !G20p
M!^J]_070_2Q  7,@!G*P!N/?_92  5_@V%[>V=N/^6R8\U\0!E\P!V.0YW"Po
M_0>0@)0B#QSP!6/0!F3@!F'0!F6P_0>0@)3"#AP0_W"P_0R0@)0B QSP!82=n
MW7-@!FBP_0_)AKA  =??[?T_Z-U/"1=@!G" [71@!MM_)6SH#@50!GA@[./?m
M_580 5^@UG1@!FA !WF@WMM? -U/"!1 !G4 !S(P_MWO!!( V&%N!]#?_4+ l
M/?[]!FIM_]W/#?7&!HE=$?+>_990 6)0!V:P_0Q0 6S(!AT0_W!0!_1O_]UOk
M!0\0_W!0!W30_X/>_<CP %_@V&'N!O:?@)1"#AMPXG80XKB]_9C/ACB0 6P@j
M!V%N!]#?_4A0 5_@V&2@ZW2P_9C/AOZP 6S0V650$?+>_9Q0 5]0VWF@WO:?i
M@)0B!AO@Y3C>Y_;?_5!0 '9@I7 -_=W/!Q4P!W" [71@!MM_)6RH*U\0!O$?h
MXHZ]_0>0@)1B#QQ@!VR0V!4A[]TO#!7P!63@WF' _MTO"1& ?_\]!VA@_]T/g
M!-A3!N?M!G9@_]VO" 5 !G4 !]M_8)0I 5]PVW$]XMMO  E(*<K  7!0!VD]f
M_MTO !A@!W(0YG8 _=TO"!5@!YU=!A4A[]V/#!7P!8X=!G) !_8O_07P!6I]e
MWIVM_MMO -VO?_$/!W5 !W1@_]VO!K2$[71@!O;?_=10 &R@UF6P!NS?_<8@d
M 7. !F]P!U^@UW2P_0;0_7@0 /[]!FK-_MU/"Q'P!66 !\;._MT/"A%@!V%Nc
M!PUQ8)3"#=P#V\;._MWO!@N0V)H]_MWO#A(0_W"@UF6P!MM_)6R(#A# !G,@b
M!G*P!NS?_4=_XT!.!WE@_]UO"A*P_V60UBF^_0_)ADBP /$/VS>.!MM_)6SHa
M"@RP_[!M[-M_)6S(!0P &@A$15-+15DN0P      (@(  #40430TX(<&   ,z
M+U1 8O*B@8* (" I45'PH H03=Z0J<.FC(Z$!<B4F;.F3!X78Q+68&@0H4*2y
M#D$8J>-F#)TT;]Q<A#2 2!DZ9>2T2>.F#(@T9D#00>,3CIPW9^2$:0/B3I@Yx
M(-B$83F&*!D09HXR'>I3(T<Z;^"P2&@ I<D&8=Q<'3-UCL\P(#KF,;H1JM,Tw
M=(2^ 8'F#9NK7$',&2.G3!DW/X/B;?K4!5FS#T\V1!BDSM W<F86.%(&\QF?v
M4AQ?>2-Q3AJ-"5= 3KAP\D,B87#./* D;9TP<O* D!%C;(P<.' D;+%:<DF!u
M! T:',%S#)LZJ'G,H4,&I@LT/I8W?Q[]S1PQ/,E<SZ[ 8!D\..4@!E$5-P@0t
M*C[C=&,'18H="2$@K%IFS!H0A]F1QE%NM'%87I! @))!7LEEGT%[&/1>86>Ds
M,5U.[[4GQWLJP!$;&O@EB! <;_"4GEX@%$9''>H)1H<</)V14 (+*O">AT.!r
MT ,(\@6(@@A0!$$%$B+<E]]^1/F'%68@P(4C&@E%4.-[0*& PI,Z[NA$%4PPq
MD0((?/ ! @H=?I@E""=P <,)*7R)$% @N+$7EI!<@%)"!$1H(R0&##%&3'?,p
M\2,4A<T!55JZR>58D2$B,*)6<.1E!I-PR17EG7P.H=0=8_!D7X@8("1?DW%Yo
M1)>A"4V *0%])#0"0H==9=0;8H0A!ANZ9?4&4PV"!4=""*#4*B0GP*H6" UZn
'E)"=#0$:  %]m
 l
end
-- 
*George R. Woodside - Citicorp/TTI - Santa Monica, CA 
*Path: ..!{trwrb|philabs|csun|psivax}!ttidca!woodside