Add support to device report Iomega REV drives.

This commit is contained in:
2019-07-13 13:55:24 +01:00
parent 4c6b60ad23
commit 6d12f969bc
2 changed files with 77 additions and 69 deletions

View File

@@ -178,6 +178,12 @@
</e>
<e p="DiscImageChef.Compression" t="IncludeRecursive">
<e p="AppleRle.cs" t="Include" />
<e p="CUETools.Codecs" t="Include">
<e p="CRC" t="Include" />
</e>
<e p="CUETools.Codecs.FLAKE" t="Include">
<e p="Properties" t="Include" />
</e>
<e p="DiscImageChef.Compression.csproj" t="IncludeRecursive" />
<e p="TeleDiskLzh.cs" t="Include" />
<e p="bin" t="ExcludeRecursive" />
@@ -2247,72 +2253,64 @@
<e p="NEEDINFO.md" t="Include" />
<e p="README.md" t="Include" />
<e p="TODO.md" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs" t="Include">
<e p="AudioBuffer.cs" t="Include" />
<e p="AudioDecoderClass.cs" t="Include" />
<e p="AudioEncoderClass.cs" t="Include" />
<e p="AudioEncoderSettings.cs" t="Include" />
<e p="AudioPCMConfig.cs" t="Include" />
<e p="AudioPipe.cs" t="Include" />
<e p="AudioSamples.cs" t="Include" />
<e p="BitReader.cs" t="Include" />
<e p="BitWriter.cs" t="Include" />
<e p="CRC" t="Include">
<e p="CRC16.cs" t="Include" />
<e p="CRC16CCITT.cs" t="Include" />
<e p="CRC32.cs" t="Include" />
<e p="CRC8.cs" t="Include" />
</e>
<e p="CUEToolsCodecsConfig.cs" t="Include" />
<e p="CUEToolsFormat.cs" t="Include" />
<e p="CUEToolsTagger.cs" t="Include" />
<e p="CUEToolsUDC.cs" t="Include" />
<e p="CUEToolsUDCList.cs" t="Include" />
<e p="CyclicBuffer.cs" t="Include" />
<e p="CyclicBufferInputStream.cs" t="Include" />
<e p="CyclicBufferOutputStream.cs" t="Include" />
<e p="DefaultValueForMode.cs" t="Include" />
<e p="DummyWriter.cs" t="Include" />
<e p="IAudioDest.cs" t="Include" />
<e p="IAudioFilter.cs" t="Include" />
<e p="IAudioSource.cs" t="Include" />
<e p="IWavePlayer.cs" t="Include" />
<e p="LPC.cs" t="Include" />
<e p="LpcContext.cs" t="Include" />
<e p="NullStream.cs" t="Include" />
<e p="PlaybackState.cs" t="Include" />
<e p="SRDescriptionAttribute.cs" t="Include" />
<e p="SilenceGenerator.cs" t="Include" />
<e p="UserDefinedEncoderSettings.cs" t="Include" />
<e p="UserDefinedReader.cs" t="Include" />
<e p="UserDefinedWriter.cs" t="Include" />
<e p="WAVReader.cs" t="Include" />
<e p="WAVWriter.cs" t="Include" />
<e p="WAVWriterSettings.cs" t="Include" />
</e>
<e p="cuetoolsnet/CUETools.Codecs.FLAKE" t="Include">
<e p="ChannelMode.cs" t="Include" />
<e p="FlacFrame.cs" t="Include" />
<e p="FlacSubframe.cs" t="Include" />
<e p="FlacSubframeInfo.cs" t="Include" />
<e p="Flake.cs" t="Include" />
<e p="FlakeReader.cs" t="Include" />
<e p="FlakeWriter.cs" t="Include" />
<e p="MetadataType.cs" t="Include" />
<e p="OrderMethod.cs" t="Include" />
<e p="PredictionType.cs" t="Include" />
<e p="Properties" t="Include">
<e p="Resources.Designer.cs" t="Include" />
<e p="Resources.resx" t="Include" />
<e p="Resources.ru-RU.resx" t="Include" />
</e>
<e p="RiceContext.cs" t="Include" />
<e p="SeekPoint.cs" t="Include" />
<e p="StereoMethod.cs" t="Include" />
<e p="SubframeType.cs" t="Include" />
<e p="WindowFunction.cs" t="Include" />
<e p="WindowMethod.cs" t="Include" />
</e>
<e p="cuetoolsnet/CUETools.Codecs/AudioBuffer.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/AudioDecoderClass.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/AudioEncoderClass.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/AudioEncoderSettings.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/AudioPCMConfig.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/AudioPipe.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/AudioSamples.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/BitReader.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/BitWriter.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/CRC/CRC16.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/CRC/CRC16CCITT.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/CRC/CRC32.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/CRC/CRC8.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/CUEToolsCodecsConfig.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/CUEToolsFormat.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/CUEToolsTagger.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/CUEToolsUDC.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/CUEToolsUDCList.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/CyclicBuffer.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/CyclicBufferInputStream.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/CyclicBufferOutputStream.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/DefaultValueForMode.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/DummyWriter.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/IAudioDest.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/IAudioFilter.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/IAudioSource.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/IWavePlayer.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/LPC.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/LpcContext.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/NullStream.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/PlaybackState.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/SRDescriptionAttribute.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/SilenceGenerator.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/UserDefinedEncoderSettings.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/UserDefinedReader.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/UserDefinedWriter.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/WAVReader.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/WAVWriter.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs/WAVWriterSettings.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs.FLAKE/ChannelMode.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs.FLAKE/FlacFrame.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs.FLAKE/FlacSubframe.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs.FLAKE/FlacSubframeInfo.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs.FLAKE/Flake.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs.FLAKE/FlakeReader.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs.FLAKE/FlakeWriter.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs.FLAKE/MetadataType.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs.FLAKE/OrderMethod.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs.FLAKE/PredictionType.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs.FLAKE/Properties/Resources.Designer.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs.FLAKE/Properties/Resources.resx" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs.FLAKE/Properties/Resources.ru-RU.resx" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs.FLAKE/RiceContext.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs.FLAKE/SeekPoint.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs.FLAKE/StereoMethod.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs.FLAKE/SubframeType.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs.FLAKE/WindowFunction.cs" t="Include" />
<e p="cuetoolsnet/CUETools.Codecs.FLAKE/WindowMethod.cs" t="Include" />
<e p="packages" t="ExcludeRecursive" />
</e>
</component>

View File

@@ -354,6 +354,9 @@ namespace DiscImageChef.Commands
{
case PeripheralDeviceTypes.MultiMediaDevice:
{
bool iomegaRev = dev.Manufacturer.ToLowerInvariant() == "iomega" &&
dev.Model.ToLowerInvariant() == "rrd";
List<string> mediaTypes = new List<string>();
report.SCSI.MultiMediaDevice = new Mmc
@@ -361,7 +364,7 @@ namespace DiscImageChef.Commands
ModeSense2AData = cdromMode, Features = reporter.ReportMmcFeatures()
};
if(cdromMode != null)
if(cdromMode != null && !iomegaRev)
{
mediaTypes.Add("CD-ROM");
mediaTypes.Add("Audio CD");
@@ -384,7 +387,7 @@ namespace DiscImageChef.Commands
if(report.SCSI.MultiMediaDevice.ModeSense2A.ReadDVDR) mediaTypes.Add("DVD-R");
}
if(report.SCSI.MultiMediaDevice.Features != null)
if(report.SCSI.MultiMediaDevice.Features != null && !iomegaRev)
{
if(report.SCSI.MultiMediaDevice.Features.CanReadBD ||
report.SCSI.MultiMediaDevice.Features.CanReadBDR ||
@@ -475,6 +478,13 @@ namespace DiscImageChef.Commands
mediaTypes.Add("HD DVD-RAM");
}
if(iomegaRev)
{
mediaTypes.Add("REV 35Gb");
mediaTypes.Add("REV 70Gb");
mediaTypes.Add("REV 120Gb");
}
// Very old CD drives do not contain mode page 2Ah neither GET CONFIGURATION, so just try all CDs on them
// Also don't get confident, some drives didn't know CD-RW but are able to read them
if(mediaTypes.Count == 0 || mediaTypes.Contains("CD-ROM"))
@@ -501,7 +511,7 @@ namespace DiscImageChef.Commands
tryPioneer |= dev.Manufacturer.ToLowerInvariant() == "pioneer";
tryNec |= dev.Manufacturer.ToLowerInvariant() == "nec";
if(MainClass.Debug)
if(MainClass.Debug && !iomegaRev)
{
if(!tryPlextor)
{