Added ATA/ATAPI IDENTIFY DEVICE disk tags.

This commit is contained in:
2015-10-19 00:32:48 +01:00
parent 4f407e3d15
commit e9e55162d9
6 changed files with 48 additions and 3 deletions

View File

@@ -1862,8 +1862,6 @@ namespace DiscImageChef.Decoders
return null; return null;
} }
//IdentifyDevice ATAID = new IdentifyDevice();
IntPtr ptr = Marshal.AllocHGlobal(512); IntPtr ptr = Marshal.AllocHGlobal(512);
Marshal.Copy(IdentifyDeviceResponse, 0, ptr, 512); Marshal.Copy(IdentifyDeviceResponse, 0, ptr, 512);
IdentifyDevice ATAID = (IdentifyDevice)Marshal.PtrToStructure(ptr, typeof(IdentifyDevice)); IdentifyDevice ATAID = (IdentifyDevice)Marshal.PtrToStructure(ptr, typeof(IdentifyDevice));

View File

@@ -1,3 +1,8 @@
2015-10-19 Natalia Portillo <claunia@claunia.com>
* ATA.cs:
Added ATA/ATAPI IDENTIFY DEVICE disk tags.
2015-10-18 Natalia Portillo <claunia@claunia.com> 2015-10-18 Natalia Portillo <claunia@claunia.com>
* BD.cs: * BD.cs:

View File

@@ -1,3 +1,8 @@
2015-10-19 Natalia Portillo <claunia@claunia.com>
* ImagePlugin.cs:
Added ATA/ATAPI IDENTIFY DEVICE disk tags.
2015-10-18 Natalia Portillo <claunia@claunia.com> 2015-10-18 Natalia Portillo <claunia@claunia.com>
* VHD.cs: * VHD.cs:

View File

@@ -952,7 +952,11 @@ namespace DiscImageChef.ImagePlugins
/// <summary>BD-R Pseudo-overwrite information</summary> /// <summary>BD-R Pseudo-overwrite information</summary>
MMC_POWResourcesInformation, MMC_POWResourcesInformation,
/// <summary>SCSI INQUIRY response</summary> /// <summary>SCSI INQUIRY response</summary>
SCSI_INQUIRY SCSI_INQUIRY,
/// <summary>ATA IDENTIFY DEVICE response</summary>
ATA_IDENTIFY,
/// <summary>ATA IDENTIFY PACKET DEVICE response</summary>
ATAPI_IDENTIFY
}; };
/// <summary> /// <summary>

View File

@@ -1,3 +1,8 @@
2015-10-19 Natalia Portillo <claunia@claunia.com>
* Commands/Decode.cs:
Added ATA/ATAPI IDENTIFY DEVICE disk tags.
2015-10-18 Natalia Portillo <claunia@claunia.com> 2015-10-18 Natalia Portillo <claunia@claunia.com>
* Main.cs: * Main.cs:

View File

@@ -87,6 +87,34 @@ namespace DiscImageChef.Commands
} }
break; break;
} }
case DiskTagType.ATA_IDENTIFY:
{
byte[] identify = inputFormat.ReadDiskTag(DiskTagType.ATA_IDENTIFY);
if (identify == null)
DicConsole.WriteLine("Error reading ATA IDENTIFY DEVICE response from disc image");
else
{
DicConsole.WriteLine("ATA IDENTIFY DEVICE command response:");
DicConsole.WriteLine("================================================================================");
DicConsole.WriteLine(Decoders.ATA.PrettifyIdentifyDevice(identify));
DicConsole.WriteLine("================================================================================");
}
break;
}
case DiskTagType.ATAPI_IDENTIFY:
{
byte[] identify = inputFormat.ReadDiskTag(DiskTagType.ATAPI_IDENTIFY);
if (identify == null)
DicConsole.WriteLine("Error reading ATA IDENTIFY PACKET DEVICE response from disc image");
else
{
DicConsole.WriteLine("ATA IDENTIFY PACKET DEVICE command response:");
DicConsole.WriteLine("================================================================================");
DicConsole.WriteLine(Decoders.ATA.PrettifyIdentifyDevice(identify));
DicConsole.WriteLine("================================================================================");
}
break;
}
case DiskTagType.CD_ATIP: case DiskTagType.CD_ATIP:
{ {
byte[] atip = inputFormat.ReadDiskTag(DiskTagType.CD_ATIP); byte[] atip = inputFormat.ReadDiskTag(DiskTagType.CD_ATIP);