I downloaded the latest version JTAG Programmer, and it shows me a different
checksum than an older version of JTAG Programmer.
The XC9500 JEDEC files have two checksums as defined by the JEDEC
standard. The last line in the JEDEC file beginning with the ^C
character is the file checksum. The second to last line in the
JEDEC file beginning with a C and ending with an * is the fuse
The JEDEC fuse checksum is the sum of only the actual programmed
bit locations in the device adjusted into eight bits (as
specified in the JEDEC file). The JEDEC file checksum includes
additional information that may be present in the JEDEC file,
but not actually programmed into the device.
The older EZTag/JTAG Programmer software report a third checksum, which
is actually a sum of all the eight bit programmed bytes in the device
(as read back directly from the device without any adjustments). This
checksum includes all the programmable bits in the device and is completely different from the JEDEC file checksum.
The older software is all EZTag software and all JTAG Programmer software
prior to and including 2.1i service pack 5.
JTAG Programmer has "standardized" its checksum calculation method as of
2.1i service pack 6.The new method is based on the JEDEC (.jed) fuse checksum.
The new checksums match the .jed fuse checksum.
To force new versions of JTAG Programmer to use the "old" checksum calculation
method, set the following environment variable before starting JTAG Programmer: