![](../../../images/space.gif) |
![](../../../images/layout/shadow.gif) |
|
Added: |
> > |
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. |
|
Copyright © 2002-present by the contributing authors. All material on this collaboration platform is the property of the contributing authors, and is covered by the Non-Commercial Share-Alike License unless explicitly stated otherwise. |
|