Path: wuarchive!brutus.cs.uiuc.edu!uakari.primate.wisc.edu!xanth!cs.odu.edu!Amiga-Request
From: Amiga-Request@cs.odu.edu (Amiga Sources/Binaries Moderator)
Newsgroups: comp.sources.amiga
Subject: v90i114: FTOS - convert DAsm assembler output to Motorola S-Records, Part01/01
Message-ID: <11804@xanth.cs.odu.edu>
Date: 15 Mar 90 01:35:16 GMT
Sender: tadguy@cs.odu.edu
Reply-To: salan@ub.d.umn.edu (Salim !!)
Lines: 428
Approved: tadguy@cs.odu.edu (Tad Guy)
X-Mail-Submissions-To: Amiga@cs.odu.edu
X-Post-Discussions-To: comp.sys.amiga

Submitted-by: salan@ub.d.umn.edu (Salim !!)
Posting-number: Volume 90, Issue 114
Archive-name: util/ftos

[ uuencoded binary enclosed.  ...tad ]

Convert DAsm assembler output to Motorolla S-Record format
so that it can be downloaded to an EVB (Evaluation Board).

#!/bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 1 (of 1)."
# Contents:  ftos.c ftos.doc ftos.uu
# Wrapped by tadguy@xanth on Wed Mar 14 20:34:46 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'ftos.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'ftos.c'\"
else
echo shar: Extracting \"'ftos.c'\" \(2885 characters\)
sed "s/^X//" >'ftos.c' <<'END_OF_FILE'
X/********************************************************************
X*
X* FTOC V1.0                                  Salim Alam: 90.02.08
X*
X* Converts assembler output from DASM to Motorola S Record format.
X* The code should have been assembled using the -f2 option.  The
X* processor should be defined as 68HC11.
X*
X* Usage:
X*
X* ftoc <infile> [outfile]
X*
X* where "infile" is the filename of the assembler output, and
X* "outfile" is the name of the file to which the S record will
X* be output.
X*
X* If outfile is not specified, "out.s" will be used for the
X* output file.
X*
X*********************************************************************/
X
X#include <stdio.h>
X#include <ctype.h>
X#include <libraries/dos.h>
X#include <libraries/dosextens.h>
X
Xmain(argc,argv)
Xint argc;
Xchar *argv[];
X{
X
X   char infilename[100],outfilename[100];
X   struct FileHandle *infile;
X   FILE *outfile;
X   unsigned short Org, Len, CurrAdd, ToGo;
X   unsigned char  CheckSum, RLen;
X   unsigned char buffer[100];
X   int blen, i;
X
X
X   /* Check args */
X
X   if ((argc < 2) || (argc > 3)) {
X       printf("Usage: ftoc <infile> [outfile]\n");
X	   exit(10);
X   };
X
X   strcpy(infilename,argv[1]);
X   if (argc==3) 
X     strcpy(outfilename,argv[2]);
X   else
X     strcpy(outfilename,"out.s");
X
X
X
X   /* Open files */
X
X   if ( (infile=Open(infilename,MODE_OLDFILE)) == 0L) {
X      printf("Unable to open input file '%s'\n",infilename);
X	  exit(5);
X   };
X
X   if ( (outfile=fopen(outfilename,"w")) == 0L) {
X      printf("Unable to open output file '%s'\n",outfilename);
X	  exit(5);
X   };
X
X
X
X   /* Main loop */
X
X   fprintf(outfile,"S00600004844521B\n");
X
X   for (;;) {
X     blen=Read(infile,buffer,4);
X     if (blen != 4) break;  /* Exit if EOF */
X
X     Org = CurrAdd = (buffer[0]+(256*buffer[1]));
X     Len = ToGo    = (buffer[2]+(256*buffer[3]));
X
X     while (ToGo > 0) {  /* Process a line */
X        RLen = (ToGo > 16)? 16 : ToGo;
X	    ToGo -= RLen;
X	    blen=Read(infile,buffer,RLen);
X	    CheckSum = RLen+3+HexAdd(CurrAdd);
X	    fprintf(outfile,"S1");
X	    PrintHex(outfile,(RLen + 3));
X	    PrintHex(outfile,CurrAdd / 256);
X	    PrintHex(outfile,CurrAdd % 256);
X	    for (i=0; i < RLen; i++) {
X	      PrintHex(outfile,buffer[i]);
X	  	  CheckSum += buffer[i];
X	    };
X	    CheckSum = ~CheckSum;
X	    PrintHex(outfile,CheckSum);
X	    fprintf(outfile,"\n");
X		CurrAdd += RLen;
X     }; /* while */
X
X   }; /* for */
X
X
X   /* Clean up & exit */
X
X   fprintf(outfile,"S9030000FC\n");
X
X   Close(infile);
X   fclose(outfile);
X
X} /* main */
X
X
X
XPrintHex(fp,num)
XFILE *fp;
Xunsigned char num;
X{
X
X  unsigned char hi,lo;
X  static char *hexmap[] = {'0','1','2','3','4','5','6','7',
X                           '8','9','A','B','C','D','E','F'};
X  hi = num / 16;
X  lo = num % 16;
X
X  fprintf(fp,"%c%c",hexmap[hi],hexmap[lo]);
X
X}
X
X
X
XHexAdd(wnum)
Xunsigned short wnum;
X{
X
X   int hi,lo;
X
X   hi = wnum / 256;
X   lo = wnum % 256;
X
X   return(lo+hi);
X
X}
X
END_OF_FILE
if test 2885 -ne `wc -c <'ftos.c'`; then
    echo shar: \"'ftos.c'\" unpacked with wrong size!
fi
# end of 'ftos.c'
fi
if test -f 'ftos.doc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'ftos.doc'\"
else
echo shar: Extracting \"'ftos.doc'\" \(666 characters\)
sed "s/^X//" >'ftos.doc' <<'END_OF_FILE'
X
XFTOS : DAsm Assembler Output -> Motorola S Format
X----   ------------------------------------------
X
XThis program converts assembler output from Matt Dillon's DAsm
Xprogram to Motorola S Format so that it can be downloaded to 
XEvaluation Boards (EVBs).
X
XI am using DAsm to write code for the 68HC11, and download it
Xto a 68HC11EVB.  This program is needed since the EVB download
Xsoftware requires Motorola S Format records.
X
XThis program is public-domain.  The source (Manx) and binary
Xis included with this distribution.
X
X         /--------------------------------\
X********* THANK YOU, MATT DILLON, FOR DASM **********
X         \--------------------------------/
X
END_OF_FILE
if test 666 -ne `wc -c <'ftos.doc'`; then
    echo shar: \"'ftos.doc'\" unpacked with wrong size!
fi
# end of 'ftos.doc'
fi
if test -f 'ftos.uu' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'ftos.uu'\"
else
echo shar: Extracting \"'ftos.uu'\" \(11887 characters\)
sed "s/^X//" >'ftos.uu' <<'END_OF_FILE'
Xbegin 664 ftos
XM```#\P`````````#``````````(```9R````M@```!0```/I```&<D[Z!,).]
XM5?ZZ2.<P``RM`````@`(;0H,K0````,`"&\82'H"@$ZY```+NEA/2'@`"DZYY
XM```63%A/(&T`#"\H``1(;?^<3KD```K@4$\,K0````,`"&86(&T`#"\H``A(=
XM;?\X3KD```K@4$]@$$AZ`E1(;?\X3KD```K@4$](>`/M2&W_G$ZY```8A%!/Z
XM*T#_-&8<2&W_G$AZ`C!.N0``"[I03TAX``5.N0``%DQ83TAZ`CA(;?\X3KD`3
XM``/$4$\K0/\P9AQ(;?\X2'H"($ZY```+NE!/2'@`!4ZY```63%A/2'H"*2\M;
XM_S!.N0``!'103TAX``1(;?["+RW_-$ZY```8I$_O``PK0/Z^#*T````$_KYFH
XM``%><``0+?[#X8!R`!(M_L+0@3M`_RH[0/\N<``0+?[%X8!R`!(M_L30@3M`,
XM_R@[0/\L2FW_*&,``2(,;0`0_RAC!'`08`9P`#`M_R@;0/\F<``0+?\FD6W_Q
XM*'``$"W_)B\`2&W^PB\M_S1.N0``&*1/[P`,*T#^OG``,"W_*B\`3KH!^EA/P
XM<@`2+?\FT(%6@!M`_R=(>@%S+RW_,$ZY```$=%!/<``0+?\F5H`O`"\M_S!.-
XMN@%F4$]P`#`M_RK@B"\`+RW_,$ZZ`5)03W``,"W_*L"\````_R\`+RW_,$ZZ%
XM`3I03T*M_KI@+B`M_KI![?["<@`2,`@`+P$O+?\P3KH!&E!/("W^ND'M_L(2`
XM,`@`TRW_)U*M_KIP`!`M_R8B+?ZZLH!EQ$8M_R=P`!`M_R<O`"\M_S!.N@#B9
XM4$](>@#.+RW_,$ZY```$=%!/<``0+?\FT6W_*F``_MI@`/Z`2'H`KB\M_S!.P
XMN0``!'103R\M_S1.N0``&")83R\M_S!.N0``$7I83TS?``Q.74YU57-A9V4Z?
XM(&9T;V,@/&EN9FEL93X@6V]U=&9I;&5="@!O=70N<P!5;F%B;&4@=&\@;W!EN
XM;B!I;G!U="!F:6QE("<E<R<*`'<`56YA8FQE('1O(&]P96X@;W5T<'5T(&9IQ
XM;&4@)R5S)PH`4S`P-C`P,#`T.#0T-3(Q0@H`4S$`"@!3.3`S,#`P,$9#"@!.@
XM5?_^2.<P`!`M``_H"!M`__\0+0`/P#P`#QM`__YP`!`M__[E@$'Y`````"\P=
XM"`!R`!(M___E@4/Y`````"\Q&`!(>@`8+RT`"$ZY```$=$_O`!!,WP`,3EU.,
XM=25C)6,``$Y5__A(YS``<``P+0`*X(@K0/_\<``P+0`*P+P```#_*T#_^"`MD
XM__C0K?_\3-\`#$Y=3G5.50``2.<P($ZY```3`B1`2H!F"G``3-\$#$Y=3G4OX
XM"B\M``PO+0`(809/[P`,8.9.50``2.<X("\M`!!.N0``$7I83T'Y````0"1("
XM2A)F%"/\````!0````AP`$S?!!Q.74YU+RT`#"\*3KD```JP4$]*@&<$4(I@;
XMTB\J``0O+0`(3KD```D`4$\H`+"\_____V8$<`!@Q"!M`!`11``-(&T`$!%\Y
XM``$`#"`M`!!@K$Y5``!(YS``(^T`"`````!(;0`0+RT`#$AZ`!1.N0``#&Y/C
XM[P`,3-\`#$Y=3G5.50``2.<P`"\Y`````"\M``A.N0``$+903TS?``Q.74YU_
XM87Q#^0```MA%^0````"UR68.,CP`$VL(=``BPE')__PCSP````PL>``$(\X`;
XM```02.>`@`@N``0!*6<02_H`"$ZN_^)@!D*G\U].<T/Z`"1.KOYH(\`````4@
XM9@PN/``#@`=.KO^48`9.N0``!4I03TYU9&]S+FQI8G)A<GD`2?D``'_^3G5.,
XM50``2.<P($AY``$``#`Y```"U,'\``8O`$ZY```9%E!/(\`````89AA"ITAY_
XM``$``$ZY```8Z%!/+GD````,3G4@>0```!A":``$('D````8,7P``0`0(GD`&
XM```8,WP``0`*('D````,(#D````,D*@`!%"`(\`````<('D````<(+Q-04Y8L
XM0J=.N0``&2983R1`2JH`K&<X+RT`#"\M``@O"DZY```&UD_O``PC_`````$`+
XM```@('D````8`&B````$('D````8`&B````*8%A(:@!<3KD``!F.6$](:@!<)
XM3KD``!E06$\CP````"0@>0```"1*J``D9Q0@>0```"0B:``D+Q%.N0``&#98$
XM3R\Y````)"\*3KD```KP4$\C^0```"0````H3KD``!A2('D````8((!.N0``E
XM&)H@>0```!@A0``&9QI(>`/M2'H`.DZY```8BE!/('D````8(4``#"\Y````%
XM*"\Y````+$ZY````!%!/0J=.N0``%DQ83TS?!`Q.74YU*@!.50``2.<\,"1M!
XM`!`@;0`(("@`K.6`*``@1"`H`!#E@"9`$!-(@$C`T*T`#%2`(\`````P0J<OH
XM.0```#!.N0``&1903R/`````-&8(3-\,/$Y=3G40$TB`2,`O`"!+4H@O""\YJ
XM````-$ZY```(O$_O``Q(>@%P$!-(@$C`T+D````T+P!.N0``"N!03R\M``PO"
XM"B\Y````-$ZY```*C$_O``Q"N0```"PF>0```#0D2Q`32(!(P"H`L+P````@?
XM9R"ZO`````EG&+J\````#&<0NKP````-9PBZO`````IF!%*+8,P,$P`@;0``/
XMC@P3`")F,E*+($M2BQ`02(!(P"H`9R`@2E**$(6ZO````")F$`P3`")F!%*+>
XM8`9"*O__8`)@TF!$($M2BQ`02(!(P"H`9S"ZO````"!G*+J\````"6<@NKP`B
XM```,9QBZO`````UG$+J\````"F<(($I2BA"%8,(@2E**0A!*A68"4XM2N0``I
XM`"Q@`/\Z0A)"IR`Y````+%*`Y8`O`$ZY```9%E!/(\`````H9@I"N0```"Q@$
XM`/ZL>@`F>0```#1@'B`%Y8`@>0```"@ABP@`+PM.N0``$()83U*`U\!2A;JYA
XM````+&W:(`7E@"!Y````*$*P"`!@`/YJ(`!,[P,```0@""(O``Q@`A#95\G_1
XM_&<&4D%@`D(84<G__$YU3E4``$CG,``O+0`,2'@#`2\M``AA#$_O``Q,WP`,0
XM3EU.=4Y5``!(YS\P)&T`"$ZY```5U"9Y````&'@`8!)R!B`$3KD``!?^2K,(6
XM`&<44H0P.0```M1(P+B`;>)Z!F```.H(+0`!``YG/$AX__\O"DZY```8=%!/Y
XM+`!G*B\&3KD``!C*6$\O"DZY```81%A/2H!F$DZY```87"H`L+P```#-9@``+
XMIDAX`^TO"DZY```8BE!/+`!*AF9R""T````.9@9Z`6```(1(>`/N+PI.N0``J
XM&(I03RP`9@I.N0``&%PJ`&!F2'@`(4AZ`+!.N0``&5Y03RX`9PPO!TZY```9O
XM"%A/8"9(>``!2'H`G"\&3KD``!C83^\`#$AX__]"IR\&3KD``!BZ3^\`#&`N7
XM("T`#,"\```%`+"\```%`&8<+P9.N0``&"A83WH$(\4````(</],WPS\3EU.Y
XM=7(&(`1.N0``%_XGA@@`<@8@!$ZY```7_B!`T<LQ;0`.``0(+0`#``YG$DAX%
XM``%"IR\&3KD``!BZ3^\`#"`$8+AD;W,N;&EB<F%R>0```#`\?_]@!#`O``X@"
XM;P`$2AAF_%-((F\`"%-`$-E7R/_\9P)"$"`O``1.=3`\?_]@!#`O``Y30&L4?
XM(&\`!")O``BQ"68,4TA*&%?(__9P`$YU8P1P`4YU</].=2!O``0@"")O``@0-
XMV6;\3G5.50``2.<^,"1M``A"ITAZ`*1.N0``&5Y03R/`````3&8(3-\,?$Y=^
XM3G4@;0`,(F@`)"\I``1.N0``&;I83R@`9UI(>@!]($0O*``V3KD``!F<4$\F!
XM0$J`9SA(>`/M+PM.N0``&(I03RP`9R8@!N6`*@`@125H``@`I"5&`)Q(>`/M>
XM2'H`1$ZY```8BE!/)4``H"\$3KD``!FL6$\O.0```$Q.N0``&0)83T*Y````Q
XM3&``_W!I8V]N+FQI8G)A<GD`5TE.1$]7`"H`3E4``$CG,`!(;0`,+RT`"$AY1
XM```0E$ZY```,;D_O``Q,WP`,3EU.=4Y5``!(YS@@)&T`$`RM````!``49@@@^
XM;0`(*!!@%$JM``QO""!M``@H$&`&(&T`""@00JT`%$JM``QL$D2M``Q*A&P*@
XM1(0K?`````$`%"(M``P@!$ZY```0'$'Y````B%.*%+`(`"(M``P@!$ZY```0W
XM*"@`9MA*K0`49P93BA2\`"T@"DS?!!Q.74YU3E7_%$CG.#`D;0`()FT`#$*MW
XM__@K;0`0__P@2U*+$!!(@$C`*`!G``,\N+P````E9@`#%D(M_R(K?`````'_O
XM]"M\````(/_P*WP``"<0_^P@2U*+$!!(@$C`*`"PO````"UF$$*M__0@2U*+,
XM$!!(@$C`*`"XO````#!F%"M\````,/_P($M2BQ`02(!(P"@`N+P````J9AH@:
XM;?_\6*W__"M0_^@@2U*+$!!(@$C`*`!@.$*M_^A@)'(*("W_Z$ZY```7_M"$\
XMD+P````P*T#_Z"!+4HL0$$B`2,`H`$'Y````FP@P``)(`&;.N+P````N9F8@'
XM2U*+$!!(@$C`*`"PO````"IF&B!M__Q8K?_\*U#_["!+4HL0$$B`2,`H`&`X\
XM0JW_[&`D<@H@+?_L3KD``!?^T(20O````#`K0/_L($M2BQ`02(!(P"@`0?D`N
XM``";"#```D@`9LXK?`````3_Y+B\````;&86($M2BQ`02(!(P"@`*WP````$&
XM_^1@%+B\````:&8,($M2BQ`02(!(P"@`(`1@``""*WP````(_^!@'"M\````\
XM"O_@8!(K?````!#_X&`(*WS____V_^`O+?_D2&W_(B\M_^`O+?_\3KK]I$_O@
XM`!`K0/_<("W_Y-&M__Q@7"!M__Q8K?_\*U#_W"\M_]Q.N0``$()83RM`_^1@^
XM2B!M__Q8K?_\*!!![?\A*TC_W!"$8"B0O````&-GXE.`9Y*0O`````MG`/]LO
XM68!GLE6`9P#_;%>`9P#_<&#,0>W_(I'M_]PK2/_D("W_Y+"M_^QO!BMM_^S_?
XMY$JM__1G<"!M_]P,$``M9PHB;?_<#!$`*V8T#*T````P__!F*E.M_^@@;?_<*
XM4JW_W!`02(!(P"\`3I)83["\_____V8*</],WPP<3EU.=6`8+RW_\$Z26$^P"
XMO/____]F!'#_8.)2K?_X("W_Z%.M_^BPK?_D;MI"K?_@8"0@;?_<4JW_W!`0@
XM2(!(P"\`3I)83["\_____V8$</]@JE*M_^`@;?_<2A!G"B`M_^"PK?_L;<H@M
XM+?_@T:W_^$JM__1F*F`:2'@`($Z26$^PO/____]F!G#_8`#_<%*M__@@+?_H8
XM4ZW_Z+"M_^1NV&`8+P1.DEA/L+S_____9@9P_V``_TA2K?_X8`#\N"`M__A@W
XM`/\X2.=(`$*$2H!J!$2`4D1*@6H&1($*1``!83Y*1&<"1(!,WP`22H!.=4CGH
XM2`!"A$J`:@1$@%)$2H%J`D2!81H@`6#8+P%A$B`!(A]*@$YU+P%A!B(?2H!.R
XM=4CG,`!(04I!9B!(038!-`!"0$A`@,,B`$A`,@*"PS`!0D%(04S?``Q.=4A!2
XM)@$B`$)!2$%(0$)`=`_0@-.!MH%B!)*#4D!1RO_R3-\`#$YU(&\`!"`(2AAF3
XM_)'`(`A3@$YU3E4``$CG,`!(>0```3(O+0`(3KD``!"V4$],WP`,3EU.=4Y59
XM``!(YS@`*"T`""\M``PO!$ZY```1!%!/N+P````*9BH@;0`,$"@`#$B`2,`(=
XM```'9QA(>/__+RT`#$ZY```2"E!/3-\`'$Y=3G5@]DY5``!(YS`@)&T`#"!2J
XML>H`!&4<("T`","\````_R\`+PI.N@#B4$],WP0,3EU.=2!24I(0+0`+$(!(`
XM@$C`P+P```#_8.).50``2.<P($'Y```!'"1(($K5_````!8O"&$46$]!^0``(
XM`M2UR&7H3-\$#$Y=3G5.50``2.<X("1M``AX`"`*9@IP_TS?!!Q.74YU2BH`Z
XM#&=<""H``@`,9PQ(>/__+PIA7E!/*``0*@`-2(!(P"\`3KD``!>>6$^(@`@JB
XM``$`#&<,+RH`"$ZY```41EA/""H`!0`,9Q@O*@`23KD``!4,6$\O*@`23KD`7
XM`!1&6$]"DD*J``1"J@`(0BH`#"`$8(1.5?_^2.<X("1M``A!^O\R(\@````X(
XM""H`!``,9PIP_TS?!!Q.74YU""H``@`,9S0H$IBJ``@O!"\J``@0*@`-2(!(E
XMP"\`3KD``!4^3^\`#+"$9Q`(Z@`$``Q"DD*J``1P_V"\#*W_____``QF$`BJX
XM``(`#$*20JH`!'``8*)*J@`(9@HO"DZY```30EA/#&H``0`09C(;;0`/__](H
XM>``!2&W__Q`J``U(@$C`+P!.N0``%3Y/[P`,L+P````!9I0@+0`,8`#_6B2J=
XM``@P*@`02,#0J@`()4``!`CJ``(`#"!24I(0+0`/$(!(@$C`P+P```#_8`#_!
XM*DY5``!(YS`@0?D```$<)$A**@`,9QS5_````!9!^0```M2UR&4*<`!,WP0,@
XM3EU.=6#>0I)"J@`$0JH`""`*8.A.5?_\2.<P("1M``A(>`0`3KD``!0N6$\KK
XM0/_\9AHU?``!`!`@"M"\````#B5```A,WP0,3EU.=35\!```$`CJ``$`#"5MM
XM__P`"!`J``U(@$C`+P!.N0``%)A83TJ`9P8`*@"```Q@R$Y5``!(YS`P)'D`'
XM```$8!8F4B`J``10@"\`+PI.N0``&3Y03R1+(`IFYD*Y````!$S?#`Q.74YU*
XM3E4``$CG,"!!^O^^(\@````\0J<@+0`(4(`O`$ZY```9%E!/)$!*@&8*<`!,M
XMWP0,3EU.=22Y````!"5M``@`!"/*````!"`*4(!@X$Y5``!(YS``+RT`"&&FT
XM6$],WP`,3EU.=4Y5``!(YS`PE\LD>0````1@#B!M``A1B+'*9Q(F2B12(`IF'
XM[G#_3-\,#$Y=3G4@"V<$)I)@!B/2````!"`J``10@"\`+PI.N0``&3Y03W``N
XM8-1.50``2.<P('(&("T`"$ZY```7_B1`U?D````82JT`"&T4,#D```+42,`BR
XM+0`(LH!L!$J29A0C_`````(````(</],WP0,3EU.=7(&("T`"$ZY```7_B!YP
XM````&"\P"`!.N0``&&983TJ`9P1P`6`"<`!@SDY5``!(YS``+RT`"$ZY```86
XM1%A/2H!F%DZY```87"/`````"'#_3-\`#$Y=3G5P`&#T3E4``$CG/"`H+0`(Z
XM3KD``!74<@8@!$ZY```7_B1`U?D````82H1M$#`Y```"U$C`N(!L!$J29A0CE
XM_`````(````(</],WP0\3EU.=3`J``3`?``#9@XC_`````4````(</]@X"\M6
XM`!`O+0`,+Q).N0``&-A/[P`,*@"PO/____]F$$ZY```87"/`````"'#_8+(@)
XM!6"N3E7__$CG,`!(>!``0J=.N0``&7Y03RM`__P(```,9QI*N0```"!F#"`MC
XM__Q,WP`,3EU.=4ZY```6$G``8.Y.50``2.<P`$AX``1(>@`H3KD``!B:+P!.S
XMN0``&-A/[P`,2'@``4ZY```63%A/3-\`#$Y=3G5>0PH`3E4``$CG,`!*N0``9
XM`#AG""!Y````.$Z0+RT`"$ZY```6>%A/3-\`#$Y=3G5.5?_\2.<X`"MM``C__
XM_$JY````&&<V>`!@#"\$3KD``!>>6$]2A#`Y```"U$C`N(!MZ#`Y```"U,'\4
XM``8O`"\Y````&$ZY```9/E!/2KD````\9P@@>0```#Q.D$JY````0&<.+SD`S
XM``!`3KD``!D(6$]*N0```$1G#B\Y````1$ZY```9"%A/2KD```!(9PXO.0``N
XM`$A.N0``&0A83RQX``0(+@`$`2EG%"\-2_H`"DZN_^(J7V`&0J?S7TYS2KD`T
XM```D9CA*N0```#1G+B\Y````,"\Y````-$ZY```9/E!/(#D````L4H#E@"\`J
XM+SD````H3KD``!D^4$]@%$ZY```9-"\Y````)$ZY```9<%A/("W__"YY````'
XM#$YU3-\`'$Y=3G5.50``2.<^("@M``AR!B`$3KD``!?^)$#5^0```!A*A&T0>
XM,#D```+42,"X@&P$2I)F%"/\`````@````AP_TS?!'Q.74YU,"H`!,!\@`!FV
XM"B\23KD``!@H6$]"DG``8-Y(YW``-`'$P"8!2$/&P$A#0D/4@TA`P,%(0$)`%
XMT(),WP`.3G5.^0``&"@B+P`$+'D````43N[_W"(O``0L>0```!1.[O^"(B\`6
XM!"QY````%$[N_[@L>0```!1.[O_*+'D````43N[_?"(O``0L>0```!1.[O\H/
XM3.\`!@`$+'D````43N[_K$[Y```8BDSO``8`!"QY````%$[N_^(L>0```!1.P
XM[O_$3OD``!BJ3.\`#@`$+'D````43N[_UDSO``X`!"QY````%$[N_[XB+P`$E
XM+'D````43N[_IDSO``X`!"QY````%$[N_]!(YP$$3.\@@``,+'D````03J[_V
XME$S?((!.=4[Y```9"")O``0L>0```!!.[OYB3.\``P`$+'D````03N[_.B)OM
XM``0L>0```!!.[O[:+'D````03N[_?")O``0@+P`(+'D````03N[_+B!O``0L"
XM>0```!!.[OZ,+'D````0(F\`!"`O``A.[OW8(F\`!"QY````$$[N_H9,[P`#)
XM``0L>0```!!.[O[.(&\`!"QY````$$[N_H!,[P,```0L>0```$Q.[O^@(&\`@
XM!"QY````3$[N_Z8@;P`$+'D```!,3N[_L@```^P````4`````0```U8```-H/
XM```$"@``!,@```5$```%6@``"3````P^```-3```#;H``!">```15```$6H`S
XM`!,,```3(```%+P``!5H```6H```%JP``!?"````>@`````````F````,@``"
XM`$8```!D````=@```(8```"<````J````+@```#.````V@```.H```#^```!S
XM@````;(```):```"?````H@```*4```#>@```\X```0"```$,```!$@```227
XM```$M@``!2X```5F```%?@``!=8```7P```&(@``!BX```94```&9```!G8`'
XM``:$```&G@``!KP```;&```'%```!T````=<```'<```"&````B4```)#@``3
XM"2(```E0```)7@``"6@```ET```)C```":X```FZ```)S```"=H```GN```*A
XM````"B````H^```*3```"FP```L$```+*```"SX```M2```+>```"X8```N49
XM```+S```"](```PX```,4```#2X```V<```.9```$*@``!#*```0]```$;P`-
XM`!'2```1Y@``$?(``!)2```2D@``$KH``!-4```3F```$\@``!0````4C@``4
XM%*@``!3J```4^@``%1H``!4F```53```%58``!6N```5P@``%>0``!8*```6'
XM)```%BP``!8Z```6:@``%I8``!:^```6Y```%OH``!<0```75```%VX``!=XF
XM```7A```%[```!?R```8)```&(8``!BF```9!````'4````"```$&@``!(``Y
XM``2L```$S@``!.8```3P```%&@``!6X```6&```%C@``!9@```6D```%L```+
XM!;8```7"```%R```!?X```8$```&$```!C8```8\```&2```!EP```9L```&8
XM<```!GP```:*```&I@``!K````:V```'!@``!PX```<<```'.@``!U0```=JR
XM```'>@``!X````A&```(5```"&@```AP```(?```"(@```BB```(K@``"10`K
XM``HJ```+#```"XX```N<```2'```$[0``!/6```3\```%!@``!0D```44@``V
XM%'X``!2P```4U```%/```!4L```57@``%7P``!6:```5R```%?8``!96```6@
XM7@``%H@``!:X```6Q@``%LX``!;6```6W@``%NP``!;T```7`@``%PH``!<X_
XM```70```%T@``!=.```77```%V@``!=^```7D```%[@``!?6```8+@``&#P`?
XM`!A*```85```&%X``!AL```8?```&)(``!B<```8L@``&,(``!C0```8X```^
XM&/0``!D.```9'@``&2P``!DV```92```&58``!E@```9=@``&88``!F4```9[
XMI```&;(``!G``````````_(```/J````M@```#`````Q````,@```#,````T:
XM````-0```#8````W````.````#D```!!````0@```$,```!$````10```$9R:
XM`````````'(K```````"=P```````P%W*P`````#`F$```````D!82L`````X
XM"0)X```````%`7@K``````4"```````````P,3(S-#4V-S@Y86)C9&5F````5
XM("`@("`@("`@,#`P,#`@("`@("`@("`@("`@("`@(""00$!`0$!`0$!`0$!`@
XM0$!`#`P,#`P,#`P,#$!`0$!`0$`)"0D)"0D!`0$!`0$!`0$!`0$!`0$!`0$!!
XM`4!`0$!`0`H*"@H*"@("`@("`@("`@("`@("`@("`@("0$!`0"``````````%
XM`````````0`````!``````````````````````$!`````0``````````````%
XM```````!`@````$`````````````````````````````````````````````$
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM````````````````````````````````````````%``````#\@```^L````4+
X$```#\@``U
X``
Xend
Xsize 8464
END_OF_FILE
if test 11887 -ne `wc -c <'ftos.uu'`; then
    echo shar: \"'ftos.uu'\" unpacked with wrong size!
fi
# end of 'ftos.uu'
fi
echo shar: End of archive 1 \(of 1\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have the archive.
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0
-- 
Mail submissions (sources or binaries) to <amiga@cs.odu.edu>.
Mail comments to the moderator at <amiga-request@cs.odu.edu>.
Post requests for sources, and general discussion to comp.sys.amiga.
