[Coco] Coco OS9 Source Control (question)

Gene Heskett gheskett at wdtv.com
Mon Jun 16 21:15:33 EDT 2014


On Monday 16 June 2014 20:43:28 Christopher R. Hawks did opine
And Gene did reply:
> On Mon, 16 Jun 2014 20:30:12 -0400
> 
> Gene Heskett <gheskett at wdtv.com> wrote:
> > On Monday 16 June 2014 19:56:41 Greg Law did opine
> > 
> > And Gene did reply:
> > > If you are writing this in C, load the text file into a contiguous
> > > block of memory then call crc() with the starting address and size
> > > of the file. This returns a 3-byte CRC that can be converted to say
> > > a hex string with printf().
> > > 
> > > If you don't have sufficient memory to load the entire file in one
> > > shot, you can also load the file in say 8K chunks and keep calling
> > > crc() with each loaded chunk to accumulate the final CRC.
> > > 
> > > If you look up the F$CRC system call, you'll see that it has these
> > > input parameters:
> > > 
> > > X = starting address
> > > Y = number of bytes
> > > U = address of the 3-byte CRC accumulator
> > > 
> > > The gist is that you need to initialize the CRC accumulator with
> > > zeroes
> > 
> > This may not be correct, ISTR it needs an initial seed value, and its
> > not zero's.  But this is being drug up from memory thats near 20
> > years old too.
> 
> 	Manual sez $FFFFFF

Humm.  That is not the value I recall, but I'll take your word for it.

Thanks Christopher.
> 
> > > once and only once before you begin calculating the CRC for each
> > > file. Each subsequent call to F$CRC will continue accumulating the
> > > CRC into the 3-byte accumulator. After you've called F$CRC for the
> > > last chunk of the file, the CRC of the file is the 3-byte value in
> > > the accumulator.
> > > 
> > > I don't have the C compiler manual with me to confirm, but I think
> > > crc() is a thin wrapper around the F$CRC system call and takes all
> > > three parameters as inputs.
> > > 
> > > -----Original Message-----
> > > From: Bill Pierce via Coco
> > > Sent: Monday, June 16, 2014 6:55 PM
> > > To: coco at maltedmedia.com
> > > Subject: Re: [Coco] Coco OS9 Source Control (question)
> > > 
> > > 
> > > Thanks Gene, is the syscall and access method in the vfy source?
> > > I need to make the checksum into a short ASCII string to add as a
> > > file extension for easy ID and searching. It alsohas to be added to
> > > the checksum report file.
> > > 
> > > 
> > > Bill Pierce
> > > "Today is a good day... I woke up" - Ritchie Havens
> > > 
> > > 
> > > My Music from the Tandy/Radio Shack Color Computer 2 & 3
> > > https://sites.google.com/site/dabarnstudio/
> > > Co-Webmaster of The TRS-80 Color Computer Archive
> > > http://www.colorcomputerarchive.com/
> > > Co-Contributor, Co-Editor for CocoPedia
> > > http://www.cocopedia.com/wiki/index.php/Main_Page
> > > E-Mail: ooogalapasooo at aol.com
> > > 
> > > 
> > > 
> > > 
> > > -----Original Message-----
> > > From: Gene Heskett <gheskett at wdtv.com>
> > > To: coco <coco at maltedmedia.com>
> > > Sent: Mon, Jun 16, 2014 6:11 pm
> > > Subject: Re: [Coco] Coco OS9 Source Control (question)
> > > 
> > > 
> > > On Monday 16 June 2014 17:55:38 Bill Pierce via Coco did opine
> > > And Gene did reply:
> > > (nitr)os9 has a syscall to do that.  Thats how I did the updates,
> > > if required, in vfy.  No sense in re-inventing that particular
> > > wheel. :)
> > > 
> > > 
> > > Cheers, Gene Heskett
> > 
> > Cheers, Gene Heskett
> 
> Christopher R. Hawks
> HAWKSoft


Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>
US V Castleman, SCOTUS, Mar 2014 is grounds for Impeaching SCOTUS


More information about the Coco mailing list