From d75d082cdff74aa9da7b343effe383d9a0fcea65 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Thu, 6 Mar 2014 23:19:13 +0000 Subject: [PATCH] Show subheader copy differences as warnings. Show if failure is in EDC/ECC. Bump to version 1.20. --- README.md | 7 ++++++- bin/edccchk-v1.20-linux64.tzx | Bin 0 -> 18848 bytes bin/edccchk-v1.20-win32.zip | Bin 0 -> 54107 bytes edccchk.c | 35 ++++++++++++++++++++++++++++++++++ version.h | 2 +- 5 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 bin/edccchk-v1.20-linux64.tzx create mode 100644 bin/edccchk-v1.20-win32.zip diff --git a/README.md b/README.md index 21e59d0..45edc38 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -edccchk v1.11 +edccchk v1.20 ============= EDC/ECC checker for RAW (2352 bytes/sector) CD images @@ -39,6 +39,11 @@ Changelog 2014/03/02 v1.11 * Corrected sum of total errors. +2014/03/06 v1.20 +* When an error is detected, will tell if the error was detected with ECC P, ECC Q or EDC. Useful to detect EDC/ECC field corruption. +* Shows a warning when mode 2 subheader copies differ. Other tools detect this as an error, but if both ECC and EDC are ok it's intentional. +* Shows summary of total warnings and total errors+warnings. + To-Do ===== diff --git a/bin/edccchk-v1.20-linux64.tzx b/bin/edccchk-v1.20-linux64.tzx new file mode 100644 index 0000000000000000000000000000000000000000..0e73caef3fab7b3ee49c7d6650fc421e079ab8ab GIT binary patch literal 18848 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 R8;_*_W@2DqU|@-i0suGyqWJ&- literal 0 HcmV?d00001 diff --git a/bin/edccchk-v1.20-win32.zip b/bin/edccchk-v1.20-win32.zip new file mode 100644 index 0000000000000000000000000000000000000000..05ea75dfd3a631fea437175ae1c24abee5afd8a4 GIT binary patch literal 54107 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 literal 0 HcmV?d00001 diff --git a/edccchk.c b/edccchk.c index c180d84..e8c0287 100644 --- a/edccchk.c +++ b/edccchk.c @@ -82,10 +82,13 @@ static uint32_t mode1sectors; static uint32_t mode1errors; static uint32_t mode2f1sectors; static uint32_t mode2f1errors; +static uint32_t mode2f1warnings; static uint32_t mode2f2sectors; static uint32_t mode2f2errors; +static uint32_t mode2f2warnings; static uint32_t totalsectors; static uint32_t totalerrors; +static uint32_t totalwarnings; //////////////////////////////////////////////////////////////////////////////// // @@ -276,8 +279,10 @@ static int8_t ecmify( mode1errors= 0; mode2f1sectors= 0; mode2f1errors= 0; + mode2f1warnings = 0; mode2f2sectors= 0; mode2f2errors= 0; + mode2f2warnings = 0; totalsectors= 0; totalerrors= 0; @@ -389,6 +394,12 @@ static int8_t ecmify( mode1errors++; totalerrors++; fprintf(stderr, "Mode 1 sector with error at address: %02X:%02X:%02X\n", sector[0x00C], sector[0x00D], sector[0x00E]); + if(edc_compute(0, sector, 0x810) != get32lsb(sector + 0x810)) + fprintf(stderr, "%02X:%02X:%02X: Failed EDC\n", sector[0x00C], sector[0x00D], sector[0x00E]); + if(!ecc_checkpq(sector + 0xC, sector + 0x10, 86, 24, 2, 86, sector + 0x81C)) + fprintf(stderr, "%02X:%02X:%02X: Failed ECC P\n", sector[0x00C], sector[0x00D], sector[0x00E]); + if(!ecc_checkpq(sector + 0xC, sector + 0x10, 52, 43, 86, 88, sector + 0x81C + 0xAC)) + fprintf(stderr, "%02X:%02X:%02X: Failed ECC Q\n", sector[0x00C], sector[0x00D], sector[0x00E]); } } else if(sector[0x00F] == 0x02) // mode (1 byte) @@ -401,9 +412,17 @@ static int8_t ecmify( if(edc_compute(0, m2sec, 0x91C) != get32lsb(m2sec + 0x91C) && get32lsb(m2sec + 0x91C) != 0) { fprintf(stderr, "Mode 2 form 2 sector with error at address: %02X:%02X:%02X\n", sector[0x00C], sector[0x00D], sector[0x00E]); + if(edc_compute(0, m2sec, 0x91C) != get32lsb(m2sec + 0x91C)) + fprintf(stderr, "%02X:%02X:%02X: Failed EDC\n", sector[0x00C], sector[0x00D], sector[0x00E]); mode2f2errors++; totalerrors++; } + if(sector[0x010] != sector[0x014] || sector[0x011] != sector[0x015] || sector[0x012] != sector[0x016] || sector[0x013] != sector[0x017]) + { + mode2f2warnings++; + totalwarnings++; + fprintf(stderr, "Subheader copies differ in mode 2 form 2 sector at address: %02X:%02X:%02X\n", sector[0x00C], sector[0x00D], sector[0x00E]); + } } else { @@ -417,9 +436,21 @@ static int8_t ecmify( edc_compute(0, m2sec, 0x808) != get32lsb(m2sec + 0x808)) { fprintf(stderr, "Mode 2 form 1 sector with error at address: %02X:%02X:%02X\n", sector[0x00C], sector[0x00D], sector[0x00E]); + if(edc_compute(0, m2sec, 0x808) != get32lsb(m2sec + 0x808)) + fprintf(stderr, "%02X:%02X:%02X: Failed EDC\n", sector[0x00C], sector[0x00D], sector[0x00E]); + if(!ecc_checkpq(zeroaddress, m2sec, 86, 24, 2, 86, m2sec + 0x80C)) + fprintf(stderr, "%02X:%02X:%02X: Failed ECC P\n", sector[0x00C], sector[0x00D], sector[0x00E]); + if(!ecc_checkpq(zeroaddress, m2sec, 52, 43, 86, 88, m2sec + 0x80C)) + fprintf(stderr, "%02X:%02X:%02X: Failed ECC Q\n", sector[0x00C], sector[0x00D], sector[0x00E]); mode2f1errors++; totalerrors++; } + if(sector[0x010] != sector[0x014] || sector[0x011] != sector[0x015] || sector[0x012] != sector[0x016] || sector[0x013] != sector[0x017]) + { + mode2f1warnings++; + totalwarnings++; + fprintf(stderr, "Subheader copies differ in mode 2 form 1 sector at address: %02X:%02X:%02X\n", sector[0x00C], sector[0x00D], sector[0x00E]); + } } } else // Unknown sector mode!!! @@ -458,10 +489,14 @@ static int8_t ecmify( printf("\twith errors..... %d\n", mode1errors); printf("Mode 2 form 1 sectors... %d\n", mode2f1sectors); printf("\twith errors..... %d\n", mode2f1errors); + printf("\twith warnings... %d\n", mode2f1warnings); printf("Mode 2 form 2 sectors... %d\n", mode2f2sectors); printf("\twith errors..... %d\n", mode2f2errors); + printf("\twith warnings... %d\n", mode2f2warnings); printf("Total sectors........... %d\n", totalsectors); printf("Total errors............ %d\n", totalerrors); + printf("Total warnings.......... %d\n", totalwarnings); + printf("Total errors+warnings... %d\n", totalerrors + totalwarnings); // // Success // diff --git a/version.h b/version.h index 0ca2b92..9d0e0ca 100644 --- a/version.h +++ b/version.h @@ -1 +1 @@ -"v1.11" +"v1.20"