* DiscImageChef.Decoders/CD/ATIP.cs:

Make ATIP manufacturer resolver a public method.

	* DiscImageChef.Decoders/SCSI/MMC/Features.cs:
	  Added HDBurn profiles.

	* DiscImageChef.Decoders/SCSI/Modes.cs:
	  Corrected typo.

	* DiscImageChef.DiscImages/BLU.cs:
	* DiscImageChef.DiscImages/GDI.cs:
	* DiscImageChef.DiscImages/VHD.cs:
	* DiscImageChef.DiscImages/Nero.cs:
	* DiscImageChef/Commands/Compare.cs:
	* DiscImageChef.DiscImages/CopyQM.cs:
	* DiscImageChef.DiscImages/CDRWin.cs:
	* DiscImageChef.DiscImages/CDRDAO.cs:
	* DiscImageChef.DiscImages/Apple2MG.cs:
	* DiscImageChef.DiscImages/TeleDisk.cs:
	* DiscImageChef.DiscImages/ImageInfo.cs:
	* DiscImageChef.DiscImages/Alcohol120.cs:
	* DiscImageChef.DiscImages/DiskCopy42.cs:
	* DiscImageChef.DiscImages/ZZZRawImage.cs:
	  Added field for drive firmware revision.

	* DiscImageChef.DiscImages/BlindWrite4.cs:
	  Added field for drive firmware revision.
	Change subchannel informative exception.
	Change application name and version.

	* DiscImageChef.DiscImages/ImagePlugin.cs:
	  Added subchannel types for Q only.

	* DiscImageChef/Commands/CreateSidecar.cs:
	  If drive image contains information about the dumping drive,
	  use it.
	Added subchannel types for Q only.
This commit is contained in:
2016-08-18 00:05:24 +01:00
parent c4c92a8240
commit b3924779ba
24 changed files with 452 additions and 285 deletions

View File

@@ -147,6 +147,7 @@ namespace DiscImageChef.Commands
try { image1Info.driveManufacturer = input1Format.GetDriveManufacturer(); } catch { image1Info.driveManufacturer = null; }
try { image1Info.driveModel = input1Format.GetDriveModel(); } catch { image1Info.driveModel = null; }
try { image1Info.driveSerialNumber = input1Format.GetDriveSerialNumber(); } catch { image1Info.driveSerialNumber = null; }
try { image1Info.driveFirmwareRevision = input1Format.ImageInfo.driveFirmwareRevision; } catch { image1Info.driveFirmwareRevision = null; }
foreach(MediaTagType disktag in Enum.GetValues(typeof(MediaTagType)))
{
try
@@ -188,6 +189,7 @@ namespace DiscImageChef.Commands
try { image2Info.driveManufacturer = input2Format.GetDriveManufacturer(); } catch { image2Info.driveManufacturer = null; }
try { image2Info.driveModel = input2Format.GetDriveModel(); } catch { image2Info.driveModel = null; }
try { image2Info.driveSerialNumber = input2Format.GetDriveSerialNumber(); } catch { image2Info.driveSerialNumber = null; }
try { image2Info.driveFirmwareRevision = input2Format.ImageInfo.driveFirmwareRevision; } catch { image2Info.driveFirmwareRevision = null; }
foreach(MediaTagType disktag in Enum.GetValues(typeof(MediaTagType)))
{
try
@@ -226,6 +228,7 @@ namespace DiscImageChef.Commands
sb.AppendFormat("Disk sequence\t{0}\t{1}", image1Info.mediaSequence, image2Info.mediaSequence).AppendLine();
sb.AppendFormat("Last disk on sequence\t{0}\t{1}", image1Info.lastMediaSequence, image2Info.lastMediaSequence).AppendLine();
sb.AppendFormat("Drive manufacturer\t{0}\t{1}", image1Info.driveManufacturer, image2Info.driveManufacturer).AppendLine();
sb.AppendFormat("Drive firmware revision\t{0}\t{1}", image1Info.driveFirmwareRevision, image2Info.driveFirmwareRevision).AppendLine();
sb.AppendFormat("Drive model\t{0}\t{1}", image1Info.driveModel, image2Info.driveModel).AppendLine();
sb.AppendFormat("Drive serial number\t{0}\t{1}", image1Info.driveSerialNumber, image2Info.driveSerialNumber).AppendLine();
foreach(MediaTagType disktag in Enum.GetValues(typeof(MediaTagType)))
@@ -380,6 +383,12 @@ namespace DiscImageChef.Commands
if(!options.Verbose)
sb.AppendLine("Drive serial number differ");
}
if(image1Info.driveFirmwareRevision != image2Info.driveFirmwareRevision)
{
imagesDiffer = true;
if(!options.Verbose)
sb.AppendLine("Drive firmware revision differ");
}
ulong leastSectors;
if(image1Info.sectors < image2Info.sectors)