From c1143d097b6c7391f33ba32c081311060d001688 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Thu, 15 Aug 2019 20:52:32 +0100 Subject: [PATCH] Fix dicformat not reading MODE2 sectors with incorrect EDC/ECC correctly. --- .../.idea/contentModel.xml | 139 +++++++++--------- .../DiscImageChef/Read.cs | 7 + 2 files changed, 80 insertions(+), 66 deletions(-) diff --git a/.idea/.idea.DiscImageChef/.idea/contentModel.xml b/.idea/.idea.DiscImageChef/.idea/contentModel.xml index 2511b4455..d1f3967ec 100644 --- a/.idea/.idea.DiscImageChef/.idea/contentModel.xml +++ b/.idea/.idea.DiscImageChef/.idea/contentModel.xml @@ -2,8 +2,8 @@ - - + + @@ -174,12 +174,6 @@ - - - - - - @@ -1352,7 +1346,12 @@ + + + + + @@ -2259,64 +2258,72 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DiscImageChef.DiscImages/DiscImageChef/Read.cs b/DiscImageChef.DiscImages/DiscImageChef/Read.cs index 78d5569f9..98502b65d 100644 --- a/DiscImageChef.DiscImages/DiscImageChef/Read.cs +++ b/DiscImageChef.DiscImages/DiscImageChef/Read.cs @@ -1486,6 +1486,13 @@ namespace DiscImageChef.DiscImages if((sectorSuffixDdt[sectorAddress] & CD_XFIX_MASK) == (uint)CdFixFlags.Mode2Form2Ok) ReconstructEcc(ref sector, TrackType.CdMode2Form2); } + else if((sectorSuffixDdt[sectorAddress] & CD_XFIX_MASK) == (uint)CdFixFlags.NotDumped) + { + // Do nothing + } + else + // Mode 2 where ECC failed + Array.Copy(data, 0, sector, 24, 2328); } else if(mode2Subheaders != null) {