From 0fa52d527c886ba2f8baaa3614b188a7ed0aadb3 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Fri, 15 Jan 2016 21:14:36 +0000 Subject: [PATCH] Added all known vendor density and medium type codes. --- ChangeLog | 6 + SCSI/Modes.cs | 1256 ++++++++++++++++++++++++++++++++++++++++++++++--- SCSI/Types.cs | 579 ++++++++++++++++++++++- 3 files changed, 1764 insertions(+), 77 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4e07f7603..3985c2e7b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2016-01-15 Natalia Portillo + + * SCSI/Modes.cs: + * SCSI/Types.cs: + Added all known vendor density and medium type codes. + 2016-01-15 Natalia Portillo * SCSI/Modes.cs: diff --git a/SCSI/Modes.cs b/SCSI/Modes.cs index 765f60dd4..710e38e4f 100644 --- a/SCSI/Modes.cs +++ b/SCSI/Modes.cs @@ -126,6 +126,7 @@ namespace DiscImageChef.Decoders.SCSI switch (deviceType) { + #region Direct access device mode header case PeripheralDeviceTypes.DirectAccess: { if (header.Value.MediumType != MediumTypes.Default) @@ -158,12 +159,15 @@ namespace DiscImageChef.Decoders.SCSI case MediumTypes.ECMA100: sb.AppendLine("ECMA-100 & ANSI X3.137: 90 mm Flexible Disk Cartridge using MFM Recording at 7859 ftprad on Both Sides; 5,3 Tracks per mm"); break; + // Most probably they will never appear, but magneto-opticals use these codes + /* case MediumTypes.Unspecified_SS: sb.AppendLine("Unspecified single sided flexible disk"); break; case MediumTypes.Unspecified_DS: sb.AppendLine("Unspecified double sided flexible disk"); break; + */ case MediumTypes.X3_73: sb.AppendLine("ANSI X3.73-1980: 200 mm, 6631 ftprad, 1,9 Tracks per mm, 1 side"); break; @@ -173,18 +177,36 @@ namespace DiscImageChef.Decoders.SCSI case MediumTypes.X3_82: sb.AppendLine("ANSI X3.80-1980: 130 mm, 3979 ftprad, 1,9 Tracks per mm, 1 side"); break; - case MediumTypes.Tape12: - sb.AppendLine("6,3 mm tape with 12 tracks at 394 ftpmm"); - break; - case MediumTypes.Tape24: - sb.AppendLine("6,3 mm tape with 24 tracks at 394 ftpmm"); - break; case MediumTypes.Type3Floppy: sb.AppendLine("3.5-inch, 135 tpi, 12362 bits/radian, double-sided MFM (aka 1.25Mb)"); break; case MediumTypes.HDFloppy: sb.AppendLine("3.5-inch, 135 tpi, 15916 bits/radian, double-sided MFM (aka 1.44Mb)"); break; + case MediumTypes.ReadOnly: + sb.AppendLine("a Read-only optical"); + break; + case MediumTypes.WORM: + sb.AppendLine("a Write-once Read-many optical"); + break; + case MediumTypes.Erasable: + sb.AppendLine("a Erasable optical"); + break; + case MediumTypes.RO_WORM: + sb.AppendLine("a combination of read-only and write-once optical"); + break; + // These magneto-opticals were never manufactured + /* + case MediumTypes.RO_RW: + sb.AppendLine("a combination of read-only and erasable optical"); + break; + case MediumTypes.WORM_RW: + sb.AppendLine("a combination of write-once and erasable optical"); + break; + */ + case MediumTypes.DOW: + sb.AppendLine("a direct-overwrite optical"); + break; default: sb.AppendFormat("Unknown medium type 0x{0:X2}", (byte)header.Value.MediumType).AppendLine(); break; @@ -239,6 +261,8 @@ namespace DiscImageChef.Decoders.SCSI break; } + #endregion Direct access device mode header + #region Sequential access device mode header case PeripheralDeviceTypes.SequentialAccess: { switch (header.Value.BufferedMode) @@ -265,102 +289,1165 @@ namespace DiscImageChef.Decoders.SCSI if (header.Value.WriteProtected) sb.AppendLine("\tMedium is write protected"); - if (header.Value.MediumType != MediumTypes.Default) - { - sb.Append("\tMedium is "); + string medium = ""; - switch (header.Value.MediumType) - { - case MediumTypes.Tape12: - sb.AppendLine("6,3 mm tape with 12 tracks at 394 ftpmm"); - break; - case MediumTypes.Tape24: - sb.AppendLine("6,3 mm tape with 24 tracks at 394 ftpmm"); - break; - default: - sb.AppendFormat("Unknown medium type 0x{0:X2}", (byte)header.Value.MediumType).AppendLine(); - break; - } + switch (header.Value.MediumType) + { + case MediumTypes.Default: + medium = "undefined"; + break; + case MediumTypes.Tape12: + medium = "6,3 mm tape with 12 tracks at 394 ftpmm or DC-9250"; + break; + case MediumTypes.Tape24: + medium = "6,3 mm tape with 24 tracks at 394 ftpmm or MLR1-26GBSL"; + break; + case MediumTypes.LTOWORM: + medium = "LTO Ultrium WORM or cleaning cartridge"; + break; + case MediumTypes.LTO: + medium = "LTO Ultrium"; + break; + case MediumTypes.LTO2: + medium = "LTO Ultrium-2"; + break; + case MediumTypes.DC2900SL: + medium = "DC-2900SL"; + break; + case MediumTypes.MLR1: + medium = "MLR1-26GB or DDS-3"; + break; + case MediumTypes.DC9200: + medium = "DC-9200 or DDS-4"; + break; + case MediumTypes.DAT72: + medium = "DAT-72"; + break; + case MediumTypes.LTO3: + medium = "LTO Ultrium-3"; + break; + case MediumTypes.LTO3WORM: + medium = "LTO Ultrium-3 WORM"; + break; + case MediumTypes.DDSCleaning: + medium = "DDS cleaning cartridge"; + break; + case MediumTypes.SLR32: + medium = "SLR-32"; + break; + case MediumTypes.SLRtape50: + medium = "SLRtape-50"; + break; + case MediumTypes.LTO4: + medium = "LTO Ultrium-4"; + break; + case MediumTypes.LTO4WORM: + medium = "LTO Ultrium-4 WORM"; + break; + case MediumTypes.SLRtape50SL: + medium = "SLRtape-50 SL"; + break; + case MediumTypes.SLR32SL: + medium = "SLR-32SL"; + break; + case MediumTypes.SLR5: + medium = "SLR-5"; + break; + case MediumTypes.SLR5SL: + medium = "SLR-5SL"; + break; + case MediumTypes.LTO5: + medium = "LTO Ultrium-5"; + break; + case MediumTypes.LTO5WORM: + medium = "LTO Ultrium-5 WORM"; + break; + case MediumTypes.SLRtape7: + medium = "SLRtape-7"; + break; + case MediumTypes.SLRtape7SL: + medium = "SLRtape-7 SL"; + break; + case MediumTypes.SLRtape24: + medium = "SLRtape-24"; + break; + case MediumTypes.SLRtape24SL: + medium = "SLRtape-24 SL"; + break; + case MediumTypes.LTO6: + medium = "LTO Ultrium-6"; + break; + case MediumTypes.LTO6WORM: + medium = "LTO Ultrium-6 WORM"; + break; + case MediumTypes.SLRtape140: + medium = "SLRtape-140"; + break; + case MediumTypes.SLRtape40: + medium = "SLRtape-40"; + break; + case MediumTypes.SLRtape60: + medium = "SLRtape-60 or SLRtape-75"; + break; + case MediumTypes.SLRtape100: + medium = "SLRtape-100"; + break; + case MediumTypes.SLR40_60_100: + medium = "SLR-40, SLR-60 or SLR-100"; + break; + case MediumTypes.LTO7: + medium = "LTO Ultrium-7"; + break; + case MediumTypes.LTO7WORM: + medium = "LTO Ultrium-7 WORM"; + break; + case MediumTypes.LTOCD: + medium = "LTO Ultrium"; + break; + case MediumTypes.Exatape15m: + medium = "Exatape 15m, IBM MagStar or VXA"; + break; + case MediumTypes.CT1: + medium = "CompactTape I, Exatape 28m, CompactTape II, VXA-2 or VXA-3"; + break; + case MediumTypes.Exatape54m: + medium = "Exatape 54m or DLTtape III"; + break; + case MediumTypes.Exatape80m: + medium = "Exatape 80m or DLTtape IIIxt"; + break; + case MediumTypes.Exatape106m: + medium = "Exatape 106m, DLTtape IV or Travan 5"; + break; + case MediumTypes.Exatape106mXL: + medium = "Exatape 160m XL or Super DLTtape I"; + break; + case MediumTypes.SDLT2: + medium = "Super DLTtape II"; + break; + case MediumTypes.VStapeI: + medium = "VStape I"; + break; + case MediumTypes.DLTtapeS4: + medium = "DLTtape S4"; + break; + case MediumTypes.Travan7: + medium = "Travan 7"; + break; + case MediumTypes.Exatape22m: + medium = "Exatape 22m"; + break; + case MediumTypes.Exatape40m: + medium = "Exatape 40m"; + break; + case MediumTypes.Exatape76m: + medium = "Exatape 76m"; + break; + case MediumTypes.Exatape112m: + medium = "Exatape 112m"; + break; + case MediumTypes.Exatape22mAME: + medium = "Exatape 22m AME"; + break; + case MediumTypes.Exatape170m: + medium = "Exatape 170m"; + break; + case MediumTypes.Exatape125m: + medium = "Exatape 125m"; + break; + case MediumTypes.Exatape45m: + medium = "Exatape 45m"; + break; + case MediumTypes.Exatape225m: + medium = "Exatape 225m"; + break; + case MediumTypes.Exatape150m: + medium = "Exatape 150m"; + break; + case MediumTypes.Exatape75m: + medium = "Exatape 75m"; + break; + default: + medium = String.Format("unknown medium type 0x{0:X2}", (byte)header.Value.MediumType); + break; } + sb.AppendFormat("\tMedium is {0}", medium).AppendLine(); + if (header.Value.BlockDescriptors != null) { foreach (BlockDescriptor descriptor in header.Value.BlockDescriptors) { string density = ""; - switch (descriptor.Density) + switch (header.Value.MediumType) { - case DensityType.Default: + case MediumTypes.Default: + { + switch (descriptor.Density) + { + case DensityType.Default: + break; + case DensityType.ECMA62: + density = "ECMA-62 & ANSI X3.22-1983: 12,7 mm 9-Track Magnetic Tape, 32 ftpmm, NRZI, 32 cpmm"; + break; + case DensityType.ECMA62_Phase: + density = "ECMA-62 & ANSI X3.39-1986: 12,7 mm 9-Track Magnetic Tape, 126 ftpmm, Phase Encoding, 63 cpmm"; + break; + case DensityType.ECMA62_GCR: + density = "ECMA-62 & ANSI X3.54-1986: 12,7 mm 9-Track Magnetic Tape, 356 ftpmm, NRZI, 245 cpmm GCR"; + break; + case DensityType.ECMA79: + density = "ECMA-79 & ANSI X3.116-1986: 6,30 mm Magnetic Tape Cartridge, 252 ftpmm, MFM"; + break; + case DensityType.IBM3480: + density = "Draft ECMA & ANSI X3B5/87-099: 12,7 mm 18-Track Magnetic Tape Cartridge, 1944 ftpmm, IFM, GCR (IBM 3480, 3490, 3490E)"; + break; + case DensityType.ECMA46: + density = "ECMA-46 & ANSI X3.56-1986: 6,30 mm Magnetic Tape Cartridge, Phase Encoding, 63 bpmm"; + break; + case DensityType.ECMA98: + density = "ECMA-98: 6,30 mm Magnetic Tape Cartridge, NRZI, 394 ftpmm"; + break; + case DensityType.X3_136: + density = "ANXI X3.136-1986: 6,3 mm 4 or 9-Track Magnetic Tape Cartridge, 315 bpmm, GCR (QIC-24)"; + break; + case DensityType.X3_157: + density = "ANXI X3.157-1987: 12,7 mm 9-Track Magnetic Tape, 126 bpmm, Phase Encoding"; + break; + case DensityType.X3_158: + density = "ANXI X3.158-1987: 3,81 mm 4-Track Magnetic Tape Cassette, 315 bpmm, GCR"; + break; + case DensityType.X3B5_86: + density = "ANXI X3B5/86-199: 12,7 mm 22-Track Magnetic Tape Cartridge, 262 bpmm, MFM"; + break; + case DensityType.HiTC1: + density = "HI-TC1: 12,7 mm 24-Track Magnetic Tape Cartridge, 500 bpmm, GCR"; + break; + case DensityType.HiTC2: + density = "HI-TC2: 12,7 mm 24-Track Magnetic Tape Cartridge, 999 bpmm, GCR"; + break; + case DensityType.QIC120: + density = "QIC-120: 6,3 mm 15-Track Magnetic Tape Cartridge, 394 bpmm, GCR"; + break; + case DensityType.QIC150: + density = "QIC-150: 6,3 mm 18-Track Magnetic Tape Cartridge, 394 bpmm, GCR"; + break; + case DensityType.QIC320: + density = "QIC-320: 6,3 mm 26-Track Magnetic Tape Cartridge, 630 bpmm, GCR"; + break; + case DensityType.QIC1350: + density = "QIC-1350: 6,3 mm 30-Track Magnetic Tape Cartridge, 2034 bpmm, RLL"; + break; + case DensityType.X3B5_88: + density = "ANXI X3B5/88-185A: 3,81 mm Magnetic Tape Cassette, 2400 bpmm, DDS"; + break; + case DensityType.X3_202: + density = "ANXI X3.202-1991: 8 mm Magnetic Tape Cassette, 1703 bpmm, RLL"; + break; + case DensityType.ECMA_TC17: + density = "ECMA TC17: 8 mm Magnetic Tape Cassette, 1789 bpmm, RLL"; + break; + case DensityType.X3_193: + density = "ANXI X3.193-1990: 12,7 mm 48-Track Magnetic Tape Cartridge, 394 bpmm, MFM"; + break; + case DensityType.X3B5_91: + density = "ANXI X3B5/97-174: 12,7 mm 48-Track Magnetic Tape Cartridge, 1673 bpmm, MFM"; + break; + case DensityType.QIC11: + density = "QIC-11"; + break; + case DensityType.IBM3490E: + density = "IBM 3490E"; + break; + case DensityType.LTO1: + //case DensityType.SAIT1: + density = "LTO Ultrium or Super AIT-1"; + break; + case DensityType.LTO2Old: + density = "LTO Ultrium-2"; + break; + case DensityType.LTO2: + //case DensityType.T9840: + density = "LTO Ultrium-2 or T9840"; + break; + case DensityType.T9940: + density = "T9940"; + break; + case DensityType.LTO3: + //case DensityType.T9940: + density = "LTO Ultrium-3 or T9940"; + break; + case DensityType.T9840C: + density = "T9840C"; + break; + case DensityType.LTO4: + //case DensityType.T9840D: + density = "LTO Ultrium-4 or T9840D"; + break; + case DensityType.T10000A: + density = "T10000A"; + break; + case DensityType.T10000B: + density = "T10000B"; + break; + case DensityType.T10000C: + density = "T10000C"; + break; + case DensityType.T10000D: + density = "T10000D"; + break; + case DensityType.AIT1: + density = "AIT-1"; + break; + case DensityType.AIT2: + density = "AIT-2"; + break; + case DensityType.AIT3: + density = "AIT-3"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - case DensityType.ECMA62: - density = "ECMA-62 & ANSI X3.22-1983: 12,7 mm 9-Track Magnetic Tape, 32 ftpmm, NRZI, 32 cpmm"; + case MediumTypes.LTOWORM: + { + switch (descriptor.Density) + { + case DensityType.Default: + density = "LTO Ultrium cleaning cartridge"; + break; + case DensityType.LTO3: + density = "LTO Ultrium-3 WORM"; + break; + case DensityType.LTO4: + density = "LTO Ultrium-4 WORM"; + break; + case DensityType.LTO5: + density = "LTO Ultrium-5 WORM"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } + break; + case MediumTypes.LTO: + { + switch (descriptor.Density) + { + case DensityType.LTO1: + density = "LTO Ultrium"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - case DensityType.ECMA62_Phase: - density = "ECMA-62 & ANSI X3.39-1986: 12,7 mm 9-Track Magnetic Tape, 126 ftpmm, Phase Encoding, 63 cpmm"; + case MediumTypes.LTO2: + { + switch (descriptor.Density) + { + case DensityType.LTO2: + density = "LTO Ultrium-2"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - case DensityType.ECMA62_GCR: - density = "ECMA-62 & ANSI X3.54-1986: 12,7 mm 9-Track Magnetic Tape, 356 ftpmm, NRZI, 245 cpmm GCR"; + case MediumTypes.DDS3: + { + switch (descriptor.Density) + { + case DensityType.Default: + density = "MLR1-26GB"; + break; + case DensityType.DDS3: + density = "DDS-3"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - case DensityType.ECMA79: - density = "ECMA-79 & ANSI X3.116-1986: 6,30 mm Magnetic Tape Cartridge, 252 ftpmm, MFM"; + case MediumTypes.DDS4: + { + switch (descriptor.Density) + { + case DensityType.Default: + density = "DC-9200"; + break; + case DensityType.DDS4: + density = "DDS-4"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - case DensityType.ECMADraft: - density = "Draft ECMA & ANSI X3B5/87-099: 12,7 mm 18-Track Magnetic Tape Cartridge, 1944 ftpmm, IFM, GCR"; + case MediumTypes.DAT72: + { + switch (descriptor.Density) + { + case DensityType.DAT72: + density = "DAT-72"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - case DensityType.ECMA46: - density = "ECMA-46 & ANSI X3.56-1986: 6,30 mm Magnetic Tape Cartridge, Phase Encoding, 63 bpmm"; + case MediumTypes.LTO3: + case MediumTypes.LTO3WORM: + { + switch (descriptor.Density) + { + case DensityType.LTO3: + density = "LTO Ultrium-3"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - case DensityType.ECMA98: - density = "ECMA-98: 6,30 mm Magnetic Tape Cartridge, NRZI, 394 ftpmm"; + case MediumTypes.DDSCleaning: + { + switch (descriptor.Density) + { + case DensityType.Default: + density = "DDS cleaning cartridge"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - case DensityType.X3_136: - density = "ANXI X3.136-1986: 6,3 mm 4 or 9-Track Magnetic Tape Cartridge, 315 bpmm, GCR"; + case MediumTypes.LTO4: + case MediumTypes.LTO4WORM: + { + switch (descriptor.Density) + { + case DensityType.LTO4: + density = "LTO Ultrium-4"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - case DensityType.X3_157: - density = "ANXI X3.157-1987: 12,7 mm 9-Track Magnetic Tape, 126 bpmm, Phase Encoding"; + case MediumTypes.LTO5: + case MediumTypes.LTO5WORM: + { + switch (descriptor.Density) + { + case DensityType.LTO5: + density = "LTO Ultrium-5"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - case DensityType.X3_158: - density = "ANXI X3.158-1987: 3,81 mm 4-Track Magnetic Tape Cassette, 315 bpmm, GCR"; + case MediumTypes.LTO6: + case MediumTypes.LTO6WORM: + { + switch (descriptor.Density) + { + case DensityType.LTO6: + density = "LTO Ultrium-6"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - case DensityType.X3B5_86: - density = "ANXI X3B5/86-199: 12,7 mm 22-Track Magnetic Tape Cartridge, 262 bpmm, MFM"; + case MediumTypes.LTO7: + case MediumTypes.LTO7WORM: + { + switch (descriptor.Density) + { + case DensityType.LTO7: + density = "LTO Ultrium-7"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - case DensityType.HiTC1: - density = "HI-TC1: 12,7 mm 24-Track Magnetic Tape Cartridge, 500 bpmm, GCR"; + case MediumTypes.LTOCD: + { + switch (descriptor.Density) + { + case DensityType.LTO2: + density = "LTO Ultrium-2 in CD emulation mode"; + break; + case DensityType.LTO3: + density = "LTO Ultrium-3 in CD emulation mode"; + break; + case DensityType.LTO4: + density = "LTO Ultrium-4 in CD emulation mode"; + break; + case DensityType.LTO5: + density = "LTO Ultrium-5 in CD emulation mode"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - case DensityType.HiTC2: - density = "HI-TC2: 12,7 mm 24-Track Magnetic Tape Cartridge, 999 bpmm, GCR"; + case MediumTypes.Exatape15m: + { + switch (descriptor.Density) + { + case DensityType.Ex8200: + density = "EXB-8200"; + break; + case DensityType.Ex8200c: + density = "EXB-8200 compressed"; + break; + case DensityType.Ex8500: + density = "EXB-8500"; + break; + case DensityType.Ex8500c: + density = "EXB-8500 compressed"; + break; + case DensityType.Mammoth: + density = "Mammoth"; + break; + case DensityType.IBM3590: + density = "IBM 3590"; + break; + case DensityType.IBM3590E: + density = "IBM 3590E"; + break; + case DensityType.VXA1: + density = "VXA-1"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - case DensityType.QIC120: - density = "QIC-120: 6,3 mm 15-Track Magnetic Tape Cartridge, 394 bpmm, GCR"; + case MediumTypes.Exatape28m: + { + switch (descriptor.Density) + { + case DensityType.Ex8200: + density = "EXB-8200"; + break; + case DensityType.Ex8200c: + density = "EXB-8200 compressed"; + break; + case DensityType.Ex8500: + density = "EXB-8500"; + break; + case DensityType.Ex8500c: + density = "EXB-8500 compressed"; + break; + case DensityType.Mammoth: + density = "Mammoth"; + break; + case DensityType.CT1: + density = "CompactTape I"; + break; + case DensityType.CT2: + density = "CompactTape II"; + break; + case DensityType.IBM3590: + density = "IBM 3590 extended"; + break; + case DensityType.IBM3590E: + density = "IBM 3590E extended"; + break; + case DensityType.VXA2: + density = "VXA-2"; + break; + case DensityType.VXA3: + density = "VXA-3"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - case DensityType.QIC150: - density = "QIC-150: 6,3 mm 18-Track Magnetic Tape Cartridge, 394 bpmm, GCR"; + case MediumTypes.Exatape54m: + { + switch (descriptor.Density) + { + case DensityType.Ex8200: + density = "EXB-8200"; + break; + case DensityType.Ex8200c: + density = "EXB-8200 compressed"; + break; + case DensityType.Ex8500: + density = "EXB-8500"; + break; + case DensityType.Ex8500c: + density = "EXB-8500 compressed"; + break; + case DensityType.Mammoth: + density = "Mammoth"; + break; + case DensityType.DLT3_42k: + density = "DLTtape III at 42500 bpi"; + break; + case DensityType.DLT3_56t: + density = "DLTtape III with 56 tracks"; + break; + case DensityType.DLT3_62k: + case DensityType.DLT3_62kAlt: + density = "DLTtape III at 62500 bpi"; + break; + case DensityType.DLT3c: + density = "DLTtape III compressed"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - case DensityType.QIC320: - density = "QIC-320: 6,3 mm 26-Track Magnetic Tape Cartridge, 630 bpmm, GCR"; + case MediumTypes.Exatape80m: + { + switch (descriptor.Density) + { + case DensityType.Ex8200: + density = "EXB-8200"; + break; + case DensityType.Ex8200c: + density = "EXB-8200 compressed"; + break; + case DensityType.Ex8500: + density = "EXB-8500"; + break; + case DensityType.Ex8500c: + density = "EXB-8500 compressed"; + break; + case DensityType.Mammoth: + density = "Mammoth"; + break; + case DensityType.DLT3_62k: + case DensityType.DLT3_62kAlt: + density = "DLTtape IIIxt"; + break; + case DensityType.DLT3c: + density = "DLTtape IIIxt compressed"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - case DensityType.QIC1350: - density = "QIC-1350: 6,3 mm 30-Track Magnetic Tape Cartridge, 2034 bpmm, RLL"; + case MediumTypes.Exatape106m: + { + switch (descriptor.Density) + { + case DensityType.Ex8200: + density = "EXB-8200"; + break; + case DensityType.Ex8200c: + density = "EXB-8200 compressed"; + break; + case DensityType.Ex8500: + density = "EXB-8500"; + break; + case DensityType.Ex8500c: + density = "EXB-8500 compressed"; + break; + case DensityType.Mammoth: + density = "Mammoth"; + break; + case DensityType.DLT4: + case DensityType.DLT4Alt: + density = "DLTtape IV"; + break; + case DensityType.DLT4_123k: + case DensityType.DLT4_123kAlt: + density = "DLTtape IV at 123090 bpi"; + break; + case DensityType.DLT4_98k: + density = "DLTtape IV at 98250 bpi"; + break; + case DensityType.Travan5: + density = "Travan 5"; + break; + case DensityType.DLT4c: + density = "DLTtape IV compressed"; + break; + case DensityType.DLT4_85k: + density = "DLTtape IV at 85937 bpi"; + break; + case DensityType.DLT4c_85k: + density = "DLTtape IV at 85937 bpi compressed"; + break; + case DensityType.DLT4c_123k: + density = "DLTtape IV at 123090 bpi compressed"; + break; + case DensityType.DLT4c_98k: + density = "DLTtape IV at 98250 bpi compressed"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - case DensityType.X3B5_88: - density = "ANXI X3B5/88-185A: 3,81 mm Magnetic Tape Cassette, 2400 bpmm, DDS"; + case MediumTypes.Exatape106mXL: + { + switch (descriptor.Density) + { + case DensityType.Ex8200: + density = "EXB-8200"; + break; + case DensityType.Ex8200c: + density = "EXB-8200 compressed"; + break; + case DensityType.Ex8500: + density = "EXB-8500"; + break; + case DensityType.Ex8500c: + density = "EXB-8500 compressed"; + break; + case DensityType.Mammoth: + density = "Mammoth"; + break; + case DensityType.SDLT1_133k: + case DensityType.SDLT1_133kAlt: + density = "Super DLTtape I at 133000 bpi"; + break; + case DensityType.SDLT1: + //case DensityType.SDLT1Alt: + density = "Super DLTtape I"; + break; + case DensityType.SDLT1c: + density = "Super DLTtape I compressed"; + break; + /*case DensityType.SDLT1_133kAlt: + density = "Super DLTtape I at 133000 bpi compressed"; + break;*/ + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - case DensityType.X3_202: - density = "ANXI X3.202-1991: 8 mm Magnetic Tape Cassette, 1703 bpmm, RLL"; + case MediumTypes.SDLT2: + { + switch (descriptor.Density) + { + case DensityType.SDLT2: + density = "Super DLTtape II"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - case DensityType.ECMA_TC17: - density = "ECMA TC17: 8 mm Magnetic Tape Cassette, 1789 bpmm, RLL"; + case MediumTypes.VStapeI: + { + switch (descriptor.Density) + { + case DensityType.VStape1: + case DensityType.VStape1Alt: + density = "VStape I"; + break; + case DensityType.VStape1c: + density = "VStape I compressed"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - case DensityType.X3_193: - density = "ANXI X3.193-1990: 12,7 mm 48-Track Magnetic Tape Cartridge, 394 bpmm, MFM"; + case MediumTypes.DLTtapeS4: + { + switch (descriptor.Density) + { + case DensityType.DLTS4: + density = "DLTtape S4"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - case DensityType.X3B5_91: - density = "ANXI X3B5/97-174: 12,7 mm 48-Track Magnetic Tape Cartridge, 1673 bpmm, MFM"; + case MediumTypes.Exatape22m: + { + switch (descriptor.Density) + { + case DensityType.Ex8200: + density = "EXB-8200"; + break; + case DensityType.Ex8200c: + density = "EXB-8200 compressed"; + break; + case DensityType.Ex8500: + density = "EXB-8500"; + break; + case DensityType.Ex8500c: + density = "EXB-8500 compressed"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; - default: - density = String.Format("Unknown density code 0x{0:X2}", descriptor.Density); + case MediumTypes.Exatape40m: + { + switch (descriptor.Density) + { + case DensityType.Ex8200: + density = "EXB-8200"; + break; + case DensityType.Ex8200c: + density = "EXB-8200 compressed"; + break; + case DensityType.Ex8500: + density = "EXB-8500"; + break; + case DensityType.Ex8500c: + density = "EXB-8500 compressed"; + break; + case DensityType.Mammoth: + density = "Mammoth"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } break; + case MediumTypes.Exatape76m: + { + switch (descriptor.Density) + { + case DensityType.Ex8200: + density = "EXB-8200"; + break; + case DensityType.Ex8200c: + density = "EXB-8200 compressed"; + break; + case DensityType.Ex8500: + density = "EXB-8500"; + break; + case DensityType.Ex8500c: + density = "EXB-8500 compressed"; + break; + case DensityType.Mammoth: + density = "Mammoth"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } + break; + case MediumTypes.Exatape112m: + { + switch (descriptor.Density) + { + case DensityType.Ex8200: + density = "EXB-8200"; + break; + case DensityType.Ex8200c: + density = "EXB-8200 compressed"; + break; + case DensityType.Ex8500: + density = "EXB-8500"; + break; + case DensityType.Ex8500c: + density = "EXB-8500 compressed"; + break; + case DensityType.Mammoth: + density = "Mammoth"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } + break; + case MediumTypes.Exatape22mAME: + case MediumTypes.Exatape170m: + case MediumTypes.Exatape125m: + case MediumTypes.Exatape45m: + case MediumTypes.Exatape225m: + case MediumTypes.Exatape150m: + case MediumTypes.Exatape75m: + { + switch (descriptor.Density) + { + case DensityType.Mammoth: + density = "Mammoth"; + break; + case DensityType.Mammoth2: + density = "Mammoth-2"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } + break; + case MediumTypes.DC2900SL: + { + switch (descriptor.Density) + { + case DensityType.Default: + density = "DC-2900SL"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } + break; + case MediumTypes.DC9250: + { + switch (descriptor.Density) + { + case DensityType.Default: + density = "DC-9250"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } + break; + case MediumTypes.SLR32: + { + switch (descriptor.Density) + { + case DensityType.Default: + density = "SLR-32"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } + break; + case MediumTypes.MLR1SL: + { + switch (descriptor.Density) + { + case DensityType.Default: + density = "MRL1-26GBSL"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } + break; + case MediumTypes.SLRtape50: + { + switch (descriptor.Density) + { + case DensityType.Default: + density = "SLRtape-50"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } + break; + case MediumTypes.SLRtape50SL: + { + switch (descriptor.Density) + { + case DensityType.Default: + density = "SLRtape-50 SL"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } + break; + case MediumTypes.SLR32SL: + { + switch (descriptor.Density) + { + case DensityType.Default: + density = "SLR-32 SL"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } + break; + case MediumTypes.SLR5: + { + switch (descriptor.Density) + { + case DensityType.Default: + density = "SLR-5"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } + break; + case MediumTypes.SLR5SL: + { + switch (descriptor.Density) + { + case DensityType.Default: + density = "SLR-5 SL"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } + break; + case MediumTypes.SLRtape7: + { + switch (descriptor.Density) + { + case DensityType.Default: + density = "SLRtape-7"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } + break; + case MediumTypes.SLRtape7SL: + { + switch (descriptor.Density) + { + case DensityType.Default: + density = "SLRtape-7 SL"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } + break; + case MediumTypes.SLRtape24: + { + switch (descriptor.Density) + { + case DensityType.Default: + density = "SLRtape-24"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } + break; + case MediumTypes.SLRtape24SL: + { + switch (descriptor.Density) + { + case DensityType.Default: + density = "SLRtape-24 SL"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } + break; + case MediumTypes.SLRtape140: + { + switch (descriptor.Density) + { + case DensityType.Default: + density = "SLRtape-140"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } + break; + case MediumTypes.SLRtape40: + { + switch (descriptor.Density) + { + case DensityType.Default: + density = "SLRtape-40"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } + break; + case MediumTypes.SLRtape60: + { + switch (descriptor.Density) + { + case DensityType.Default: + density = "SLRtape-60 or SLRtape-75"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } + break; + case MediumTypes.SLRtape100: + { + switch (descriptor.Density) + { + case DensityType.Default: + density = "SLRtape-100"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } + break; + case MediumTypes.SLR40_60_100: + { + switch (descriptor.Density) + { + case DensityType.Default: + density = "SLR40, SLR60 or SLR100"; + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; + } + } + break; + default: + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); + break; } if (density != "") @@ -402,6 +1489,8 @@ namespace DiscImageChef.Decoders.SCSI break; } + #endregion Sequential access device mode header + #region Printer device mode header case PeripheralDeviceTypes.PrinterDevice: { switch (header.Value.BufferedMode) @@ -418,6 +1507,8 @@ namespace DiscImageChef.Decoders.SCSI } break; } + #endregion Printer device mode header + #region Optical device mode header case PeripheralDeviceTypes.OpticalDevice: { if (header.Value.MediumType != MediumTypes.Default) @@ -444,6 +1535,9 @@ namespace DiscImageChef.Decoders.SCSI case MediumTypes.WORM_RW: sb.AppendLine("a combination of write-once and erasable optical"); break; + case MediumTypes.DOW: + sb.AppendLine("a direct-overwrite optical"); + break; default: sb.AppendFormat("an unknown medium type 0x{0:X2}", header.Value.MediumType).AppendLine(); break; @@ -494,7 +1588,7 @@ namespace DiscImageChef.Decoders.SCSI density = "ANSI X3.200: 356 mm double-sided optical disc with 56350 tracks"; break; default: - density = String.Format("Unknown density code 0x{0:X2}", descriptor.Density); + density = String.Format("unknown density code 0x{0:X2}", descriptor.Density); break; } @@ -537,6 +1631,8 @@ namespace DiscImageChef.Decoders.SCSI break; } + #endregion Optical device mode header + #region Multimedia device mode header case PeripheralDeviceTypes.MultiMediaDevice: { sb.Append("\tMedium is "); @@ -648,6 +1744,9 @@ namespace DiscImageChef.Decoders.SCSI case MediumTypes.ReadWriteBlockDevice: sb.AppendLine("Read/Write block device"); break; + case MediumTypes.LTOCD: + sb.AppendLine("LTO in CD-ROM emulation mode"); + break; default: sb.AppendFormat("Unknown medium type 0x{0:X2}", header.Value.MediumType).AppendLine(); break; @@ -680,6 +1779,18 @@ namespace DiscImageChef.Decoders.SCSI case DensityType.Audio: density = "audio information only"; break; + case DensityType.LTO2: + density = "LTO Ultrium-2"; + break; + case DensityType.LTO3: + density = "LTO Ultrium-3"; + break; + case DensityType.LTO4: + density = "LTO Ultrium-4"; + break; + case DensityType.LTO5: + density = "LTO Ultrium-5"; + break; default: density = String.Format("with unknown density code 0x{0:X2}", descriptor.Density); break; @@ -704,6 +1815,7 @@ namespace DiscImageChef.Decoders.SCSI break; } + #endregion Multimedia device mode header default: break; } @@ -5480,7 +6592,7 @@ namespace DiscImageChef.Decoders.SCSI { pg.PageResponse = new byte[(modeResponse[offset + 2] << 8) + modeResponse[offset + 3] + 4]; - if((pg.PageResponse.Length + offset) > modeResponse.Length) + if ((pg.PageResponse.Length + offset) > modeResponse.Length) return decoded; Array.Copy(modeResponse, offset, pg.PageResponse, 0, pg.PageResponse.Length); @@ -5492,7 +6604,7 @@ namespace DiscImageChef.Decoders.SCSI { pg.PageResponse = new byte[modeResponse[offset + 1] + 2]; - if((pg.PageResponse.Length + offset) > modeResponse.Length) + if ((pg.PageResponse.Length + offset) > modeResponse.Length) return decoded; Array.Copy(modeResponse, offset, pg.PageResponse, 0, pg.PageResponse.Length); diff --git a/SCSI/Types.cs b/SCSI/Types.cs index 9e3235a04..16642d1a4 100644 --- a/SCSI/Types.cs +++ b/SCSI/Types.cs @@ -300,9 +300,306 @@ namespace DiscImageChef.Decoders.SCSI /// /// Read/Write block device /// - ReadWriteBlockDevice = 0x42 + ReadWriteBlockDevice = 0x42, #endregion Medium Types defined in INF-8070 + + #region Medium Types found in vendor documents + /// + /// LTO WORM as reported by HP drives + /// + LTOWORM = 0x01, + /// + /// LTO cleaning cartridge as reported by Certance/Seagate drives + /// + LTOCleaning = 0x01, + /// + /// Direct-overwrite magneto-optical + /// + DOW = 0x07, + /// + /// LTO Ultrium + /// + LTO = 0x18, + /// + /// LTO Ultrium-2 + /// + LTO2 = 0x28, + /// + /// DC-2900SL + /// + DC2900SL = 0x31, + /// + /// MLR-1 + /// + MLR1 = 0x33, + /// + /// DDS-3 + /// + DDS3 = 0x33, + /// + /// DC-9200 + /// + DC9200 = 0x34, + /// + /// DDS-4 + /// + DDS4 = 0x34, + /// + /// DAT-72 + /// + DAT72 = 0x35, + /// + /// LTO Ultrium-3 + /// + LTO3 = 0x38, + /// + /// LTO Ultrium-3 WORM + /// + LTO3WORM = 0x3C, + /// + /// DDS cleaning cartridge + /// + DDSCleaning = 0x3F, + /// + /// DC-9250 + /// + DC9250 = 0x40, + /// + /// SLR-32 + /// + SLR32 = 0x43, + /// + /// MLR-1SL + /// + MLR1SL = 0x44, + /// + /// SLRtape-50 + /// + SLRtape50 = 0x47, + /// + /// LTO Ultrium-4 + /// + LTO4 = 0x48, + /// + /// LTO Ultrium-4 WORM + /// + LTO4WORM = 0x4C, + /// + /// SLRtape-50SL + /// + SLRtape50SL = 0x50, + /// + /// SLR-32SL + /// + SLR32SL = 0x54, + /// + /// SLR-5 + /// + SLR5 = 0x55, + /// + /// SLR-5SL + /// + SLR5SL = 0x56, + /// + /// LTO Ultrium-5 + /// + LTO5 = 0x58, + /// + /// LTO Ultrium-5 WORM + /// + LTO5WORM = 0x5C, + /// + /// SLRtape-7 + /// + SLRtape7 = 0x63, + /// + /// SLRtape-7SL + /// + SLRtape7SL = 0x64, + /// + /// SLRtape-24 + /// + SLRtape24 = 0x65, + /// + /// SLRtape-24SL + /// + SLRtape24SL = 0x66, + /// + /// LTO Ultrium-6 + /// + LTO6 = 0x68, + /// + /// LTO Ultrium-6 WORM + /// + LTO6WORM = 0x6C, + /// + /// SLRtape-140 + /// + SLRtape140 = 0x70, + /// + /// SLRtape-40 + /// + SLRtape40 = 0x73, + /// + /// SLRtape-60 + /// + SLRtape60 = 0x74, + /// + /// SLRtape-75 + /// + SLRtape75 = 0x74, + /// + /// SLRtape-100 + /// + SLRtape100 = 0x75, + /// + /// SLR-40 or SLR-60 or SLR-100 + /// + SLR40_60_100 = 0x76, + /// + /// LTO Ultrium-7 + /// + LTO7 = 0x78, + /// + /// LTO Ultrium-7 WORM + /// + LTO7WORM = 0x7C, + /// + /// HP LTO emulating a CD + /// + LTOCD = 0x80, + /// + /// Exatape 15m + /// + Exatape15m = 0x81, + /// + /// IBM MagStar + /// + MagStar = 0x81, + /// + /// VXA + /// + VXA = 0x81, + /// + /// CompactTape I + /// + CT1 = 0x82, + /// + /// Exatape 28m + /// + Exatape28m = 0x82, + /// + /// CompactTape II + /// + CT2 = 0x82, + /// + /// VXA-2 + /// + VXA2 = 0x82, + /// + /// VXA-3 + /// + VXA3 = 0x82, + /// + /// Exatape 54m + /// + Exatape54m = 0x83, + /// + /// DLTtape III + /// + DLTtapeIII = 0x83, + /// + /// Exatape 80m + /// + Exatape80m = 0x84, + /// + /// DLTtape IIIxt + /// + DLTtapeIIIxt = 0x84, + /// + /// Exatape 106m + /// + Exatape106m = 0x85, + /// + /// DLTtape IV + /// + DLTtapeIV = 0x85, + /// + /// Travan 5 + /// + Travan5 = 0x85, + /// + /// Exatape 106m XL + /// + Exatape106mXL = 0x86, + /// + /// SuperDLT I + /// + SDLT1 = 0x86, + /// + /// SuperDLT II + /// + SDLT2 = 0x87, + /// + /// VStape I + /// + VStapeI = 0x90, + /// + /// DLTtape S4 + /// + DLTtapeS4 = 0x91, + /// + /// Travan 7 + /// + Travan7 = 0x95, + /// + /// Exatape 22m + /// + Exatape22m = 0xC1, + /// + /// Exatape 40m + /// + Exatape40m = 0xC2, + /// + /// Exatape 76m + /// + Exatape76m = 0xC3, + /// + /// Exatape 112m + /// + Exatape112m = 0xC4, + /// + /// Exatape 22m AME + /// + Exatape22mAME = 0xD1, + /// + /// Exatape 170m + /// + Exatape170m = 0xD2, + /// + /// Exatape 125m + /// + Exatape125m = 0xD3, + /// + /// Exatape 45m + /// + Exatape45m = 0xD4, + /// + /// Exatape 225m + /// + Exatape225m = 0xD5, + /// + /// Exatape 150m + /// + Exatape150m = 0xD6, + /// + /// Exatape 75m + /// + Exatape75m = 0xD7, + + + #endregion Medium Types found in vendor documents } public enum DensityType : byte @@ -343,9 +640,9 @@ namespace DiscImageChef.Decoders.SCSI /// ECMA79 = 0x07, /// - /// Draft ECMA & ANSI X3B5/87-099: 12,7 mm Magnetic Tape Cartridge using IFM Recording on 18 Tracks at 1944 ftpmm, GCR + /// Draft ECMA & ANSI X3B5/87-099: 12,7 mm Magnetic Tape Cartridge using IFM Recording on 18 Tracks at 1944 ftpmm, GCR (IBM 3480, 3490, 3490E) /// - ECMADraft = 0x09, + IBM3480 = 0x09, /// /// ECMA-46 & ANSI X3.56-1986: 6,30 mm Magnetic Tape Cartridge, Phase Encoding, 63 bpmm /// @@ -359,7 +656,7 @@ namespace DiscImageChef.Decoders.SCSI #region Density Types defined in SCSI-2 for Sequential-Access devices /// - /// ANXI X3.136-1986: 6,3 mm 4 or 9-Track Magnetic Tape Cartridge, 315 bpmm, GCR + /// ANXI X3.136-1986: 6,35 mm 4 or 9-Track Magnetic Tape Cartridge, 315 bpmm, GCR (QIC-24) /// X3_136 = 0x05, /// @@ -477,9 +774,281 @@ namespace DiscImageChef.Decoders.SCSI /// /// ANSI X3.200: 356 mm double-sided optical disc with 56350 tracks /// - X3_200 = 0x09 + X3_200 = 0x09, #endregion Density Types defined in SCSI-2 for Optical devices + + #region Density Types found in vendor documents + /// + /// QIC-11 + /// + QIC11 = 0x04, + /// + /// CompactTape I + /// + CT1 = 0x0A, + /// + /// Exabyte 8200 format + /// + Ex8200 = 0x14, + /// + /// Exabyte 8500 format + /// + Ex8500 = 0x15, + /// + /// CompactTape II + /// + CT2 = 0x16, + /// + /// DLTtape III 42500 bpi + /// + DLT3_42k = 0x17, + /// + /// DLTtape III 56 track + /// + DLT3_56t = 0x18, + /// + /// DLTtape III 62500 bpi + /// + DLT3_62k = 0x19, + /// + /// DLTtape IV + /// + DLT4 = 0x1A, + /// + /// DLTtape IV 85937 bpi + /// + DLT4_85k = 0x1B, + /// + /// DDS-3 + /// + DDS3 = 0x25, + /// + /// DDS-4 + /// + DDS4 = 0x26, + /// + /// Exabyte Mammoth + /// + Mammoth = 0x27, + /// + /// IBM 3490 & 3490E + /// + IBM3490E = 0x28, + /// + /// Exabyte Mammoth-2 + /// + Mammoth2 = 0x28, + /// + /// IBM 3590 + /// + IBM3590 = 0x29, + /// + /// IBM 3590E + /// + IBM3590E = 0x2A, + /// + /// AIT-1 + /// + AIT1 = 0x30, + /// + /// AIT-2 + /// + AIT2 = 0x31, + /// + /// AIT-3 + /// + AIT3 = 0x32, + /// + /// DLTtape IV 123090 bpi + /// + DLT4_123k = 0x40, + /// + /// Ultrium-1 + /// + LTO1 = 0x40, + /// + /// Super AIT-1 + /// + SAIT1 = 0x40, + /// + /// DLTtape IV 85937 bpi + /// + DLT4_98k = 0x41, + /// + /// Ultrium-2 as reported by the Certance drive + /// + LTO2Old = 0x41, + /// + /// Ultrium-2 + /// + LTO2 = 0x42, + /// + /// T9840 + /// + T9840 = 0x42, + /// + /// T9940 + /// + T9940 = 0x43, + /// + /// Ultrium- + /// + LTO3 = 0x44, + /// + /// T9840C + /// + T9840C = 0x45, + /// + /// Travan 5 + /// + Travan5 = 0x46, + /// + /// Ultrium-4 + /// + LTO4 = 0x46, + /// + /// T9840D + /// + T9840D = 0x46, + /// + /// DAT-72 + /// + DAT72 = 0x47, + /// + /// Super DLTtape I 133000 bpi + /// + SDLT1_133k = 0x48, + /// + /// Super DLTtape I + /// + SDLT1 = 0x49, + /// + /// T10000A + /// + T10000A = 0x4A, + /// + /// Super DLTtape II + /// + SDLT2 = 0x4A, + /// + /// DLTtape S4 + /// + DLTS4 = 0x4B, + /// + /// T10000B + /// + T10000B = 0x4B, + /// + /// T10000C + /// + T10000C = 0x4C, + /// + /// T10000D + /// + T10000D = 0x4D, + /// + /// VStape I + /// + VStape1 = 0x40, + /// + /// Ultrium-5 + /// + LTO5 = 0x58, + /// + /// Ultrium-6 + /// + LTO6 = 0x5A, + /// + /// Ultrium-7 + /// + LTO7 = 0x5C, + /// + /// DLTtape III 62500 bpi secondary code + /// + DLT3_62kAlt = 0x80, + /// + /// VXA-1 + /// + VXA1 = 0x80, + /// + /// DLTtape III compressed + /// + DLT3c = 0x81, + /// + /// VXA-2 + /// + VXA2 = 0x81, + /// + /// DLTtape IV secondary code + /// + DLT4Alt = 0x82, + /// + /// VXA-3 + /// + VXA3 = 0x82, + /// + /// DLTtape IV compressed + /// + DLT4c = 0x83, + /// + /// DLTtape IV 85937 bpi secondary code + /// + DLT4_85kAlt = 0x84, + /// + /// DLTtape IV 85937 bpi compressed + /// + DLT4c_85k = 0x85, + /// + /// DLTtape IV 123090 bpi secondary code + /// + DLT4_123kAlt = 0x86, + /// + /// DLTtape IV 123090 bpi compressed + /// + DLT4c_123k = 0x87, + /// + /// DLTtape IV 98250 bpi secondary code + /// + DLT4_98kAlt = 0x88, + /// + /// DLTtape IV 98250 bpi compressed + /// + DLT4c_98k = 0x89, + /// + /// Exabyte compressed 8200 format + /// + Ex8500c = 0x8C, + /// + /// Exabyte compressed 8500 format + /// + Ex8200c = 0x90, + /// + /// Super DLTtape I secondary code + /// + SDLT1Alt = 0x90, + /// + /// Super DLTtape I compressed + /// + SDLT1c = 0x91, + /// + /// Super DLTtape I 133000 bpi secondary code + /// + SDLT1_133kAlt = 0x92, + /// + /// Super DLTtape I 133000 bpi compressed + /// + SDLT1c_133k = 0x93, + /// + /// VStape I secondary code + /// + VStape1Alt = 0x98, + /// + /// VStape I compressed + /// + VStape1c = 0x99, + + #endregion Density Types found in vendor documents } }