What it does
See how your file is before you touch it. It tells you whether it is sound, broken or not recognised — and in each case which checksum it carries, where it lives, what value it holds and what value it should hold, structure by structure. Checking is free; correcting and downloading costs one credit, and a correction that does not verify afterwards is not charged.
Processes your own file, for any car on the platform.
1 credit or USD 15.51 (ARS 25.500) for a one-off purchase
Families and modules it covers
- Bosch TriCore Infineon TriCore (TC1767 / TC1791 / TC1793 and family) · the micro's internal flash · CRC32 (poly 0xEDB88320) over dwords with the field's seed, ADD32, and ADD16 with the last word shifted into the high 16 bits VERIFIED
- Bosch ME7.x (C167) Infineon C167 / ST10 · the ECU's external flash (512 KB or 1 MB) · 8 mechanisms: ROMSYS Startup and ParamPage, CRC32 table, Main CRC32 chained x3, Main CSM with its inverse, ROMSYS ProgramPages, Main Program CSM with its inverse, and Multipoint VERIFIED
- EEPROM Bosch EDC17 / MED17 (CS1) — · serial EEPROM 95xxx (from 2 KB to 128 KB) · crc = w ^ (((crc<<1) | parity(crc & 0xEDB88320)) & 0xFFFFFFFF) over 32-bit LE words, seed = block identifier, low 16 bits. Not a classic CRC-32 VERIFIED
- Continental SID208 Infineon TriCore TC1797 · Micro's internal flash (4 MB) plus 64 KB D-Flash · Non-reflected CRC-32 (poly 0x04C11DB7, seed 0) chained over the range pairs each descriptor declares VERIFIED
- Continental SID209 Infineon TriCore TC1797 · Micro's internal flash (4 MB) plus 64 KB D-Flash · Non-reflected CRC-32 (poly 0x04C11DB7, seed 0) chained over the range pairs each descriptor declares VERIFIED
- DSG Temic MQB (DQ200-MQB) Infineon TriCore TC1766 · the micro's internal flash · JAMCRC = complement of the standard CRC-32 (poly 0xEDB88320 reflected, init 0xFFFFFFFF, no final xor) VERIFIED
- Magneti Marelli 9GV Freescale MPC5634 · the micro's internal flash (1.5 MB, with or without a shadow block) · none stored. With the original alongside, the sum of the calibration sector's 16-bit BE words is preserved VERIFIED
- EEPROM 95040 Bosch ME7.5 (VAG) — · serial EEPROM 95040 (512 bytes, 32 pages of 16) · chk = (-(sum of the 14 data values + k)) & 0xFFFF, where k is the page number except on the backup pages, which use their main page's VERIFIED
- ELV MQB 3Q0 (D-Flash) Renesas UPD70F3624 · the micro's D-Flash (64 KB) · standard CRC-32 over the record's contents plus a 0x01 byte, stored BIG-ENDIAN. It is checked and reported; the correction is done by that family's module. DOCUMENTED
- BCM GM Cruze — · emulated EEPROM of the body module · NOT(sum of the body's 16-bit BE words) & 0xFFFF; the body is the block without its first 2 bytes DOCUMENTED
- Bosch ME7.9.6 NOR ** Infineon C167 · external NOR flash 29F400 (512 KB) or 29F800 (1 MB) · sum of 16-bit LE words per 0x4000 block, truncated to 16 DOCUMENTED
- DSG G2 (external EEPROM) ** Infineon TriCore TC1784 · external serial EEPROM · CRC-16/CCITT-FALSE (poly 0x1021, init 0xFFFF, non-reflected), stored LE DOCUMENTED
- Bosch AURIX MG1 / MD1 / MDG1 ** Infineon AURIX TC3xx · the micro's internal flash · standard CRC-32 per block DOCUMENTED
- Magneti Marelli IAW (EEPROM HC11) Motorola HC11 · the module's serial EEPROM · sum of 16-bit words closing at 0x55AA, including the record's own checksum word. It is checked and reported; the correction is done by that family's module. DOCUMENTED
- GM Delco E83 32-bit Freescale MPC · Micro's internal flash (2 MB) · sum no.1: sum of the whole segment's 16-bit BE words == 0 (big-endian at +0x00); sum no.2: CRC-16/ARC (poly 0x8005 reflected, seed 0) of the segment without the two words (little-endian at +0x20); extra sums of the Engine calibration per OS version VERIFIED
- GM Delco E84 NXP MPC5676R · Micro's internal flash (6 MB) · sum no.1: sum of the whole segment's 16-bit BE words == 0 (big-endian at +0x00); sum no.2: CRC-16/ARC (poly 0x8005 reflected, seed 0) of the segment without the two words (little-endian at +0x20). No known extra sums VERIFIED
- GM Delco E98 ** 32-bit Freescale MPC (PowerPC VLE) · Micro's internal flash (4 MB) · sum no.1: sum of the whole segment's 16-bit BE words == 0 (big-endian at +0x00); sum no.2: CRC-16/ARC (poly 0x8005 reflected, seed 0) of the segment without the two words (little-endian at +0x20); extra sums of the Engine calibration per OS version DOCUMENTED
- Bosch ME7.4.9 (PSA) 16-bit Infineon C167 · External 29F800 flash (832 KB or 896 KB read) · multipoint table of 44 or 48 descriptors (start, end, value, inverse): sum of the 16-bit LE words of each 16 KB page, modulo 2^32; closing CRC-32 (zlib) over the calibration and the table VERIFIED
- Bosch ME7.4.9R (PSA) 16-bit Infineon C167 · External 29F800 flash (832 KB or 896 KB read) · multipoint table of 44 or 48 descriptors (start, end, value, inverse): sum of the 16-bit LE words of each 16 KB page, modulo 2^32; closing CRC-32 (zlib) over the calibration and the table VERIFIED
- Bosch ME7.4.4 (PSA) 16-bit Infineon C167 · External 29F400 flash (512 KB) · ROMSYS (Startup and ParamPage) and multipoint table of 32 descriptors (start, end, value, inverse): sum of the 16-bit LE words of each range, modulo 2^32 VERIFIED
- Bosch ME7.4.6 (PSA) 16-bit Infineon C167 · External 29F400 flash (512 KB) · ROMSYS (Startup and ParamPage) and multipoint table of 32 descriptors (start, end, value, inverse): sum of the 16-bit LE words of each range, modulo 2^32 VERIFIED
- Nissan Denso SH7058 (YD25) Renesas SH7058 (1 MB flash) or SH7059 (1.5 MB flash) · Micro's internal flash (1 MB or 1.5 MB) · range table at the end of the flash (start, end, value, big-endian): the 32-bit big-endian sum of each range plus its value must equal 0x5AA5A55A VERIFIED
- Continental SID807evo ** Infineon TriCore TC1797 · Micro's internal flash (4 MB); the 64 KB D-Flash carries no descriptors · Non-reflected CRC-32 (poly 0x04C11DB7, no final xor) chained over the range pairs each descriptor declares, seeded with the word before the CRC (0 in the program ones, FFFFFFFF in the calibration one) DOCUMENTED
- Magneti Marelli 10GF Freescale/NXP MPC5642 · Micro's internal flash (2 MB) + external 95640 EEPROM · none stored for the application or the calibration (measured on 8 originals). The boot sector carries the sum of its bytes at 0x1FFFC and is not touched; with the original alongside, the byte sum of the calibration block and whether it changed are reported. It is checked and reported; the correction is done by that family's module. DOCUMENTED