|
Features
automatic Checksum updating. No checksum modules to buy.
The Pro2DMEeditor
supports the following types of Checksum Correction. The stored checksum
value is corrected as the edited files is saved to disk. This is fully
automatic.
| Checksum Correction
Types |
- Basic
- Multiple Ranges
- 16-Bit Complimentary
- 32-Bit Complimentary (OBDII)
|
|
Definition |
"checksum correction"
also known as "checksum verification" or just
"checksum"..... Checksum Verification was introduced to
BOSCH Motronic ECUs to error check of the EPROMs stored data. When an
error in the EPROM's stored data is detected, the system enters an error
mode and responds with reduced performance and/or a check engine light. |
|
Why is this important? |
Tuners change maps and other data to enhance performance. They save
these changes to an EPROM or Flash it to an ECU. These changes are
detected as "faulty data" by the Motronic system and it responds
with reduces performance. This is not what the tuners had in mind.... So
any changes to stored data requires correcting the EPROM's stored
checksum's value. This is done automatically for you with the Pro2DMEeditor. |

| Basic Checksum
Correction |
The checksum for a partial section of EPROM memory
is calculated and compared against a stored value on the EPROM
itself. |
| 32k EPROM (27256 or 27C256) |
|
64k EPROM ( 27C512) |
Checksum Range - 0000h to 7EFFh
Checksum Location - 7F00h [uses two
address bytes] |
|
Checksum Range - 0000h to FEFFh
Checksum Location - FF00h [uses two
address bytes] |
 |
|
 |
|
n the example on the left, the
dark blue range is the part of the checksum range. I calculated
checksum to be 2053h shown on the lower left in the blue
rectangle. It exactly matches the stored checksum shown in
the green rectangle. Only the
lowest 16 bits of the checksum are used. |
| Multiple
Ranges - Checksum Correction |
This is similar to the Basic Checksum Correction Type except
that multiple checksum ranges are involved. |
|
|
A good example of
a Compound Checksum would be the BMW 325i - ECU 0261200173
Checksum Range 1 - 0000h to 1EFFh
Checksum Range 2 - 2000h to 7FFFh
Checksum Location - 1F00h
Checksum Offset * - B51Fh |
|
Checksum
Offset * - In this example, the Checksum
Offset is the checksum of internal 8052 ROM. It is needed so that
the Pro2DMEeditor
can calculate the corrections to the checksum before saving
the new value to 1F00h of
the EPROM.
|
| Complimentary 16-Bit - Checksum
Correction |
|
|
The checksum is store in four memory addresses. The 16-bit checksum is stored
in the first two memory addresses (green). The
16-bit checksums compliment is stored in the second two memory addresses (blue). The compliment is derived as
follows: |
|
"checksums compliment" = FFFFh -
"checksum"
or as in this example F93Ch
= FFFFh - 06C3h |
|
Since the sum of
the checksum and its compliment equals FFFFh, a constant value, the
checksum can be included within the checksums range. Not so with other types of
checksum Correction. Our example for the Complimentary 16-Bit
Checksum is a VW Polo 1.4L
MP9.0 ECU 0261204959. The checksum range is the entire chip, address 0000h
through FFFFh. |

| Complimentary 32-Bit - Checksum
Correction
|
|
 |
The 32-Bit
Complimentary - Checksum Correction is the as described for the 16-Bit Complimentary Checksum
except the "checksum" and "checksums
compliment" are twice as big. |
|