diff --git a/README.md b/README.md index 2ded198..33658e2 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ -edccchk v1.0 -============ +edccchk v1.10 +============= EDC/ECC checker for RAW (2352 bytes/sector) CD images -Copyright © 2013 Natalia Portillo +Copyright © 2013-2014 Natalia Portillo Based on ECM v1.03 Copyright © 2002-2011 Neill Corlett @@ -21,11 +21,6 @@ Features * Supports Mode 0, Mode 1 and Mode 2 data sectors, ignores Audio sectors. * Shows failing sectors as MSF. -Known bugs -========== - -Mode 2 form-less sectors all appear as errors. Mode 2 form 1 and form 2 sectors are processed correctly. - Changelog ========= @@ -33,10 +28,12 @@ Changelog * Converted ECM code to only check sectors. * Added support for mode 0 sectors. +2014/03/02 v1.10 +* Corrected handling of mode 2 form 2 sectors with omitted EDC. Side-effect, corrects mode 2 form-less sectors processing. + To-Do ===== -* Support Mode 2 form-less sectors * Support RAW+SUB images (2448 bytes/sector) * Check Q-subchannel CRCs * Check CD+G CRCs diff --git a/bin/edccchk-v1.1-linux64.tzx b/bin/edccchk-v1.1-linux64.tzx new file mode 100644 index 0000000..47c19a7 Binary files /dev/null and b/bin/edccchk-v1.1-linux64.tzx differ diff --git a/bin/edccchk-v1.1-win32.zip b/bin/edccchk-v1.1-win32.zip new file mode 100644 index 0000000..44f0fbe Binary files /dev/null and b/bin/edccchk-v1.1-win32.zip differ diff --git a/edccchk.c b/edccchk.c index 9ab4419..28700f3 100644 --- a/edccchk.c +++ b/edccchk.c @@ -398,7 +398,7 @@ static int8_t ecmify( if((sector[0x012] & 0x20) == 0x20) // mode 2 form 2 { mode2f2sectors++; - if(edc_compute(0, m2sec, 0x91C) != get32lsb(m2sec + 0x91C)) + 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]); mode2f2errors++; diff --git a/version.h b/version.h index 799d398..fc5c59a 100644 --- a/version.h +++ b/version.h @@ -1 +1 @@ -"v1.00" +"v1.10"