Fix CD type detection when dumping. Fixes #216

This commit is contained in:
2019-08-15 18:35:38 +01:00
parent ffc20fb97b
commit 976357596c

View File

@@ -470,7 +470,7 @@ namespace DiscImageChef.Core.Devices.Dumping
dskType = MediaType.CDI; dskType = MediaType.CDI;
break; break;
case 0x20: case 0x20:
if(dskType == MediaType.CD) dskType = MediaType.CDROMXA; if(dskType == MediaType.CD || dskType == MediaType.CDROM) dskType = MediaType.CDROMXA;
break; break;
} }
@@ -748,6 +748,11 @@ namespace DiscImageChef.Core.Devices.Dumping
UpdateStatus?.Invoke($"Track {tracks[t].TrackSequence} is MODE2 FORM 1"); UpdateStatus?.Invoke($"Track {tracks[t].TrackSequence} is MODE2 FORM 1");
dumpLog.WriteLine("Track {0} is MODE2 FORM 1", tracks[t].TrackSequence); dumpLog.WriteLine("Track {0} is MODE2 FORM 1", tracks[t].TrackSequence);
tracks[t].TrackType = TrackType.CdMode2Form1; tracks[t].TrackType = TrackType.CdMode2Form1;
// These media type specifications do not legally allow mode 2 tracks to be present
if(dskType == MediaType.CDROM || dskType == MediaType.CDPLUS || dskType == MediaType.CDV)
dskType = MediaType.CD;
break; break;
default: default:
UpdateStatus?.Invoke($"Track {tracks[t].TrackSequence} is unknown mode {readBuffer[15]}"); UpdateStatus?.Invoke($"Track {tracks[t].TrackSequence} is unknown mode {readBuffer[15]}");