Correct mishandling of EDC-less mode 2 form 2 sectors, and of mode 2 formless sectors

This commit is contained in:
2014-03-02 19:27:23 +00:00
parent b174597a07
commit a93a2401a5
5 changed files with 8 additions and 11 deletions

View File

@@ -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++;