diff --git a/MediaType.cs b/MediaType.cs
index be96ec7..3012391 100644
--- a/MediaType.cs
+++ b/MediaType.cs
@@ -552,11 +552,29 @@ namespace DiscImageChef.CommonTypes
#endregion Advanced Intelligent Tape, types 320 to 339
#region Iomega, types 340 to 359
- Bernoulli = 340, Bernoulli2 = 341, Ditto = 342,
- DittoMax = 343, Jaz = 344, Jaz2 = 345,
- PocketZip = 346, REV120 = 347, REV35 = 348,
- REV70 = 349, ZIP100 = 350, ZIP250 = 351,
- ZIP750 = 352,
+ /// Obsolete type for 8"x11" Bernoulli Box disk
+ [Obsolete]
+ Bernoulli = 340,
+ /// Obsolete type for 5⅓" Bernoulli Box II disks
+ [Obsolete]
+ Bernoulli2 = 341, Ditto = 342, DittoMax = 343, Jaz = 344,
+ Jaz2 = 345, PocketZip = 346, REV120 = 347,
+ REV35 = 348, REV70 = 349, ZIP100 = 350,
+ ZIP250 = 351, ZIP750 = 352,
+ /// 5⅓" Bernoulli Box II disk with 35Mb capacity
+ Bernoulli35 = 353,
+ /// 5⅓" Bernoulli Box II disk with 44Mb capacity
+ Bernoulli44 = 354,
+ /// 5⅓" Bernoulli Box II disk with 65Mb capacity
+ Bernoulli65 = 355,
+ /// 5⅓" Bernoulli Box II disk with 90Mb capacity
+ Bernoulli90 = 356,
+ /// 5⅓" Bernoulli Box II disk with 105Mb capacity
+ Bernoulli105 = 357,
+ /// 5⅓" Bernoulli Box II disk with 150Mb capacity
+ Bernoulli150 = 358,
+ /// 5⅓" Bernoulli Box II disk with 230Mb capacity
+ Bernoulli230 = 359,
#endregion Iomega, types 340 to 359
#region Audio or video media, types 360 to 369
@@ -928,7 +946,57 @@ namespace DiscImageChef.CommonTypes
#endregion Imation, types 730 to 739
#region VideoNow, types 740 to 749
- VideoNow = 740, VideoNowColor = 741, VideoNowXp = 742
+ VideoNow = 740, VideoNowColor = 741, VideoNowXp = 742,
#endregion
+
+ #region Iomega, types 750 to 759
+ /// 8"x11" Bernoulli Box disk with 10Mb capacity
+ Bernoulli10 = 750,
+ /// 8"x11" Bernoulli Box disk with 20Mb capacity
+ Bernoulli20 = 751,
+ /// 5⅓" Bernoulli Box II disk with 20Mb capacity
+ BernoulliBox2_20 = 752,
+ #endregion Iomega, types 750 to 759
+
+ #region Kodak, types 760 to 769
+ KodakVerbatim3 = 760, KodakVerbatim6 = 761, KodakVerbatim12 = 762,
+ #endregion Kodak, types 760 to 769
+
+ #region Sony and Panasonic Blu-ray derived, types 770 to 799
+ /// Professional Disc for video, single layer, rewritable, 23Gb
+ ProfessionalDisc = 770,
+ /// Professional Disc for video, dual layer, rewritable, 50Gb
+ ProfessionalDiscDual = 771,
+ /// Professional Disc for video, triple layer, rewritable, 100Gb
+ ProfessionalDiscTriple = 772,
+ /// Professional Disc for video, quad layer, write once, 128Gb
+ ProfessionalDiscQuad = 773,
+ /// Professional Disc for DATA, single layer, rewritable, 23Gb
+ PDD = 774,
+ /// Professional Disc for DATA, single layer, write once, 23Gb
+ PDD_WORM = 775,
+ /// Archival Disc, 1st gen., 300Gb
+ ArchivalDisc = 776,
+ /// Archival Disc, 2nd gen., 500Gb
+ ArchivalDisc2 = 777,
+ /// Archival Disc, 3rd gen., 1Tb
+ ArchivalDisc3 = 778,
+ /// Optical Disc archive, 1st gen., write once, 300Gb
+ ODC300R = 779,
+ /// Optical Disc archive, 1st gen., rewritable, 300Gb
+ ODC300RE = 780,
+ /// Optical Disc archive, 2nd gen., write once, 600Gb
+ ODC600R = 781,
+ /// Optical Disc archive, 2nd gen., rewritable, 600Gb
+ ODC600RE = 782,
+ /// Optical Disc archive, 3rd gen., rewritable, 1200Gb
+ ODC1200RE = 783,
+ /// Optical Disc archive, 3rd gen., write once, 1500Gb
+ ODC1500R = 784,
+ /// Optical Disc archive, 4th gen., write once, 3300Gb
+ ODC3300R = 785,
+ /// Optical Disc archive, 5th gen., write once, 5500Gb
+ ODC5500R = 786
+ #endregion Sony and Panasonic Blu-ray derived, types 770 to 799
}
}
\ No newline at end of file
diff --git a/MediaTypeFromDevice.cs b/MediaTypeFromDevice.cs
index 3960ca7..8c4c41f 100644
--- a/MediaTypeFromDevice.cs
+++ b/MediaTypeFromDevice.cs
@@ -91,29 +91,46 @@ namespace DiscImageChef.CommonTypes
return MediaType.Unknown;
}
- if(vendor.ToLowerInvariant().StartsWith("iomega", StringComparison.Ordinal) &&
- (model.ToLowerInvariant().StartsWith("clik", StringComparison.Ordinal) ||
- model.ToLowerInvariant().StartsWith("pocketzip", StringComparison.Ordinal)) &&
- blockSize == 512 &&
- blocks == 78882)
- return MediaType.PocketZip;
+ if(vendor.ToLowerInvariant().StartsWith("iomega"))
- if(model.ToLowerInvariant().StartsWith("zip", StringComparison.Ordinal))
{
- if(blockSize != 512)
- return MediaType.Unknown;
+ switch(blockSize)
+ {
+ case 256:
+ {
+ switch(blocks)
+ {
+ case 39168:
+ case 41004: return MediaType.Bernoulli10;
+ }
+ break;
+ }
+ case 512:
+ {
+ switch(blocks)
+ {
+ case 78882: return MediaType.PocketZip;
+ case 175856: return MediaType.Bernoulli90;
+ }
+
+ break;
+ }
+ }
+ }
+
+ if(model.ToLowerInvariant().StartsWith("zip", StringComparison.Ordinal) &&
+ blockSize == 512)
+ {
if(blocks == 196608)
return MediaType.ZIP100;
return blocks == 489532 ? MediaType.ZIP250 : MediaType.ZIP750;
}
- if(model.ToLowerInvariant().StartsWith("jaz", StringComparison.Ordinal))
+ if(model.ToLowerInvariant().StartsWith("jaz", StringComparison.Ordinal) &&
+ blockSize == 512)
{
- if(blockSize != 512)
- return MediaType.Unknown;
-
if(blocks == 2091050)
return MediaType.Jaz;
@@ -148,20 +165,16 @@ namespace DiscImageChef.CommonTypes
return MediaType.Unknown;
}
- if(model.ToLowerInvariant().StartsWith("rdx", StringComparison.Ordinal))
- {
- if(blockSize != 512)
- return MediaType.Unknown;
-
+ if(model.ToLowerInvariant().StartsWith("rdx", StringComparison.Ordinal) &&
+ blockSize == 512)
return blocks == 625134256 ? MediaType.RDX320 : MediaType.RDX;
- }
if(vendor.ToLowerInvariant().StartsWith("cws orb"))
{
switch(blocks)
{
case 4307184 when blockSize == 512: return MediaType.Orb;
- default: return MediaType.Unknown;
+ default: return MediaType.Unknown;
}
}
diff --git a/Metadata/Dimensions.cs b/Metadata/Dimensions.cs
index e6efa95..c4e918f 100644
--- a/Metadata/Dimensions.cs
+++ b/Metadata/Dimensions.cs
@@ -684,12 +684,21 @@ namespace DiscImageChef.CommonTypes.Metadata
return dmns;
case CommonTypes.MediaType.EZ135:
case CommonTypes.MediaType.EZ230:
+ case CommonTypes.MediaType.SQ327:
dmns.Height = 97;
dmns.HeightSpecified = true;
dmns.Width = 98;
dmns.WidthSpecified = true;
dmns.Thickness = 9.5;
+ return dmns;
+ case CommonTypes.MediaType.SQ800:
+ dmns.Height = 137;
+ dmns.HeightSpecified = true;
+ dmns.Width = 137;
+ dmns.WidthSpecified = true;
+ dmns.Thickness = 12;
+
return dmns;
case CommonTypes.MediaType.ZIP100:
case CommonTypes.MediaType.ZIP250:
@@ -726,6 +735,19 @@ namespace DiscImageChef.CommonTypes.Metadata
dmns.WidthSpecified = true;
dmns.Thickness = 9.7;
+ return dmns;
+ case CommonTypes.MediaType.ProfessionalDisc:
+ case CommonTypes.MediaType.ProfessionalDiscDual:
+ case CommonTypes.MediaType.ProfessionalDiscTriple:
+ case CommonTypes.MediaType.ProfessionalDiscQuad:
+ case CommonTypes.MediaType.PDD:
+ case CommonTypes.MediaType.PDD_WORM:
+ dmns.Height = 130;
+ dmns.HeightSpecified = true;
+ dmns.Width = 128.5;
+ dmns.WidthSpecified = true;
+ dmns.Thickness = 9;
+
return dmns;
case CommonTypes.MediaType.SLR1:
case CommonTypes.MediaType.SLR2:
@@ -838,14 +860,6 @@ namespace DiscImageChef.CommonTypes.Metadata
dmns.WidthSpecified = true;
dmns.Thickness = 16.51;
- return dmns;
- case CommonTypes.MediaType.Bernoulli2:
- dmns.Height = 136;
- dmns.HeightSpecified = true;
- dmns.Width = 140;
- dmns.WidthSpecified = true;
- dmns.Thickness = 9;
-
return dmns;
case CommonTypes.MediaType.MLR1:
case CommonTypes.MediaType.MLR3:
@@ -871,11 +885,29 @@ namespace DiscImageChef.CommonTypes.Metadata
return dmns;
case CommonTypes.MediaType.Bernoulli:
- dmns.Height = 275;
+ case CommonTypes.MediaType.Bernoulli10:
+ case CommonTypes.MediaType.Bernoulli20:
+ dmns.Height = 280;
dmns.HeightSpecified = true;
- dmns.Width = 210;
+ dmns.Width = 209;
dmns.WidthSpecified = true;
- dmns.Thickness = 0;
+ dmns.Thickness = 18;
+
+ return dmns;
+ case CommonTypes.MediaType.Bernoulli2:
+ case CommonTypes.MediaType.BernoulliBox2_20:
+ case CommonTypes.MediaType.Bernoulli35:
+ case CommonTypes.MediaType.Bernoulli44:
+ case CommonTypes.MediaType.Bernoulli65:
+ case CommonTypes.MediaType.Bernoulli90:
+ case CommonTypes.MediaType.Bernoulli105:
+ case CommonTypes.MediaType.Bernoulli150:
+ case CommonTypes.MediaType.Bernoulli230:
+ dmns.Height = 138;
+ dmns.HeightSpecified = true;
+ dmns.Width = 136;
+ dmns.WidthSpecified = true;
+ dmns.Thickness = 9;
return dmns;
case CommonTypes.MediaType.DTF:
diff --git a/Metadata/MediaType.cs b/Metadata/MediaType.cs
index 76e9137..d326bba 100644
--- a/Metadata/MediaType.cs
+++ b/Metadata/MediaType.cs
@@ -1113,13 +1113,55 @@ namespace DiscImageChef.CommonTypes.Metadata
break;
case CommonTypes.MediaType.Bernoulli:
- discType = "Iomega Bernoulli";
- discSubType = "Iomega Bernoulli";
+ case CommonTypes.MediaType.Bernoulli10:
+ discType = "Iomega Bernoulli Box";
+ discSubType = "Iomega Bernoulli Box 10Mb";
break;
+ case CommonTypes.MediaType.Bernoulli20:
+ discType = "Iomega Bernoulli Box";
+ discSubType = "Iomega Bernoulli Box 20Mb";
+
+ break;
+ case CommonTypes.MediaType.BernoulliBox2_20:
case CommonTypes.MediaType.Bernoulli2:
- discType = "Iomega Bernoulli";
- discSubType = "Iomega Bernoulli 2";
+ discType = "Iomega Bernoulli Box II";
+ discSubType = "Iomega Bernoulli Box II 20Mb";
+
+ break;
+ case CommonTypes.MediaType.Bernoulli35:
+ discType = "Iomega Bernoulli Box II";
+ discSubType = "Iomega Bernoulli Box II 35Mb";
+
+ break;
+ case CommonTypes.MediaType.Bernoulli44:
+ discType = "Iomega Bernoulli Box II";
+ discSubType = "Iomega Bernoulli Box II 44Mb";
+
+ break;
+ case CommonTypes.MediaType.Bernoulli65:
+ discType = "Iomega Bernoulli Box II";
+ discSubType = "Iomega Bernoulli Box II 65Mb";
+
+ break;
+ case CommonTypes.MediaType.Bernoulli90:
+ discType = "Iomega Bernoulli Box II";
+ discSubType = "Iomega Bernoulli Box II 90Mb";
+
+ break;
+ case CommonTypes.MediaType.Bernoulli105:
+ discType = "Iomega Bernoulli Box II";
+ discSubType = "Iomega Bernoulli Box II 105Mb";
+
+ break;
+ case CommonTypes.MediaType.Bernoulli150:
+ discType = "Iomega Bernoulli Box II";
+ discSubType = "Iomega Bernoulli Box II 150Mb";
+
+ break;
+ case CommonTypes.MediaType.Bernoulli230:
+ discType = "Iomega Bernoulli Box II";
+ discSubType = "Iomega Bernoulli Box II 230Mb";
break;
case CommonTypes.MediaType.Ditto:
@@ -2342,6 +2384,106 @@ namespace DiscImageChef.CommonTypes.Metadata
discType = "VideoNow";
discSubType = "VideoNow XP";
+ break;
+ case CommonTypes.MediaType.KodakVerbatim3:
+ discType = "Kodak Verbatim";
+ discSubType = "Kodak Verbatim (3 Mb)";
+
+ break;
+ case CommonTypes.MediaType.KodakVerbatim6:
+ discType = "Kodak Verbatim";
+ discSubType = "Kodak Verbatim (6 Mb)";
+
+ break;
+ case CommonTypes.MediaType.KodakVerbatim12:
+ discType = "Kodak Verbatim";
+ discSubType = "Kodak Verbatim (12 Mb)";
+
+ break;
+ case CommonTypes.MediaType.ProfessionalDisc:
+ discType = "Sony Professional Disc";
+ discSubType = "Sony Professional Disc (single layer)";
+
+ break;
+ case CommonTypes.MediaType.ProfessionalDiscDual:
+ discType = "Sony Professional Disc";
+ discSubType = "Sony Professional Disc (double layer)";
+
+ break;
+ case CommonTypes.MediaType.ProfessionalDiscTriple:
+ discType = "Sony Professional Disc";
+ discSubType = "Sony Professional Disc (triple layer)";
+
+ break;
+ case CommonTypes.MediaType.ProfessionalDiscQuad:
+ discType = "Sony Professional Disc";
+ discSubType = "Sony Professional Disc (quad layer)";
+
+ break;
+ case CommonTypes.MediaType.PDD:
+ discType = "Sony Professional Disc for DATA";
+ discSubType = "Sony Professional Disc for DATA";
+
+ break;
+ case CommonTypes.MediaType.PDD_WORM:
+ discType = "Sony Professional Disc for DATA";
+ discSubType = "Sony Professional Disc for DATA (write-once)";
+
+ break;
+ case CommonTypes.MediaType.ArchivalDisc:
+ discType = "Archival Disc";
+ discSubType = "Archival Disc";
+
+ break;
+ case CommonTypes.MediaType.ArchivalDisc2:
+ discType = "Archival Disc";
+ discSubType = "Archival Disc (2nd generation)";
+
+ break;
+ case CommonTypes.MediaType.ArchivalDisc3:
+ discType = "Archival Disc";
+ discSubType = "Archival Disc (3rd generation)";
+
+ break;
+ case CommonTypes.MediaType.ODC300R:
+ discType = "Optical Disc Archive";
+ discSubType = "ODC300R";
+
+ break;
+ case CommonTypes.MediaType.ODC300RE:
+ discType = "Optical Disc Archive";
+ discSubType = "ODC300RE";
+
+ break;
+ case CommonTypes.MediaType.ODC600R:
+ discType = "Optical Disc Archive";
+ discSubType = "ODC600R";
+
+ break;
+ case CommonTypes.MediaType.ODC600RE:
+ discType = "Optical Disc Archive";
+ discSubType = "ODC600RE";
+
+ break;
+ case CommonTypes.MediaType.ODC1200RE:
+ discType = "Optical Disc Archive";
+ discSubType = "ODC1200RE";
+
+ break;
+ case CommonTypes.MediaType.ODC1500R:
+ discType = "Optical Disc Archive";
+ discSubType = "ODC1500R";
+
+ break;
+ case CommonTypes.MediaType.ODC3300R:
+ discType = "Optical Disc Archive";
+ discSubType = "ODC3300R";
+
+ break;
+ case CommonTypes.MediaType.ODC5500R:
+ discType = "Optical Disc Archive";
+ discSubType = "ODC5500R";
+
break;
default:
discType = "Unknown";