Cars · Diagnostics

Manual Checksum

There are two ways to fix a checksum error. The first is to change the program of the ROM in such a way that the checksum routine is disabled / removed.

Intermediate

Adapted from pgmfi.org wiki

There are two ways to fix a checksum error. The first is to change the program of the ROM in such a way that the checksum routine is disabled / removed. Learn to code if you want to do this. If you are content to workaround the checksum procedure, keep reading. The checksum in all OBD0 /1 ROMs is 8 bit - meaning it will vary from 0 to 255. (00-FF hex) To figure out what the checkum is, you need to do a 8-bit Check Sum over the file. I believe the PM6 cares about the area from 0000-4FFF. Most OBD1 ECUs care about the whole ROM. I believe winhex can calculate this, and you can also get a utility called check8 from http://www.keil.com. This will work nicely too... Anyways, lets say you run the checksum program and you get a checksum of A3 (hex). Subtract A3 from FF: FF -A3 = 5C Now find a "FF" somewhere in the range the ECU is using for checksum. It's best to look for a block of "FF"s as that generally indicates unused ROM space. Change the FF to whatever the result of your subtraction is. Voila. Checksum fixed.

Credits and source

Source Adapted from Manual Checksum on pgmfi.org wiki. Licensed under CC BY-NC-SA 1.0.