Add detection of ECMA-322 / ISO 22092 1024bps magneto-optical.

This commit is contained in:
2020-10-18 04:32:47 +01:00
parent e4074cae06
commit c5ac4c1d77
5 changed files with 27 additions and 4 deletions

View File

@@ -773,9 +773,9 @@ namespace Aaru.CommonTypes
ECMA_280 = 649,
/// <summary>300mm, M.O., 7355716 sectors, 2048 bytes/sector, ECMA-317, ISO 20162</summary>
ECMA_317 = 650,
/// <summary>5,25", M.O., 1095840 sectors, 4096 bytes/sector, ECMA-322, ISO 22092</summary>
/// <summary>5,25", M.O., 1095840 sectors, 4096 bytes/sector, ECMA-322, ISO 22092, 9.1Gb/cart</summary>
ECMA_322 = 651,
/// <summary>5,25", M.O., 2043664 sectors, 2048 bytes/sector, ECMA-322, ISO 22092</summary>
/// <summary>5,25", M.O., 2043664 sectors, 2048 bytes/sector, ECMA-322, ISO 22092, 8.6Gb/cart</summary>
ECMA_322_2k = 652,
/// <summary>3,5", M.O., 605846 sectors, 2048 bytes/sector, Cherry Book, GigaMo, ECMA-351, ISO 17346</summary>
GigaMo = 653,
@@ -1011,7 +1011,14 @@ namespace Aaru.CommonTypes
/// <summary>Optical Disc archive, 4th gen., write once, 3300Gb</summary>
ODC3300R = 785,
/// <summary>Optical Disc archive, 5th gen., write once, 5500Gb</summary>
ODC5500R = 786
ODC5500R = 786,
#endregion Sony and Panasonic Blu-ray derived, types 770 to 799
#region Magneto-optical, types 800 to 819
/// <summary>5,25", M.O., 4383356 sectors, 1024 bytes/sector, ECMA-322, ISO 22092, 9.1Gb/cart</summary>
ECMA_322_1k = 800,
/// <summary>5,25", M.O., ??????? sectors, 512 bytes/sector, ECMA-322, ISO 22092, 9.1Gb/cart</summary>
ECMA_322_512 = 801,
#endregion Magneto-optical, types 800 to 819
}
}

View File

@@ -172,6 +172,12 @@ namespace Aaru.CommonTypes
mediumType, blocks, blockSize);
return MediaType.ISO_15286_1024;
case 4383356:
AaruConsole.DebugWriteLine("Media detection",
"SCSI medium type is {0:X2}h, media has {1} blocks of {2} bytes, setting media type to ECMA-322 / ISO 22092 conforming 5¼\" magneto-optical.",
mediumType, blocks, blockSize);
return MediaType.ECMA_322_1k;
case 14476734:
AaruConsole.DebugWriteLine("Media detection",
"SCSI medium type is {0:X2}h, media has {1} blocks of {2} bytes, setting media type to ECMA-260 / ISO 15898 conforming 356mm magneto-optical.",

View File

@@ -767,6 +767,12 @@ namespace Aaru.CommonTypes
mediumType, blocks, blockSize);
return MediaType.ISO_15286_1024;
case 4383356 when mediumType == 0x01 || mediumType == 0x02:
AaruConsole.DebugWriteLine("Media detection",
"SCSI medium type is {0:X2}h, media has {1} blocks of {2} bytes, setting media type to ECMA-322 / ISO 22092 conforming 5¼\" magneto-optical.",
mediumType, blocks, blockSize);
return MediaType.ECMA_322_1k;
case 14476734 when mediumType == 0x01 || mediumType == 0x02:
AaruConsole.DebugWriteLine("Media detection",
"SCSI medium type is {0:X2}h, media has {1} blocks of {2} bytes, setting media type to ECMA-260 / ISO 15898 conforming 356mm magneto-optical.",

View File

@@ -205,6 +205,8 @@ namespace Aaru.CommonTypes.Metadata
case CommonTypes.MediaType.ISO_15286_512:
case CommonTypes.MediaType.ISO_10089:
case CommonTypes.MediaType.ISO_10089_512:
case CommonTypes.MediaType.ECMA_322_1k:
case CommonTypes.MediaType.ECMA_322_512:
// According to ECMA-183 et al
dmns.Height = 153;
dmns.HeightSpecified = true;

View File

@@ -1860,9 +1860,11 @@ namespace Aaru.CommonTypes.Metadata
break;
case CommonTypes.MediaType.ECMA_322:
case CommonTypes.MediaType.ECMA_322_512:
case CommonTypes.MediaType.ECMA_322_1k:
case CommonTypes.MediaType.ECMA_322_2k:
discType = "5.25\" magneto-optical";
discSubType = "ECMA-322";
discSubType = "ECMA-322 / ISO 22092";
break;
case CommonTypes.MediaType.ISO_15286: