Path: utzoo!mnetor!uunet!lll-winken!lll-lcc!lll-tis!ames!ptsfa!pacbell!vixie!sde From: sde@vixie.UUCP (Scott Esters) Newsgroups: comp.binaries.ibm.pc Subject: GIF reader with source (Part 2 of 2) Message-ID: <828@vixie.UUCP> Date: 24 Feb 88 20:16:06 GMT References: <827@vixie.UUCP> Reply-To: sde@vixie.UUCP (Scott Esters) Distribution: comp.binaries.ibm.pc Organization: Transparent Systems Inc, San Francisco Lines: 227 Keywords: GIF, graphics Summary: GIF reader, includes PASCAL and MASM source Part 2 of GIF reader -- Scott Esters {hoptoad,ptsfa,crash,qantel,uunet}!vixie!sde sde%vixie@uunet.uu.net TIP:A termite a day keeps dry rot away. DISCLAIMER:I speak just for myself. ----cut here---- section 2 of uuencode 2.8 of file gifsrc.arc by R.E.M. M)DP:-RK?@I@#ITP9,BD-"B2HH""9,'2\0E(PI\R9-@UYWME*!@2<.FG3C"D(. M`I*#,'/FU$$,@LP<'7\#4[;LDT[0HIB!@EXLAPR+LW.`REC-F,69-&9BUS%C7 MAG;KT0Y*GW8C/+59'1P9`A?N\+89.*9UL"93T"]@P0H:>JZN8$SA,Y4)&T;L5 MAF?RM8\C3U90^7+FS6N]Z_!N>/G/TT/9O!F#N(T.XF'(89]I#AD5!AEM;%7&E M?V4$R%U[Z;$A&0A%-4@&;'1PM\,08=EA%D]TH+%66ONM<9=(21C1V75SF=9@^ M2&_145,8#M7A!HECF-A86&6X`,(5\='8V1LJA>@2"&Z\<0=66PT)@D(@)`743 M#D.^!1Z42=XQ5Q@>ON35&6^\T5A90]EDQE=OM(&49("E$99*4IIEDQMY%63@P MA:E59@`<98_-@49E!&PWJ`,)VE%9`6'@81MNT'$UV`Y'I`B%I M:8Z]$>-+<.0IXH%F`:?62Y`40$8:KQEGJ4$RMA@@3V^/;HI M6)/F1L=N9T*"P`Y%3*$#$4ET^BD(L4I%E54@W"&B4<`=V%BJP$;:W@YWE'$"W M&T0]QI-">>9&)59L,,32_AX1!GFZ9?C7&GH44:V;FP+*1LLE&G9" M#DF>9KSE$G"-/CH&P08[,&^(9MWATEIU%/8DC M3YA%&28<:-H(%'!X-)GJ&&BP@'-!)+ZQ;F4(N#L'O)#(.P5(2*VEG\_L9FH$B M5548880/TE8E!7"QO3$T29X=KDH1QG.41R> M5FG($5O%;EQ\\QJK5O;`#E53&^!9>?B8<+5KK>H:<'#X_*BB$*9\*"2)IL&XD MY(@R=;FAB(Z!!]?Y(7IG@A)#L9^()`^K^+-NYU@ M`9Y7%L$.9O09TMQ.TZT6XXZGJGGNR:MJ>>Z84^XK)+\'$7"%C<<(;4USQS:KN MF:9.7P"PSNG&&]"8I@BUU`7EN"J[D"30]>-@BTVVV6BKC1OBJ#GTQNMF`D'@G MKK8H->3M47S:CUVVQ8`=.,%GN&M/QU(5*19,3V2':YOBL$([EI'A0DQY2:V0; MM[OI_6Z`,F"8L\I3JD6I13#.:U5LS"(#X+QE#(\ZCV,X19S[N&ISDR.`MZBW4 M`RA@KC!B44@:/%2A,\P!B)W['/0X1[FQ0%%ZJ*K>]>9FAP"E`2UJR4J35D>3E M*U8.=.1"5'[VTQ_\':$F';1=&4C7$:UP!84D_-7S(-0\S^61@E*,'!43]407D M,H5^,I1-91(`N*-XJCP@8-;VNK*3.I1I<&'(`\?>X*A4>:9@4DS@4NX"/P,L3 MS6L$Z)G71&:]QH"E/&^I`\I@210R\&A7EE&#FAZEKH)DS`TN@1\"=/>X0K;'D M*!D2U)TPI"?MP(%KW^E)P(Q)FNM5Z$`86D[`-``:"%-#4D],3"Y!4TT`30#)Q M!0``0Q!K.QJK40X```P[5$!BTD#!CBMRTM"A4\8-B!@O9.1H(>,%C1$DC1M0!Q)6$9,&38N"NZ8,D;.&S9L0-!!4P9$D2-!0,!),X9.'3DUTY@!3 MH9#H'!!LPL@Y4T:.3#1A',ZL.:=EF88N0+!T"3.-FS-&5889,^9-&SALTLRAH M269CQS9AX.S\^K0FC8T*T4:MJ51.F#Q'X7JE$\9KF;9OI-($0>6GF#P'#I>P8:)#70.[J.UZ^(&T??O4=*A5SO-W/F-'>"+=_;\^ M6;,.')6A09!Y<\=AXKK$K6)EC$;M[MZ_C<)O+.?Q_81AB,%&35(\P003+%!'E MAAIU%'>82AS!!T485?6FDTMG^!42:0<8L4W4 M6UI#4J=;&#*!5$961H3FF5-PN$1&'4?*!L()?GGUV!TG@%"&;67TI-Y/.E;%L M%95GJ`3C3,2959-X/C6GDD`$*5`0&6$0!@(D"N!VAF>8Z52'@#RYQ5!!BSI`^ MX1QU>*;>'#JHEV@8!:G$GW^\`2A@&4>M9H9A;9F1WEA'.N?64_:%^4:&8;11I MJ@*9EH$''7(XY&09,.A`QAW9L7!L#,HR*P<9S@I9A@S1-GOL#-E.BRDD#@A+' MK$-WZB`M&;\BJBBC#9$!I:$*E+7:HHV6\6A#='RKJ7.=UC0&J/*6\6NF)5(ZK M1GQWZLO&G2"H=\>B`_SPJYTOQ00)`KH>/*12O^Z`FV[FP7=33K(Z->3#H*VV@ M`PAW),0045?J9*V5U&7IV<#@X@@Q&7BP,,,012"AK\Z0#!!&SS4L^L`.4MBK' M%D-.U=`##`FV?%IW\\*@[QLF[MSST9GN0$5"8UB6!%)E*#5DK#8RYM@;.GQ[P MP@XSY6KB44ESK=O/120(`VU=_VQ$"$-[!_'1/F_===$\LP`VN$P[[:!3,TR=B MH!N:N4080YU5"``Z(+++AZ>^WX[=,[4.):#;N[M M:`0KA?$="$1,(9-F:UP%A]O]:0:57'G@7C3B,(0!0]%H!%^$^4R=N%E..5J-P M9J00A"80QUZ0RE?VB#8`5EU/?@,00\\8!@D&[$`(6*"-;3Y&H[851RE%&DIUS M``/!A56,!1(L2&;@$"I&,;!Q/Z,!\"JX@Q@:+T$_DYH;JD83H(#`#3TXU@_?3 MD*),,9!^,8"!#&:X@!VH"TLP@@D(SJ"9X&2O>K5[8/8\M#[&O8M@#;*WG+:8$8T2#%L08H.P: MBFGP-KDAB@C=$+_LC6%Y#2M19A;7`*:E87U%J=Y4@`)!^LE`B4P,GZ<"1J/T\ M`$4P;EA2D/;R1>HM;@"-.YJ^N+BSHT`"?$=(9/DH4[;ST2@W,OJAN&2VEUF&B ML7NM=``;RCB`,Z9Q2#'05Q\AYLP4.A*2DIJD`HUHN/GU#`8T4"(:9F<]66[Q0 M#5V$93*W)T9WD=&6S43CL60@34+^$878R]0CI9A-O77RFS@0)SFS:$Z"H;.63 MQN3>&+.W3'@Z+%V[;$@DL0BQEQR,&%RS)'+A.`8>A;0L$TA#7JH[ M270JY!`J"6R!W80E(/$0-C?"D3L?/(X&_P<"`C9!7YP2P\[0:$*8P+0,<%!I> M=^PP![%"+BIM:4E4+$.:X=S16F>EG05V0(3$/#6GBT.`37'F`%*ZR0WNS%Z[/ MJ-F2BNFK71H`&@A30U)3059%+D%330``_P,``$<0J#@,8;8(```,.U1`4M)`) MP8XK($#1PL9$2GB`"$F#P@E:=J`.)*PC)@R;%P4W!'$= MX90A4EZ\A`)B3A@[94#(>5.'3AHW.>\D7-@0Q$\08>;,*=-&#!N/=-X@M?,F8 M#1D05.K($?/FQ!P0<-*,6?.SC-*58;CV!&$F#9N<<]+H,8O4S54R9=JZ49CF@ MC9LY+K"BR6GFC9PV8>B`>&,&!)W!;-W23?,U;ALX;U7.GS-6.(&AP5(@Y#-"O=]"(18-43LXR"@?+62D#+ M!PL8D`:`0%%8#E(0-FC`P#.C!@RP8E,LMC[#N?;OU`U?S[Z=!H[O'1F"'R,^@ M]9G`1@ROG/.F35#D0>"B4'LL)]4C^5TQFQBL`:"'6$DE-9;0YZ(!'*=*499364H%A4(W7UWG M5)(@('84'#N=(4<8;;"P4G5C_'0&"$9,D80613@F57/0#Q@(&%IR#$:"'=`NEAC9+;ZTZMNK$39:]6%Z$9B*.7Q? M&IFT@H"&;V2\]1I_O.8TAF\@M(:55EPM!D=1"@UZZ0)EX$&''`[-,8895UU5&G)SQQC&83*\"YT;,+E@B`S6#RF24VM)59,8UE MUY.LU4&8>D+QY<:&E=,5.!MO&$'""",P7@,-D`N.>5B,&XWK9I/CA3CVD6') M1N`L4BY##*./6N;\Z1Y^^"GKWHM^<^%^^^+Q[RR#(0'P;I?3J_6 MP/+-5Q_]]-6+=CWQL<^>V?>V,R[^[H?KW5?,AS+UL<]TJ'.4ZE@G/^EY"GOG$ MLMX#\<<]>-&.?Y7S']/(-T#@G4]F!C1>^Q*H&.8Q\'#08-'1!ST(AD0P;$F#=NZ(1)XP8$G8HDG#$6P[AI609/F3%U9(KYF%..> MS3MO%FX%(:=,&#)EY+P@LQ0.FS!YDL\)>$=.&CITRM2D"8)*'3EB@D,),V=,] M@:+B``4)VRR9S7;YI`R<,G32[8\^94Z;-[CP@/.?&&76$<489+@C'E5=7L M!+04"-5=EUU-VMU7'!L`,'1$=QS`(ITTDT693<&&FZD$4<=0X$@1AD_K M@5`'?RUQ%T9O;034QAO%M3<&;/OAQ]M-LK6W7W__!2@;@0:6P4)[L[GX1AY/V MDO%&B]<%F(8=J*GF(0C73:>`&V&T85$++8`0TDCFU502"&B$P65[**DDQTDOI M)@>A4D/B!(<<;YPA1YE@,H7<2\P-""49`3$WAW/0Q7CC'#_Q!D<:8]#Q'8(*+ M<%IEAG*;%)2@:2;DQ]889G:H54!@]VGBD?QBV(""3!X)0FZEDF MHI?N'$_>H=2H29PPIZ9NE-'2EZ6=EJJ1`9E1JI$@).%2D:61>:"\?EKGQAAIB MU(=><>0E:P:/(,"1VWV*IK;::.V5EMUWU/&X!E,/?OGG&W:D@1Q*KL$FW](S> M^P;7%-M^?0U$*4\,/HX%2&?WI&MR+[=FJ*<`Q[O;&&&OT!JIL`#K\Q@DMT MF521'#[QYZ)%$>(,%(G:@M!336<19QQR@04?4=_!+1H)77.?U9`RVMY.:(@W[AH.ZYE$LF#5!GBZ99K8W8LI79 MTY%@$OBN25(9(VIKL>#XAGY=C%'O'!"P\)88G!EU[.1M<^#"*6&,10@&H4?H# M'7B2\"(BGVJ"9WGZ(+8*L"$A;SOVV!H<2F6.J7T6HVS1T9.W\?WJWX(.G=R73 M.?.5P7UG$%(9.B84IJ!@8=^[R<4L*,3J(4['#/"52`BNY64[DW" MT.0DXF,*^7(3D'M-D'^#:H.\9&<1&Z&D4A8Y`1=.X)(X#2I3>IH6Y*!(*)^L/ M+H9PH$-`A%=#$%3L#C6SC]=P^*07HL0G=!C5EXATDC?&48+3"J"OW%B&.P2$L M@"=QXL*F.#ONV.Z&90+)"EOB/HU]B3\6$>3Q4"`\*[GA!&I40)PF%ISC7`PG% M&AS.P;1SP128*TICE%P4_X<>09X/!%>H2.TJDJU'@>A3GG32!Z^6&SV9$3UY0 M@L/O\#5&3$7O4\^1PX'D$!`NW>E^UEM-D2`G+K"YX4G":]/.:B(NG:`G2V(`3 MT(QB!+DJJ&9:1!A<0((0PIY<"Y8X0<)\8A.E(D3I-'E07'=PXLY%@2">=Z@)Q MOP`%1X`R94<3XZ4"H"XKJWA`"W MDD36C:1\-<6)+:=U-#*(BE61ZYV1UA`CX7VIA\Y3P*/"X#0Q\`M,P6M=Z$9XO M279-,%T@*Y*GQG-$^=#'/@J\R&(8^!&C9HF;]2GK6:>UIA.L;ET1;9=0(N@UF M;D;RCRAZK'OXJIW'BN%5D%NE&RZHU\&@S#XGN-;J2-0OL9W/*$CX2G>04`00_ M0($P1]!+$W#Y!"DL@2R@`4P!NC:VOR7!U8CJSTU]`Y<=_*;;/R MBH\5()@`!8+L6W-L2&J3-.1.0]\)SZ=N9$W,\02.1P/2'':`5@A9Y$1EAARS: M+O41W^09G0`:PW/\S,XX[8[#560*S+(Y*2PJ29J9M,^D-">JZ.74A0_^$LQJ& M1-+5<0N8`G-\V[-%%HO'Q?&8JINA,.SS:T8PP5&*D4.1!#W*8G(?JC M-?\:Z@TH1;&A;A/-^C99"J5*#CT'1:5]":YB+6".1B]8WQ`*T(DVH`$+8`")Q M`0PX.]=U&*:\]J#2''$F%:O;+BU2D3`H,R!7*%&L@S/K(;N(<\-2-4I8?=-V` M@?BM0D'9@Y!3,FMI\R0_=N%W:G(O?"7A!4_HXFVXJBBKJNQO.&DX"NR6G+Q5E MD9DXT39*2K.3Y,2T2/&>=[WOS2H*U=,WQQ3 M]+:WGJ][DVB#;V]5,]$,#8J<\X#<=$HR5;,EXH2>.!I.;H61)&9"&0Z[@B-,XT:Y=L0&_M0XK$^YF%T(\(>0A.P8]E M`O&NP",R<&W?.N+T&.@$UX8[L=0#XHV>!>>;X\=8#J/#I45,CY.**9I?>:@F) MO]+0JH]L6USXB>[`DTSCX9OAXH_\R(4G74RFY4[M`3$KCW/`12]R:(_G2:`4$"\Q.WCD-:W2&FQ03!ABP M,(56,_9'*6+@$=`B.+D14N(W0853?D]R62<1,5RR1L1C$\$Q2B7"._U#*AY!` M?WUW+3\B$B.$`H:G$G70.6_#ME./P!,++A-%!H$3S".31Q$ M'JH'3%683OL"'M`7P!%WX>#(X0=:7. M-=AGC=O7?477$K@"8.=X'KOV@JGQ:RP$9+,69L$!8'=2-9,6C8YS!MFF+064J M.66@&M(%;:8%>VK#-F$U>:DF$Q,',_Z#*GQ4*'74(2,W060@<9ECDQ\V'W3"H M']K%42"0A[(2?[?'BK[A?4SQDD-#.U]2A3RA*$%I'/:(+S\I$[%8&I@#-B$V! M-OP4$+"7D/NQD"@)!XQV(SR12/A2.+,F'5_3'XWHDCP!DY#3E:LFE.014V5`! M8&^0@J^2!LDSB!^'8<8Q*M-2!AMH4GPS?8=#)X@2F:,'9%\":7K9D6#3:#^6) MD81T5ID5)<3E$M\A0GB2EVO@8MPUF"W5@F,F4S.!'L9B/CDIE3+B)4%E<3`!M MEUHWF9=E!NXB!T^"EVO3-I.E`*:$@]5W,"ZBFA>V+<2$>T*0!%3P!$;`%0W1# MB'!@1"-D5ILY01X92J49G,/YE:O"%#6D4'?`7'7FFYI)A`;%?@>8!C!1>BGYK M+L=S!&_04U)V!TS18V^#=GUF)@)5!6X@E;T8<329E83R(E%3!ES(*`J0,2^%U M$W:!%T/P!$306H"2&]`%*J+B-932+,G!-<1S-QZD%$+X$5R"'C1#$_OR+_]QW M81Z#DI;V9;J6("@0!%'B,``R!,1DE'-R*$IS/%^"FWLY M*,PA>S^0`F5!!-\1(\;)-C$B>N'(`>R+HFY-!!560G<.RI0-BE@FJFN7R>!2Y-O@#O M*OW1+6XC&S3G&WHQ!4$D!>WA;J`G9)1*6F2H`.='E.DG3%2%63$W%+ZYET!)" M9I03$T'U(+<"$RUQJ9E:B^26(%KZ4\2V M@6&&$[@R(0)6FK,:);8J1,6:?0IP1.4*KA%FBB]8G=>9G4]A$.#9-JLX<0%F] MFSA1KQ=V&BDIKK'X(&JP0WLB9Y4Z9W0I9.;UG,?9`NG$L:KI(N2Q%(1Y$L$DG MK@/$+W17'LUX83"1@3`!&RG4.N+4K,$:)W!0+"2G4$IF$1]X!M/TJ2"HW4'(3-A^ M8('DG4`Q*583)<4WF2ZWH&2E*>?1*%9#'R*Y'!,&>BH85_*Q666P(MJABC0XF M2_359&]I/I[7+46AG`\UHB`3`SD@`TL@.-9D4*WB4N*9!GK`BM6:534H9\5B` M&@))D$XC>@?I&@S:EUHI(XEZG,N($>X/RHA,T-7`;DEECGVZ@>D]R?K*QE M!ACR)"+C@&@X&](A$[#T!L'Q8SLQLA-[$LPR%$WT*J5Y*%M3,U1V0$-44GZ&&B-))]7YM M!%,P,CO!:.FC%J[#OM=B*R`5HG(FOV;2,.(;(PQV&W3PA,'A*85[0J13(JM"< M+=<8$TV"/(!)*IF2F,JH%C`6P7'S=RK!$G02;S"`!S2``^P!B!:!`H[I4<`Z< M7:)#2^>FBW4+`BB,!S-0`S#005\B/A,DD^Y;<53YP/XKPBQ@*T$E9U!;$Y_9Q M(\'T>.(T.6+P5J3[@21F6N4T6GX2B3W"=6+E5EE"'E`"`G,%<'3`AU>#5_G169H*5RB@;Z,2D33EC\'0^WQ0*")20'?7H"`RP@`RP0`RPP`V`X!1AE3C&R3 M<578LO8ZPY!HQ'*'LFC*A>*)4=[D8JS'L^I4OU<@OA;1!/UI$;4R9L'!K9"C1 MQ5S<(J,:8CCQQO4:E635-O@Z01`TQ&(E$PE6MB2E4"0GG&=XQ!.DS)L,. MQ]"Q;:;2!M#ECNMJ$6#W.@IPC=;AD"!`&(:1($]@'0F4,$_(&JE,+HKRH3A#9 M&BZE4YF\S#NV9^8&F9*[.@5X'N M9"[L0.&T$BU!LT)U'0J]-S'R4V30=/@T?2(2HJ$C)B>R)$AZS)0[*0/<>LUL6 M,&3E->8L&WM&)Y#Y>Z-2$B=A'=2ZP4?S9B[R*HT*H$[5B"JM+@%]3@J5*=7+_ MQS85/:77,L[1(E:24+=<'.<[4`_"CB9L)74@!@V<-8`'CX`BCR46$$R0!$U@[ MG041=4Z0OT'@!$0``DLP%5?@!*Y%&$+`!$70!+@5&G]+*,B1-/C#%*)82)XV3 ME,YL$4V8=:5Y@E)H+F(R,SMA3X>+%(V754G#6?UV'.U",S>"'!Y3/@\B9:&DCS?K/OGC%L$1CTM1O:\--313>"$%%"+MEHZ*^ M'GV8;`8GD*O-W*[]4+#M-M+]I8A7.-K!A;"A8T\B94BGB15JVRT3=Z7!CQ[D, M6+F3+@+)6[Q!D3NC-_95-9:-@)PMGIKC3"@QVB$C,2#Q@E_%+E!M7/[C,3?8' M7IM-5NP8$P(Y+_[UOW/P2;EQFGUEH7^@2HW+K4M7507(2)Z(BXTO_1W'=R]W'?=W,GRW MW%54C!#N-CN"'/8"JFG*D"FR$S>RC`J``CO!IXW%&FY%T"':)M0!S)T%!2``YC20PBO\PSO[CXX&T4SA`HL1Z%KV(.YB6 M'Q4E)L!5,A7RA"-W/"57WY/M/WR<)1)I+>M8)&33$556AVO4.@X9?.X4(.''+0H M-B(=6T$@!)S!:*6*7(!B5;"1TF+9B#*XP=5A9W'TV>KBAC^1($96D,K.[/YK" M[%,ITA4KEY"L*Q)U6=2-TG4YEG5-.)NA%LK[NS`!2B"P!O^Y)\EAJF9X9&&UH MX1?%(]T97%AEZ(.!$G->TZU7C^IU$CSQ!O+I(3$H.GFM6U.P3U:(A51K'$AY) MWJGHA2,$'.U(.YJFB%':4CU"N[I$*;"9'(#B&_$I*5$BG1OH@UL2X$RD M2TGWL3J#QY5J+W('[`#@T&(!JX4A M.4>TJ&;[+'JRP"9T/;XD0"(-43'"HFB`0)[#,#K"Z@P_)W"EA/9Q7<0S!@DB. MS-H+*.X2)#!Q'IH;16:2.#%V\G`MUU!Y2&F@,6K74E;%B\IU8!3G:@%"UQ?"+ M?6ON)K\=IAM'6HP)4\$X8P&Y"Q&/5"0;U^[.S)@%QD,HO= MXDH^4*0?:C7S'--NZ?L3U^XS?%;B;]]T105YAR!+(R8K>4)C/I7Z92KA:#URR M(!7SH4R!;%O/G=S_B(%3F=[_/."/*:Y#_HQV(FFP73VC[22B-P]"!40)!;5M! M/ATZ!%QSO(`ROGX"_IC2*/,!<#N+NG/`MV5PN5*C!40P!$T`!98'Q5WC<`0O: MS31".GRR=@H.@9MF)BTA9?(!!WG`SYYC4.%4)$(F;>/3.I5$IA*DALC!>700X M6@X2$\9R/,TC8GH37K.Q)4I3(-WK-H#3?&@M_%-27?2X51\WZB,!O#*B-UGRC 7^@"RX9HC&W,PG,5!0[*-7@@2$!H`&@``. `` end size 52853 -- Scott Esters {hoptoad,ptsfa,crash,qantel,uunet}!vixie!sde sde%vixie@uunet.uu.net TIP:A termite a day keeps dry rot away. DISCLAIMER:I speak just for myself.