Re: A92: Checksums


[Prev][Next][Index][Thread]

Re: A92: Checksums



Arno Kizina wrote:

> Can anybody tell me the position and perhaps the construction of the
> checksum in
> a fargo-program, after I patched a program to run on 256k, graphlink
> bothered a
> wrong checksum.
> Thanks          AK
> Arno.Kizina@t-online.de

The problems with the checksums I had too, when I modified FARGO 0.1.13
myself
to run at a 256K TI-92. I get them out by comparing many backups. The
checksums f .92B
files are slightly different to those in .92p files, but the method is
the same. Somewhere
in the header of the file (at 40h -60h), there is the size of the .92x
file in bytes (4Bytes in intel's way). The last words in the file are
a checksum, which is the sum of all bytes in the file from somewhere
between
45h-60h and the end (the checksum is not included to the checksum
calculation).
For example, when you change at three positions in the file 02 to 04,
the checksum
will become 02*3 bigger. If the last to bytes in the file are listet in
the hex-editor as
e.g. FF84, you will have to type 84FF into the hex-calculator (because
of intel's
method of storing variables), and add 2*3 = 6 to it. The result is 8505.
To store it
in the file you will have to exchange the bytes again -> 0585 (intel's
method) and write it
back to the .92x file. (I modified graylib, gray7lib and some other
programs in this way, manualy
because the program, I wrote, which adds the checksums to .92b files
didn't work with
.92x files)

P.S. Can you send me please the .zip file of FARGO 0.1.14, because I
have no one modem,
       and my schools internet connection is switched on very seldom. (I
don't know, wether my
       modified version of FARGO 0.1.13 completely o.k.)


Follow-Ups: References: