[comp.sources.atari.st] v03i063: vbi -- Vertical blank interrupt handler

koreth@panarthea.ebay.sun.com (Steven Grimm) (06/02/90)

Submitted-by: steve@thelake.mn.org (Steve Yelvington)
Posting-number: Volume 3, Issue 63
Archive-name: vbi


There's been some discussion in comp.sys.atari.st about
installing vertical blank interrupts from C. The enclosed
source code provides a neat package for doing just that.

table
 !"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 vbi.arc
M&@A%6$%-4$Q%+D,     _00  "$.ERN>7^H'   ,+U2 L",FS1PT9=BP<3$&z
M1(L6 \O(H9-F3!@V(,2P">-F#8@T;NA(E%,'#AT0:#B282,1Q,&$;!HH *%"y
M)DT00][ R2,GS1DT)U$,20$B1@X<-S+F 1&DS9DR;5B 2.)FC N;-6<*A"*Qx
MC<$Y:=ZX^3@'I<0R8I:>D<-1)!D09M[( <$QC]@R(.B\ =$FS!J\<D&0,4BGw
MIY@Z(D&,T9FF3-DW9K#F16,0!!PY;]:&:6,9LYTT9,J\I8-0L4Z>/H&"</.&v
MXAB\*B=7AM/U:]BQK%W#EE-&,F\Z84"*OJH5A&0JE,O.@4SG3AC>4@,O-]/\u
M.=[%(8.[ 7F&KD(0@>$\/PGY(QVI?9?FSHAW.1LRDLO@>6T2Q)TTI$'(O^RXt
M+&TY7LT!EEC@F3$9;(BA(=<<Q-$D61 )+J@#"" (D<9W1"Q8QE(F@*#$&VB,s
ME<1S;XPQ1AI829:$@7;5@5(8=L#FQE)QU.$816(]-M=B;;111DAS2$4:@J0Mr
MR%<82XF!%V]AC('06V'0<5QI5'"D1H5"3"$5"C/ $$,*+<A00PPMP&###36Xq
M0&$5<) 1I6-TN?'68=V9D08><*;GW7+L@2<&<,+!5QQIF-7QTX%TB?%&C"Y)p
M]-EK#69U$W+7O1&:?90Y"=<;"KUQ1UG.E<4C'!>*!D(=8+G1W9 @-/&<1U=<o
MR$8:FY4UA&EMD,J2'"Q(=MA)![U1QWM]PB$7<!KA=5]^L])!!TOVR>617N -n
M.=>MHY8J!X,43E$&7D-*%H: )=+JEF EUN%C=CB.%==<N<%)H()WY+47=C%.m
M9-ZF<Z&J+'YH5(N0'))A^T:NVLZ!U0LRR30"2&.P4<>E/+PQ1T%RNH"&#PY#l
M+/&E(A"4AL8B-*R ?"+),1844CQQZV4E(KN%$RR[W,4.)O<%$@HIR+2'31^%k
M9!EH,;! *ADRX#P3"&R(U5T:2E,(TDDPOR9@##P;C9G5<\C L]) IV$@"B#Aj
MQS,(/?0 PA193%&$%%(0]?-,D!!PV=1FH" "57, IU"4M\$5G,2\<>&&""E$i
M7;=\9G\9-0A]F"SUV"@<'4,/8S I4N5;]_<E46FOW?;;<2<0D&*:XU5U?T71h
MQ##==O<44MXBY#3L6^ME7L:;G97(>@R&(_ZXV""@4#EH,F">.N>^"RA#"J"Kg
MS;;;<*=@ND"Z\[ZZ@"#(X+I-==\]N]ZV$YM[ZKUSW7WPB0,M/AVT.^&I?B%)f
MQ!W3;^CD B0#L/_XN\5+0P]@L(./\$ &,("$ 9A0P#2L8 76X]_I0K.1I0 Pe
M#)@JU?=@-[RQ4; ,F[-<]$1'O=))4" ?3,SVRA*##8(@?+*#'_F$9;[6""8Ad
M(%1=Y[@'O,.U;VG$0T$*RW \I(UP>J2+X  FB$,5[K LWE/!ZUX8.[S-\':Kc
ML>$0T\<Z&?@O;&/C31L61<0CCJYZ"3@A",1(1A!800A)>)&<=N5"&%JQ=C3$b
MG0W9R*@WQC$E<Y3(%Y?&.#J@  :)2V,!3O>;.JC,7B!XPA0V&#D%R&1J7+P:a
MSWP&-"%@1UB&E $+3A"$$R12C:"$ V) 0,H30!([[L&+%($V!Y:4 0XHH,$Iz
M"7 Z&C0*.V0H2QU"<J'5H$PQ%\'(+!50R4L*;85>ZYD"YD8A3XH%E"@0Y0F$y
M8,H=I'&) DGE*K?I2FK!DE.RG*)+;(G+&NSR=#7XI5B">2IB8L0-Q[3(=Y99x
M21H(5D))+D, 12Y#     )D(   A#FTQ(QG+#P  #"]4@+ C)HV+,2!:M!A8w
M1@Z=-&/"L $AADT8-VM I'%#IZ&<.G#H@$!SD0R;AB"V6&DX)\T;-R!BN( !v
M @2,&"]NOL!QHTL#!2!4_ P*8L@;.'GDI#F#1B2*(2EBYN!),0^((&W.E&G#u
M D02-V-<#!4*5""4AFW2S&GY4N.<D0W+B+%Z1L[%CF1 F'DC!\3%/"_+@*#St
M!D2;,&L$\P5!1BT=I6+J= 0QYFB:,F_?F!D[&(U:$'#DO*D;I@UHT7;2D"F3s
MEPX:P961*F4JTLV;AV,$E^S\&0Y:M6QAVL:M6TX9SL;IA-G(6FQ9$)RI>'X[r
M1S.=.V&,=UU<W<SU[+!?*M^X\8Q?-A,7P\DN4K-&.ET/6QU.47!U-F0XE\&3q
M.R2(.VFX!L)^H6'VEF]RI+662S"YYYINDJ'!UQS.!<59$!%.J$--0J2!'@A$p
M3%B&52: H,0;:,"41'9OC#%&&F-QEH09( !6QTAAV*&;&U;%40=F#[V465^5o
MM=%&&1S-T=6#?F4HQUORU0>"<6&,\5I>8= 1W6L@4'&1&B ((<047:$PPTTIn
MM"!##3&T (,--]3@0DU5P$%&EICYY49>D9EG1AIXY!FE1-5)^888X[G!&F>Nm
MB58'4YWI)L8;.H(P1T.IY58A641)%]YJ_WEFI5YOH/?&'6]A]U:1<'C(&@AUl
MM.2&>4PVD5U&5WC(1AJEO34$96^TT>I)<K# 660BS2%A'?A)"0=?RE4D&( "k
M[DH''2?]QU=&A(%PVVM]_<JJJT_."<(490CV(&=AK-4BKW@QUF(=1W*4)8.Dj
M]C5<GFU)>,=@A57FAHX.O9<OK)?^%R :WCXH!V?B!CLL2V.]\--/(VPT!AMUi
M@,K#&W,4M*<+:/B L<8<>RQ&NV6LIQ7))BN0,5@I"R8"00:A(<+%"FPD4F5Uh
M<+1# @D$!&S0(AEW&'FSPLJ1AR HBD>R5K+&;'E!6=PS1Y35(4>K9 Q=M$!Cg
M>&T<UZ&U:*!&>:F@-112//%KVF-$NX43<,O=Q=!&T[UVM-FZS3-Y=*"00@*0f
M$& TX;SNJL>];0FNP!Y#:<1U&CM4SL9+YJT%1^9 64[UE<R683CHE0/-40]1e
M5!&$$U14T8381H_@+8T$6831@2C-43495S<M>4U[]85"&CW L(-&/. =]Q#+d
MI['""BD,E3C==J?1A0MS*-=1#T9(4401? O$N$1IZ"&8WVL-%H:T65?N>0]3c
M@-00"C PD0+M B'945]SL)\<4E,= 'I/,,,[V/&2%ST>X"!ZTXL*Y8"2N#30b
M" 4H4($5A,"$UA6A"D5(P1:T!X(>]  $Q^-:!E-@N*C 0(+6,T &-]A!$()0a
MA-KK@>](=Y+R6:Y[$IG(#JU&+,L-I"(7R8B/RO"C^%'0 /5#$ H\M[\8)L=Kz
M,'G"$OCW0^6@!W(P":"+#&0&9CD1!(GK0^74&+HHWH^*H*O)%>4 DRED80I%y
MD((4N+@1('XQ2# QPW).TC:ML?$G.-M/@ R'N $839$_>P.H4'"2' EF@TG x
MT9Z(%17)3; FFVM::,YP$C>@+G2C+&7R\! #&.1O!4* 0@M\ (<O8 M)L)0Ew
M+;]@$ES&<I:UE)8I*P>%_[7!.'- 02J1Q((7<M&8&\&3GO("1*L@4S7^<^(Av
M%: T2IGN<)!PI$"ZJ:.W8%*3O>R+)ROG,XW$$02A[-P</L=.K@T1>"<Y'<]Ju
M,C\WR@%_^N.B_WHG0 (NI@V21*#6B+>8!2J/>0_42 2M1P +HG"&'/3@#4?8t
MA1*>\)ZE@^$3,5K##X:0HSU(H5-4P,(4N-"'Y+3/[TK7%S.(QC2Y6V(3AP<)s
M* IPBO/<']&,ADQZ"296*$$HJ'AJ@#EF<8M#'6<9Z(!%2]5AC.WC*0'86!-_r
M A4.0@TG43%C5(0E-:%GG-)4JVI'/.J1BT[5RR"]IM"?;!.D^02G.$^CMO;Aq
M%27K#)UQSN 8E+03<Y4;;&'[DK=?J0 .(9'#*6M"A"1,(0@<)%\CC=:8.;POp
M6V5T"+B.*#J/@(0.;TF@15&@$-6)Q(0VD6!4+373;-WA-3!QK5JK])JWJ$\To
M9TR<:UGG.MC)#JYE:,'Y'!<>I 67 )!]3 ^P]SXN:D4DS_(92KK%OK< KJX4n
M)$#Q4(B\AZ:A>8V%X I8$%TY3/2)<Z#6J)09V5D"L2,B1:,!(I(P\06!"%G0m
MP6PMVMW=DB$/7;G4S[P&-H"])[4+A00"RO8UU?0 <[,ML&JZLIL'P60_92C;l
M9 (47 1DL+VS+"-86AI'"8N!2FMH\7Y9=BXFC \* AZ;1FA4X#F<I&7EZ<IJk
MQJ"T; 8(PM9#P&H5@F(?Z!:V+P2!T5QKKAD=C6M4JIIO&_*&!$\UN IH\GW+j
MT /_ MB'/3X@1:K$K<*8.0LE?G$9$"-CKH+ SD5P F9M/#2Q]L\-GQ4,04HKi
MAX^$!,D*V":1Y]P1%*AX#'KMFVART[Y%@S&M[<S@HUG\DT^JE;#=,^SEWJG8h
M4#/V>4%I[V1!$]GI3CI:?=[K<M.WOC=HMR_<G?3? IW6\3JT@<Z3FWK9&]GWg
MHK&B%Q2SFF$;OO')UFA_VI->C",8_\G!*AOA*Z6]RVNF-OG1/7@T%[O'EUK?f
MVL&5 56VOQM< R@;3V4NPG^SX$,%:WMM8W;PF]L=5PS[6:U4I>.]VZ>:Y]HYe
MKFW-XQXSK.OVL;N,'U*(#^3J(;IJDV>K.4FCP19I@10XXU/%EVK1IAK0>7JUd
MU!7#%L"VO7PS6WPAI"C"[ZAP/O*XX6^1")4./.UT=26N@JRX<=*:\I6KIN4'c
M!!_,Z_WE-$NS6\TN0EKCJL58CS7@8;SJMB^N@)_X.%UP0 %J0]SQ@5/GQW# b
M--?&/@:35Z[H%&8Y]Y(^!1L7 0I,QR[.+:7F;M7]QD1_]?NV$/>C'^0-2.L!a
MVU60!-CET0I!8$+>KRR27!\%):5!/-<DQT8:"%9"22Y$3T, 0P    #<"P  z
M(0ZU,7:MNQ4   Q$WHRITZ:,&SIAZ*1YXP:$F3=R0%@1DH0%B# @[)21HW!,y
M&#8@Q+ )XV8-"#0DR;#9" ).F#%KPIPITT!!S2%OX.21D^8,&CH@4 Q) 2)&x
M#APW0N8!$:3-S#86D[@9XZ)F32@;VZ29,V=APZTG-Y81L_2,'))TRI!Q"/&Bw
MFSP,RX"@\P9$FS!KY+8ELY4.3S%UTH(8DS--F3D@WIBI20<-6#ARWI@-TZ9Ev
M9#MIR*B=BT8N89T\?0)U\Z:CW)2<'V?=VI4A"-*F+\JAJ6 VPC1NU%:UJ8"*u
M8\1S%-.Y$V:VQ;;!S0PO[IGA;3>XSUQD [*M2XZ)S8!(0\?BW:6P0\H-SH9,t
MS3)XQI2! _0.=S0@T$,^C!C.:JY>LW,^'1@-Q#F[U11$?__I  ((0J1!'0@!s
MR3%'&4N9 ((2;Z#14!+%"31&&E8ID(1V<-5Q4A@:N;54''4<IA!#B+5%6!L%r
M'32'18WQU]A_=H6QE!ARS?929VLE5)-O<E%!DAH("C&%12C, $,,*;0@0PTQq
MM "##3?4X,*!5<!!1D*'N;468-*9D08>87XW77#B)2;&<VHQAD9D=?BTWT5Bp
MO%'B@W)@IEZ O#UA11%26)%$$5?HT.%$26R'&$8:<92&1R")1)))*+FA$DLNo
MP2237)IU=49N:]$U'1MOW!%?&',L]9)Z7,U55XT"(L03"%-0@5BD'7T4TD@En
M;7?01G+4P1X(K<Z15AM;@I $4!^A>D=]D4T&XT:(F8H;87*T4!,<$(&9XUL.m
ME9%0';,A=H=C8\!WQQMUE)=8C7*X]R (LZ&8QFP7V16O0BT@-,<:T25FWUD*l
MN7%&3<DN*ZRI->YKF61GM:'N>_UJ!5T;!.G'EQEF#L0&'7DT6P0>E,&Q4HO:k
M<3='377<NRT;=6@V77$66R02;@0K/!A*9XV1EH,6H4;24J5U%I$9=4RUHAO9j
MHC1:&7$J8"J/%PF=1HG1WJE002"X=V-@(,Q$1\+2X78G<4AK1YH<=X$$&<64i
MQ8?F&-XJ$)A7@!)Y$8$.CKAG'6/ .@?3;"P5\V:-/?923#,)VV_#952V[J3Ph
MI44=8HL[6!.E;!2LMJD8":$D9PG=:?H4CH) 1JIN-/LLODTC-GIG(3UN%KR:g
M%JTI9S'7%&VJG-^K6'Q\T47T8&^T 8>"V%IT!F6'650&'52%[=A*VP%5+-3-f
M7M%90S5.;&U-FJ4E]*.#%<<32^F7(;1%W"%K$!GL%\35I[+>V<8;FH&*F&1Ue
MAC.L;#\U(0(5I ""T.7&(IDZ0\&,Y3\ 5@Y001B9?^J4N=^8KV(C0@R/##(7d
M%6T&-6#A4>C*H)%2U05K9&J!&693!HN0IB9GJ$-QT$*U1_'K+C8[GLL<TC2Mc
M,>0CW$%:1.90!^Z$00P*2F+_CG81.*AL4@GA6X=J4H4I%$%1O)%*8N2@F8B8b
M:G&IJ<_C/F61$(5-02#)#>/J\J+G<:]\9N*>':#H@C& (&;1J4F((C($YCD/a
M>A%!S4QR@[#3-.0-8E"#_("2QS(TRS=@@:0DA>80Z+UQ035J"(]JXL"\K$5Lz
M\*$B86SFQI$,K6P&V8BXSG@O/+XDB@H)T^T<YZF9 $H(97@(O^H8186U$5XYy
M6HJ],D?'"(ZG>: *)FZXXQ7;-62/:7 !&F0'(G@)CU^ ]!E)0""%(P@!67E0x
M5N6.*2+W+(@X!^E?NT@2N?(1!FH(B2<5DC"$)4P!"H3R8B'I(B>YV.$C*1(6w
M7SR2EK6H#9O:;%80R) \KT0K#^Q,YAOGP,R?T5,O]*K)06E6/601+I6(B4(5v
M@N $*E2A"1:Y7+N099\-F2E,_E&5<$@X-VOYT#/1VLP,FU?0C&RD5Y4"%J92u
MLA(Y_-*@&UF*1V:#..V1,)S2H<@3E@0"+&B5JZ@Y0A&:0(2M$M%IU71(9"SWt
M'MS4!#=#*]:QZ)2PPUQ2:7(!"T;,A*8@_:]I0#G>;"2HSB62:#R=DHLP/Q>Ms
M;,VJ,_=B&EI9Y+M3CF\_KN+7;%I@D*%MYD&1\M772CJ&LW#T,(Q]9.'0]<:Qr
MM:<XT%&81,F@E;.I)7$TPJMLY#):=5V6--,9FANRJ)'SX*$O(B0;+8&ZN?Z5q
M+R>R1!LZU<FL WUH,*:%;&)6&Y&FE;&@]]J0' 9BL7S"*J,<A9>\S.0@H#!Qp
M#C6%%K[*0-A7PO<E>HF4&:0E'F'2QE(:D\X@F:>9XY@1=W EEK& DJE-.;5#o
MUZ577MG7%>=QCVW.+<."TJ"=YQXLBSZC7&4\(DKFKB1(=!!>V;9&PM%:9 XZn
M4LK/Y-<SZ00';"+.2''2\,25T*\]ZAT3;W%W,#-,DF%OH-G3G(N[)^H)5-"#m
M41CNFM=AR4&NWH-779D7K[6@Z@TF,=6#\MJR%"N ., YK#R[YN'H%BS'//*Ol
MZ][PYC=PLWMA8Q6RPF#D'W\NR&6K2Q@Z$P8R'(=>]JHAGM/;Y3S7#[ *PC-8k
M8&QD0#VA(68:;AQ+8\D#$4EF5L8ROK2,FS3%#"A8,T(0<A4"3W=F*8R6UWS,j
MD#=9BD2JS5/9]>2"'OGMS35JVVL95*45ZFQ%?@S!WYUKM!2$Y,5?,T65PC;"i
M@J+6,3 L<6>EQB.MS;SN#@UAHAB4A18>4Z=DKFX./M$" I6RU*5-:)\;:H*Uh
M;?GH02Z<[PI+U#AJ07(EE;GQL*6F,^7BKG/(VJ"\L!8&XLQ&3JFC(EU+';74g
M.5LNTI[)@<<9%Z-*BE*_NM1@\C"&"V,L7?]ZZS6/BL6DBCS!5UZP",M0L+L,f
M;#.0!DG$(E+'E3P-4-=U(W/^V!5Q@J"0Q&SJO)2&.O+AK@G%,<D5X,ACBQW=e
MD':D-@A"5!,UR3'?=WFVP.V"F[;\[V-8?)IC[[3*3H/ ;PQ)7&I\UA@AU:8,d
M^DJ7B>RF,I)D$=A14S>YXRD$*&@/<X8,TU K4[Z9U8PVE<S=@USBRVU:%RAZc
M;0F=K<QDN8B!5>OAW_'*U].*R:XA&1P#7.:M@"'DEM=X$*ZO#LJ3'LOE"Y^_b
M%[C@NO;RY3[TD4/-NQK=F)BU:7'F40!NU%EH_10>4#4Q0A6<,(1]/L$)4P"Ca
MRKF# J*TX.T>E*P1OP(=A2!1#V$J'Z]:'O)@-;BIL@,*QY0EGIJ  !() -UFz
MX@P11RYE_2!G*<$R-X83)D-76N;24(""3>C!?=X'?F A?DOV.@980G"#&^*"y
M&N2V%.F2&9W5/M01?PD79/8'"0R -<B7&&X@=QQV)P#H*P*X5)JB=&!Q-1@7x
M3-"B-<6E /?' 'SV2J57-T.C,7\7.P=B!&&@(.C"6W6!1H^F*2Q1(^&U+^25w
M-STX>+ " E>0!$S ! UD+ODV8-?V2J7%*HZA,"'0(;/Q/QK1?2#P?9B$&!*8v
M'VOX9('G<4C5?C+H8,TR!-$B.NT!1R6X !_!)GP!8R+A?W;3%P7S@BXW@)%1u
M@ #2(7/0+FH1+V7@AG 8?D6T9#6(.XZHA\ABB62 B4YU>2/8:+!1@@V -50Et
M%E.Q?\UV<'SR1U 8$6\3-X-!A02!A7;5(0@()B@0!@\8AV<U?MB5@&$2BC$Xs
M,9(8?\ 1'=Q3'&=@A29($!\8:T+6+[O'>1"#.W/H&C9X$10U1RYX5-;( .S7r
MC 08)BA2!BG2ASXB&-HV7W2 +DXG%^T8*YD1%"11@NHX+!I'%*-'9)%('WA6q
M:/C3>2#PCO'8(9KA<YE(C&\(@7+8B718.7:(A^NH5,Y('W9U>=&H,-,H!]4(p
MD-@83]K8)J1WD/RX%@6ICRZY=E@3D;M&!H R!RNQ'L-8C)PX60WA$8O#/ON(o
M&.$QCOJW%L+4+WQU0G]U$(,X>FE0$- H&SD4(YAWAVY $#P2$<?S(/>TD/S'n
M+_53@V\PB"@'-KTV$#^7;B ($O5H&_CH+$W0!$5 !$D0!%10!$R0!2)(@499m
M&H-X<?$!,I-DBPJA<[@S$%?V@46YB'0PB;P1?5Q8!-G7(1#U.GX$"03P?2%Rl
M OSR935V$9AG9A"UF0;P?<&!+NI!8(K5%M@T(C/($N$(-2+%1_ !":DI+"7Wk
M>)W$/4MYFL:5,BO11P?R?>.$'L0IDW13&5B5$5!4$QH(5D))+D@ 0P!#    j
M &P$   A#F@Q/F1I!@  #"]4@+ C)HT+-"!:M!A81@Z=-&/"L $AADT8-VM i
MI'%#IZ&<.G#H@$!SD0R;AB"V6&DX)\T;-R!BN( ! @2,&"]NOL!QHTL#!2!4h
M_ P*8L@;.'GDI#F#1B2*(2EBYN!),0^((&W.E&G# D02-V-<#!4*5""4AFW2g
MS&GY4N.<D0W+B+%Z1L[%CF1 F'DC!\3%/"_+@*#S!D2;,&L$\P5!1BT=I6+Jf
M= 0QYFB:,F_?F!D[&(U:$'#DO*D;I@UHT7;2D"F3EPX:P961*F4JTLV;AV,$e
ME^S\&0Y:M6QAVL:M6TX9SL;IA-G(6FQ9$)RI>'X[1S.=.V&,=UU<W<SU[+!?d
M*M^X\8Q?-A,7P\DN4K-&.ET/6QU.47!U-F0XE\&3.R2(.VFX!L)^H6'VEF]Rc
MI+662S"YYYINDJ'!UQS.!<59$!%.J$--0J2!'@A$3%B&52: H,0;:,"41'9Ob
MC#%&&F-QEH09( !6QTAAV*&;&U;%40=F#[V465^5M=%&&1S-T=6#?F4HQUORa
MU0>"<6&,\5I>8= 1W6L@4'&1&B ((<047:$PPTTIM"!##3&T (,--]3@0DU5z
MP$%&EICYY49>D9EG1AIXY!FE1-5)^888X[G!&F>NB58'4YWI)L8;.H(P1T.Iy
MY58A641)%]YJ_WEFI5YOH/?&'6]A]U:1<'C(&@AUM.2&>4PVD5U&5WC(1AJEx
MO34$96^TT>I)<K# 660BS2%A'?A)"0=?RE4D&( "[DH''2?]QU=&A(%PVVM]w
M_<JJJT_."<(490CV(&=AK-4BKW@QUF(=1W*4)8.D]C5<GFU)>,=@A57FAHX.v
MO9<OK)?^%R!"WS;$F;C!#LO26"_\]%- WB)X[ZR6YC%'1Z;9D1VOTKZE0L4*u
MC+#:GXHF8(403$Q11!,))( ""AN)I$)4,.!!0PTR,)'"3RJ7P;)@+S,1115%t
M,&TSSAR!@((*D R0 @HI\.QS#38(3?3*S($ Q11'U'RSE=D%I;499N"  PPPs
M>)TRV(J*3;8,9J. =E\[VX0'VV[#$/30<QL=]A%0) %%WGNK[;<958=QD]P7r
M"Q1:BP9:JEQ')J-<]-$)&"%%$474#,/7AM<]>A!$9%%S#*@??2X3I"^>@ P6q
M*X!Q<G7( 9/(;/S8>>QA/[&$V2W$0/CG84^1A<Q22(&\#(17WO''6PTDD?!!p
M>4ZW8%0D,<024T!1A!0R#Y' #3 D@#'[!S?QA!-/=%4#37OU)<410G1/?-U+o
M"X(3J% %FB6@!NX3B++>P"P^Z48O52),7QP$D37, 4&7&H/_"B>[) SP?%8(n
M A-L%K[QE>]\Z7M!  =8P.5]#P1.@((4GJ"^!. @@88) Q[2T 9Z@< -]!(#m
M2MQSN=RL)4\GRQW&%*3!PXQ!-,/C8-B(D(0I! %FI4N "I(FLR;TX'12K%L1l
MG'!%VM5LBS#K8@]@IX"?T"$/OEF9YCXR!I'L82@:B=K'\+0#/.9,:BHP0QW k
M<K44]!$H>11)909)AT/V06PS',(A 1H(5D))+E185  $   $U(,"   D#M>,j
M]6RG P  # T4! 0!:4 2$&C"V"D#PLR;.F[(@*"#AJ%#-FS>W$GCY@R(A7+Hi
MI!D3A@T(,6S"N%F#4"49-F7D@( 39LR:,&<8TGESDF&=.67,U#'I4$[ ,"#<h
MU&DC)B:(-V9FUI$#YPW0.2Q N)R(YN$9-'1 )#DAD>:<.2#2A'WCQ@4($%0Jg
M:I4SYD09B6;2P$SK9@R;.F3*S E8QHU7-"#(O!FSM#"=,"+9@IC#DR)D$&VLf
MAH53Y@V<O7.Z#I785"M*G3Q_,E3K8F!!(6'FC"S))D]6M5HQ:D3+%C6(.W+4e
M,@0IDJ1)E"I9<J034TX=.&'E/!3I1C!?$$-8!*P.LJ4=CAYW)B[#9B%?\39Pd
MP"@(8LR;P$]EWGDC1TX>T],G*P0/0DZ9,VG,P9P<6(%0!AUCM*9 $F&IAA9%c
MP\547$DGI;02"''448:&$_'$$5 A:379&!61,913=Z Q$F+&L8&6:D8I (=Tb
M8PAVE5MBG= &5QRMP5\88N3G'W!J\0?AB"6>*!-'(*2WW@ =3L;976G1$=!Sa
M(HJA5E9BU!$610%^%)-LDLTGQQIHW4$>&UE1AE!,JX45H(($#2 $0W-,Y=L<z
M/NY(D71U?,450XHQUH9CD*4A65XP915;E>VQ]=B'!N+QF4J)LC68 E!%ZH: y
M*M&!5AX/81;&?7>$&B6)*N6$XQ/5>0JJ&V&U\5-8I;':$96!<181> &561&$x
M,I%:QUP^R=:1B)D91J)TA\8'@A1'"#%9'@*6L2.3] 4F4U&#3@93&7"@D$) w
M0O45F1M1FLG2C)[%5!N.242E$JFQ)H36O1AJ**"BGTKK7AN'TEK@6!A-9%] v
AXJDTAYHR0;CCHTT)*%9[*BFH 1H                 u
 t
end

-- 
   Steve Yelvington at the lake in Minnesota
   steve@thelake.mn.org