Update CICMMetadata version.

This commit is contained in:
2019-04-23 01:38:33 +01:00
parent 421ce1574b
commit ffd1cd6564
77 changed files with 2263 additions and 2230 deletions

View File

@@ -553,7 +553,7 @@ namespace DiscImageChef.Core.Devices.Dumping
Descriptors = new DumpType
{
Image = outputPath,
Size = dev.UsbDescriptors.Length,
Size = (ulong)dev.UsbDescriptors.Length,
Checksums = Checksum.GetChecksums(dev.UsbDescriptors).ToArray()
}
};
@@ -571,7 +571,7 @@ namespace DiscImageChef.Core.Devices.Dumping
CIS = new DumpType
{
Image = outputPath,
Size = dev.Cis.Length,
Size = (ulong)dev.Cis.Length,
Checksums = Checksum.GetChecksums(dev.Cis).ToArray()
}
};
@@ -622,7 +622,7 @@ namespace DiscImageChef.Core.Devices.Dumping
Identify = new DumpType
{
Image = outputPath,
Size = cmdBuf.Length,
Size = (ulong)cmdBuf.Length,
Checksums = Checksum.GetChecksums(cmdBuf).ToArray()
}
};
@@ -642,7 +642,7 @@ namespace DiscImageChef.Core.Devices.Dumping
filesystems.AddRange(from partition in sidecar.BlockMedia[0].FileSystemInformation
where partition.FileSystems != null
from fileSystem in partition.FileSystems
select ((ulong)partition.StartSector, fileSystem.Type));
select (partition.StartSector, fileSystem.Type));
if(filesystems.Count > 0)
foreach(var filesystem in filesystems.Select(o => new {o.start, o.type}).Distinct())
@@ -666,13 +666,13 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.BlockMedia[0].DiskType = xmlDskTyp;
sidecar.BlockMedia[0].DiskSubType = xmlDskSubTyp;
sidecar.BlockMedia[0].Interface = "ATA";
sidecar.BlockMedia[0].LogicalBlocks = (long)blocks;
sidecar.BlockMedia[0].PhysicalBlockSize = (int)physicalsectorsize;
sidecar.BlockMedia[0].LogicalBlockSize = (int)blockSize;
sidecar.BlockMedia[0].LogicalBlocks = blocks;
sidecar.BlockMedia[0].PhysicalBlockSize = physicalsectorsize;
sidecar.BlockMedia[0].LogicalBlockSize = blockSize;
sidecar.BlockMedia[0].Manufacturer = dev.Manufacturer;
sidecar.BlockMedia[0].Model = dev.Model;
sidecar.BlockMedia[0].Serial = dev.Serial;
sidecar.BlockMedia[0].Size = (long)(blocks * blockSize);
sidecar.BlockMedia[0].Size = blocks * blockSize;
if(cylinders > 0 && heads > 0 && sectors > 0)
{
sidecar.BlockMedia[0].Cylinders = cylinders;

View File

@@ -585,7 +585,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.OpticalDisc[0].PFI = new DumpType
{
Image = outputPath,
Size = tag.Value.Length,
Size = (ulong)tag.Value.Length,
Checksums = Checksum.GetChecksums(tag.Value).ToArray()
};
break;
@@ -593,7 +593,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.OpticalDisc[0].DMI = new DumpType
{
Image = outputPath,
Size = tag.Value.Length,
Size = (ulong)tag.Value.Length,
Checksums = Checksum.GetChecksums(tag.Value).ToArray()
};
break;
@@ -602,7 +602,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.OpticalDisc[0].CMI = new DumpType
{
Image = outputPath,
Size = tag.Value.Length,
Size = (ulong)tag.Value.Length,
Checksums = Checksum.GetChecksums(tag.Value).ToArray()
};
@@ -621,7 +621,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.OpticalDisc[0].BCA = new DumpType
{
Image = outputPath,
Size = tag.Value.Length,
Size = (ulong)tag.Value.Length,
Checksums = Checksum.GetChecksums(tag.Value).ToArray()
};
break;
@@ -630,7 +630,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.OpticalDisc[0].DDS = new DumpType
{
Image = outputPath,
Size = tag.Value.Length,
Size = (ulong)tag.Value.Length,
Checksums = Checksum.GetChecksums(tag.Value).ToArray()
};
break;
@@ -639,7 +639,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.OpticalDisc[0].SAI = new DumpType
{
Image = outputPath,
Size = tag.Value.Length,
Size = (ulong)tag.Value.Length,
Checksums = Checksum.GetChecksums(tag.Value).ToArray()
};
break;
@@ -647,7 +647,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.OpticalDisc[0].PRI = new DumpType
{
Image = outputPath,
Size = tag.Value.Length,
Size = (ulong)tag.Value.Length,
Checksums = Checksum.GetChecksums(tag.Value).ToArray()
};
break;
@@ -655,7 +655,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.OpticalDisc[0].MediaID = new DumpType
{
Image = outputPath,
Size = tag.Value.Length,
Size = (ulong)tag.Value.Length,
Checksums = Checksum.GetChecksums(tag.Value).ToArray()
};
break;
@@ -663,7 +663,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.OpticalDisc[0].PFIR = new DumpType
{
Image = outputPath,
Size = tag.Value.Length,
Size = (ulong)tag.Value.Length,
Checksums = Checksum.GetChecksums(tag.Value).ToArray()
};
break;
@@ -671,7 +671,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.OpticalDisc[0].ADIP = new DumpType
{
Image = outputPath,
Size = tag.Value.Length,
Size = (ulong)tag.Value.Length,
Checksums = Checksum.GetChecksums(tag.Value).ToArray()
};
break;
@@ -679,7 +679,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.OpticalDisc[0].DCB = new DumpType
{
Image = outputPath,
Size = tag.Value.Length,
Size = (ulong)tag.Value.Length,
Checksums = Checksum.GetChecksums(tag.Value).ToArray()
};
break;
@@ -687,7 +687,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.OpticalDisc[0].DI = new DumpType
{
Image = outputPath,
Size = tag.Value.Length,
Size = (ulong)tag.Value.Length,
Checksums = Checksum.GetChecksums(tag.Value).ToArray()
};
break;
@@ -703,7 +703,7 @@ namespace DiscImageChef.Core.Devices.Dumping
SecuritySectors = new DumpType
{
Image = outputPath,
Size = tag.Value.Length,
Size = (ulong)tag.Value.Length,
Checksums = Checksum.GetChecksums(tag.Value).ToArray()
}
}
@@ -716,7 +716,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.OpticalDisc[0].Xbox.PFI = new DumpType
{
Image = outputPath,
Size = tag.Value.Length,
Size = (ulong)tag.Value.Length,
Checksums = Checksum.GetChecksums(tag.Value).ToArray()
};
break;
@@ -726,7 +726,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.OpticalDisc[0].Xbox.DMI = new DumpType
{
Image = outputPath,
Size = tag.Value.Length,
Size = (ulong)tag.Value.Length,
Checksums = Checksum.GetChecksums(tag.Value).ToArray()
};
break;
@@ -734,7 +734,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.OpticalDisc[0].TOC = new DumpType
{
Image = outputPath,
Size = tag.Value.Length,
Size = (ulong)tag.Value.Length,
Checksums = Checksum.GetChecksums(tag.Value).ToArray()
};
break;
@@ -742,7 +742,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.OpticalDisc[0].ATIP = new DumpType
{
Image = outputPath,
Size = tag.Value.Length,
Size = (ulong)tag.Value.Length,
Checksums = Checksum.GetChecksums(tag.Value).ToArray()
};
break;
@@ -750,7 +750,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.OpticalDisc[0].PMA = new DumpType
{
Image = outputPath,
Size = tag.Value.Length,
Size = (ulong)tag.Value.Length,
Checksums = Checksum.GetChecksums(tag.Value).ToArray()
};
break;
@@ -758,17 +758,28 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.OpticalDisc[0].LeadInCdText = new DumpType
{
Image = outputPath,
Size = tag.Value.Length,
Size = (ulong)tag.Value.Length,
Checksums = Checksum.GetChecksums(tag.Value).ToArray()
};
break;
case MediaTagType.CD_FirstTrackPregap:
sidecar.OpticalDisc[0].FirstTrackPregrap = new[]
{
new BorderType
{
Image = outputPath,
Size = (ulong)tag.Value.Length,
Checksums = Checksum.GetChecksums(tag.Value).ToArray()
}
};
break;
case MediaTagType.CD_LeadIn:
sidecar.OpticalDisc[0].LeadIn = new[]
{
new BorderType
{
Image = outputPath,
Size = tag.Value.Length,
Size = (ulong)tag.Value.Length,
Checksums = Checksum.GetChecksums(tag.Value).ToArray()
}
};

View File

@@ -863,7 +863,7 @@ namespace DiscImageChef.Core.Devices.Dumping
from partition in xmlTrack.FileSystemInformation
where partition.FileSystems != null
from fileSystem in partition.FileSystems
select ((ulong)partition.StartSector, fileSystem.Type));
select (partition.StartSector, fileSystem.Type));
if(filesystems.Count > 0)
foreach(var filesystem in filesystems.Select(o => new {o.start, o.type}).Distinct())
@@ -904,7 +904,7 @@ namespace DiscImageChef.Core.Devices.Dumping
Descriptors = new DumpType
{
Image = outputPath,
Size = dev.UsbDescriptors.Length,
Size = (ulong)dev.UsbDescriptors.Length,
Checksums = Checksum.GetChecksums(dev.UsbDescriptors).ToArray()
}
};
@@ -920,7 +920,7 @@ namespace DiscImageChef.Core.Devices.Dumping
Identify = new DumpType
{
Image = outputPath,
Size = cmdBuf.Length,
Size = (ulong)cmdBuf.Length,
Checksums = Checksum.GetChecksums(cmdBuf).ToArray()
}
};
@@ -935,7 +935,7 @@ namespace DiscImageChef.Core.Devices.Dumping
Inquiry = new DumpType
{
Image = outputPath,
Size = cmdBuf.Length,
Size = (ulong)cmdBuf.Length,
Checksums = Checksum.GetChecksums(cmdBuf).ToArray()
}
};
@@ -990,7 +990,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.BlockMedia[0].SCSI.ModeSense10 = new DumpType
{
Image = outputPath,
Size = cmdBuf.Length,
Size = (ulong)cmdBuf.Length,
Checksums = Checksum.GetChecksums(cmdBuf).ToArray()
};
@@ -1009,7 +1009,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.BlockMedia[0].SCSI.ModeSense = new DumpType
{
Image = outputPath,
Size = cmdBuf.Length,
Size = (ulong)cmdBuf.Length,
Checksums = Checksum.GetChecksums(cmdBuf).ToArray()
};
}
@@ -1020,7 +1020,7 @@ namespace DiscImageChef.Core.Devices.Dumping
filesystems.AddRange(from partition in sidecar.BlockMedia[0].FileSystemInformation
where partition.FileSystems != null
from fileSystem in partition.FileSystems
select ((ulong)partition.StartSector, fileSystem.Type));
select (partition.StartSector, fileSystem.Type));
if(filesystems.Count > 0)
foreach(var filesystem in filesystems.Select(o => new {o.start, o.type}).Distinct())
@@ -1040,13 +1040,13 @@ namespace DiscImageChef.Core.Devices.Dumping
else if(dev.IsUsb) sidecar.BlockMedia[0].Interface = "USB";
else if(dev.IsFireWire) sidecar.BlockMedia[0].Interface = "FireWire";
else sidecar.BlockMedia[0].Interface = "SCSI";
sidecar.BlockMedia[0].LogicalBlocks = (long)blocks;
sidecar.BlockMedia[0].PhysicalBlockSize = (int)physicalBlockSize;
sidecar.BlockMedia[0].LogicalBlockSize = (int)logicalBlockSize;
sidecar.BlockMedia[0].LogicalBlocks = blocks;
sidecar.BlockMedia[0].PhysicalBlockSize = physicalBlockSize;
sidecar.BlockMedia[0].LogicalBlockSize = logicalBlockSize;
sidecar.BlockMedia[0].Manufacturer = dev.Manufacturer;
sidecar.BlockMedia[0].Model = dev.Model;
sidecar.BlockMedia[0].Serial = dev.Serial;
sidecar.BlockMedia[0].Size = (long)(blocks * blockSize);
sidecar.BlockMedia[0].Size = blocks * blockSize;
if(dev.IsRemovable) sidecar.BlockMedia[0].DumpHardwareArray = resume.Tries.ToArray();
}

View File

@@ -231,7 +231,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.BlockMedia[0].SCSI.ModeSense10 = new DumpType
{
Image = outputPrefix + ".modesense10.bin",
Size = cmdBuf.Length,
Size = (ulong)cmdBuf.Length,
Checksums = Checksum.GetChecksums(cmdBuf).ToArray()
};
DataFile.WriteTo("SCSI Dump", sidecar.BlockMedia[0].SCSI.ModeSense10.Image, cmdBuf);
@@ -252,7 +252,7 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.BlockMedia[0].SCSI.ModeSense = new DumpType
{
Image = outputPrefix + ".modesense.bin",
Size = cmdBuf.Length,
Size = (ulong)cmdBuf.Length,
Checksums = Checksum.GetChecksums(cmdBuf).ToArray()
};
DataFile.WriteTo("SCSI Dump", sidecar.BlockMedia[0].SCSI.ModeSense.Image, cmdBuf);
@@ -379,12 +379,12 @@ namespace DiscImageChef.Core.Devices.Dumping
Image = new ImageType
{
format = "BINARY",
offset = (long)currentSize,
offset = currentSize,
offsetSpecified = true,
Value = outputPrefix + ".bin"
},
Sequence = (long)currentFile,
StartBlock = (long)currentBlock,
Sequence = currentFile,
StartBlock = currentBlock,
BlockSize = blockSize
};
Checksum fileChk = new Checksum();
@@ -393,12 +393,12 @@ namespace DiscImageChef.Core.Devices.Dumping
Image = new ImageType
{
format = "BINARY",
offset = (long)currentSize,
offset = currentSize,
offsetSpecified = true,
Value = outputPrefix + ".bin"
},
Sequence = currentPartition,
StartBlock = (long)currentBlock
StartBlock = currentBlock
};
Checksum partitionChk = new Checksum();
@@ -421,8 +421,8 @@ namespace DiscImageChef.Core.Devices.Dumping
dumpLog.WriteLine("Finished partition {0}", currentPartition);
currentTapePartition.File = files.ToArray();
currentTapePartition.Checksums = partitionChk.End().ToArray();
currentTapePartition.EndBlock = (long)(currentBlock - 1);
currentTapePartition.Size = (long)currentPartitionSize;
currentTapePartition.EndBlock = currentBlock - 1;
currentTapePartition.Size = currentPartitionSize;
partitions.Add(currentTapePartition);
currentPartition++;
@@ -435,12 +435,12 @@ namespace DiscImageChef.Core.Devices.Dumping
Image = new ImageType
{
format = "BINARY",
offset = (long)currentSize,
offset = currentSize,
offsetSpecified = true,
Value = outputPrefix + ".bin"
},
Sequence = (long)currentFile,
StartBlock = (long)currentBlock,
Sequence = currentFile,
StartBlock = currentBlock,
BlockSize = blockSize
};
currentFileSize = 0;
@@ -451,12 +451,12 @@ namespace DiscImageChef.Core.Devices.Dumping
Image = new ImageType
{
format = "BINARY",
offset = (long)currentSize,
offset = currentSize,
offsetSpecified = true,
Value = outputPrefix + ".bin"
},
Sequence = currentPartition,
StartBlock = (long)currentBlock
StartBlock = currentBlock
};
currentPartitionSize = 0;
partitionChk = new Checksum();
@@ -551,8 +551,8 @@ namespace DiscImageChef.Core.Devices.Dumping
(fxSense.Value.ASCQ == 0x01 || fxSense.Value.Filemark))
{
currentTapeFile.Checksums = fileChk.End().ToArray();
currentTapeFile.EndBlock = (long)(currentBlock - 1);
currentTapeFile.Size = (long)currentFileSize;
currentTapeFile.EndBlock = currentBlock - 1;
currentTapeFile.Size = currentFileSize;
files.Add(currentTapeFile);
currentFile++;
@@ -561,12 +561,12 @@ namespace DiscImageChef.Core.Devices.Dumping
Image = new ImageType
{
format = "BINARY",
offset = (long)currentSize,
offset = currentSize,
offsetSpecified = true,
Value = outputPrefix + ".bin"
},
Sequence = (long)currentFile,
StartBlock = (long)currentBlock,
Sequence = currentFile,
StartBlock = currentBlock,
BlockSize = blockSize
};
currentFileSize = 0;
@@ -644,8 +644,8 @@ namespace DiscImageChef.Core.Devices.Dumping
{
format = "Raw disk image (sector by sector copy)", Value = outputPrefix + ".bin"
};
sidecar.BlockMedia[0].LogicalBlocks = (long)blocks;
sidecar.BlockMedia[0].Size = (long)currentSize;
sidecar.BlockMedia[0].LogicalBlocks = blocks;
sidecar.BlockMedia[0].Size = currentSize;
sidecar.BlockMedia[0].DumpHardwareArray = new DumpHardwareType[1];
sidecar.BlockMedia[0].DumpHardwareArray[0] =
new DumpHardwareType {Extents = new ExtentType[1]};

View File

@@ -82,7 +82,7 @@ namespace DiscImageChef.Core.Devices.Dumping
byte[] ocr = null;
byte[] ecsd = null;
byte[] scr = null;
int physicalBlockSize = 0;
uint physicalBlockSize = 0;
bool byteAddressed = true;
Dictionary<MediaTagType, byte[]> mediaTags = new Dictionary<MediaTagType, byte[]>();
@@ -513,7 +513,9 @@ namespace DiscImageChef.Core.Devices.Dumping
{
cidDump = new DumpType
{
Image = outputPath, Size = cid.Length, Checksums = Checksum.GetChecksums(cid).ToArray()
Image = outputPath,
Size = (ulong)cid.Length,
Checksums = Checksum.GetChecksums(cid).ToArray()
};
ret =
@@ -536,7 +538,9 @@ namespace DiscImageChef.Core.Devices.Dumping
{
csdDump = new DumpType
{
Image = outputPath, Size = csd.Length, Checksums = Checksum.GetChecksums(csd).ToArray()
Image = outputPath,
Size = (ulong)csd.Length,
Checksums = Checksum.GetChecksums(csd).ToArray()
};
ret =
@@ -559,7 +563,9 @@ namespace DiscImageChef.Core.Devices.Dumping
{
sidecar.BlockMedia[0].MultiMediaCard.ExtendedCSD = new DumpType
{
Image = outputPath, Size = ecsd.Length, Checksums = Checksum.GetChecksums(ecsd).ToArray()
Image = outputPath,
Size = (ulong)ecsd.Length,
Checksums = Checksum.GetChecksums(ecsd).ToArray()
};
ret = outputPlugin.WriteMediaTag(ecsd, MediaTagType.MMC_ExtendedCSD);
@@ -579,7 +585,9 @@ namespace DiscImageChef.Core.Devices.Dumping
{
ocrDump = new DumpType
{
Image = outputPath, Size = ocr.Length, Checksums = Checksum.GetChecksums(ocr).ToArray()
Image = outputPath,
Size = (ulong)ocr.Length,
Checksums = Checksum.GetChecksums(ocr).ToArray()
};
ret =
@@ -602,7 +610,9 @@ namespace DiscImageChef.Core.Devices.Dumping
{
sidecar.BlockMedia[0].SecureDigital.SCR = new DumpType
{
Image = outputPath, Size = scr.Length, Checksums = Checksum.GetChecksums(scr).ToArray()
Image = outputPath,
Size = (ulong)scr.Length,
Checksums = Checksum.GetChecksums(scr).ToArray()
};
ret = outputPlugin.WriteMediaTag(scr, MediaTagType.SD_SCR);
@@ -659,13 +669,13 @@ namespace DiscImageChef.Core.Devices.Dumping
sidecar.BlockMedia[0].DiskType = xmlDskTyp;
sidecar.BlockMedia[0].DiskSubType = xmlDskSubTyp;
// TODO: Implement device firmware revision
sidecar.BlockMedia[0].LogicalBlocks = (long)blocks;
sidecar.BlockMedia[0].PhysicalBlockSize = physicalBlockSize > 0 ? physicalBlockSize : (int)blockSize;
sidecar.BlockMedia[0].LogicalBlockSize = (int)blockSize;
sidecar.BlockMedia[0].LogicalBlocks = blocks;
sidecar.BlockMedia[0].PhysicalBlockSize = physicalBlockSize > 0 ? physicalBlockSize : blockSize;
sidecar.BlockMedia[0].LogicalBlockSize = blockSize;
sidecar.BlockMedia[0].Manufacturer = dev.Manufacturer;
sidecar.BlockMedia[0].Model = dev.Model;
sidecar.BlockMedia[0].Serial = dev.Serial;
sidecar.BlockMedia[0].Size = (long)(blocks * blockSize);
sidecar.BlockMedia[0].Size = blocks * blockSize;
UpdateStatus?.Invoke("Writing metadata sidecar");

View File

@@ -964,7 +964,7 @@ namespace DiscImageChef.Core.Devices.Dumping
from partition in xmlTrack.FileSystemInformation
where partition.FileSystems != null
from fileSystem in partition.FileSystems
select ((ulong)partition.StartSector, fileSystem.Type));
select (partition.StartSector, fileSystem.Type));
if(filesystems.Count > 0)
foreach(var filesystem in filesystems.Select(o => new {o.start, o.type}).Distinct())
@@ -977,7 +977,7 @@ namespace DiscImageChef.Core.Devices.Dumping
{
type = LayersTypeType.OTP, typeSpecified = true, Sectors = new SectorsType[1]
};
sidecar.OpticalDisc[0].Layers.Sectors[0] = new SectorsType {Value = (long)layerBreak};
sidecar.OpticalDisc[0].Layers.Sectors[0] = new SectorsType {Value = layerBreak};
sidecar.OpticalDisc[0].Sessions = 1;
sidecar.OpticalDisc[0].Dimensions = Dimensions.DimensionsFromMediaType(dskType);
CommonTypes.Metadata.MediaType.MediaTypeToString(dskType, out string xmlDskTyp,