Cars · Electronics

Check Sum

A Checksum is a very basic form of error checking. A checksum is calculated by adding the values of a ROM together, without any form of carry or overflow checking.

Beginner

Adapted from pgmfi.org wiki

A Checksum is a very basic form of error checking. A checksum is calculated by adding the values of a ROM together, without any form of carry or overflow checking. Checksums can vary in size - 8bit, 16bit, 32bit checksums are all common. OBD0 and OBD1 honda ECUs use exclusively 8 bit checksums i.e. checksums from 0 -> 255 decimal, 00-FF hex. There is a program called check8 (also available attached to this page) that can calculate 8bit checksums. You can update the rom so the checksum stays 00 even after editing it. Here is how to (using Win Hex in this example, but you can use the program posted below, but only to find checksum, not to edit the ROM) : Open Win Hex and select Tools Menu -> Calculate Hash (Select 8 bit). Write down the number it gives you. This is the current Checksum. Open Windows Calculator (Start -> Run -> Calc then press enter) View -> Scientific Select Hex Mode (or press F5) Do this : FF - Current_checksum ( FF - AB for example) The number it gives you is tu be written in a memory location, toward the bottom, where no code is present, and where the value FF is already there. Example : (FF - AB = 54) lets say I go to memory location 7FFF, value is FF. I replace FF by 54. if you dont have an address with a free FF value, but another value (lets say 00), use 00 in calc instead (00 - AB) and replace the free 00 with the result.

Attachment: Modify: Size: Date: Who: Comment:
Check8.exe mod 10308 05 Mar 2004 - 18:29 blundar Keil's 8 bit checksum utility

Credits and source

Authors blundar, cxigkakis, synoptic

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

Attachments & Downloads

Size: 10.1 KB
SHA-256: 705add25...2ab04bf3