diff --git a/MediaType.cs b/MediaType.cs index aa2239e..0079d64 100644 --- a/MediaType.cs +++ b/MediaType.cs @@ -781,6 +781,12 @@ namespace Aaru.CommonTypes GigaMo = 653, /// 3,5", M.O., 1063146 sectors, 2048 bytes/sector, Cherry Book 2, GigaMo 2, ECMA-353, ISO 22533 GigaMo2 = 654, + /// 5,25", M.O., 1263472 sectors, 2048 bytes/sector, ISO 15286, 5.2Gb/cart + ISO_15286 = 655, + /// 5,25", M.O., 2319786 sectors, 1024 bytes/sector, ISO 15286, 4.8Gb/cart + ISO_15286_1024 = 656, + /// 5,25", M.O., ??????? sectors, 512 bytes/sector, ISO 15286, 4.1Gb/cart + ISO_15286_512 = 657, #endregion Magneto-optical, types 630 to 659 #region Other floppy standards, types 660 to 689 diff --git a/MediaTypeFromDevice/FromOdc.cs b/MediaTypeFromDevice/FromOdc.cs index a84227f..7ce4fec 100644 --- a/MediaTypeFromDevice/FromOdc.cs +++ b/MediaTypeFromDevice/FromOdc.cs @@ -160,6 +160,12 @@ namespace Aaru.CommonTypes mediumType, blocks, blockSize); return MediaType.ECMA_238; + case 2319786: + AaruConsole.DebugWriteLine("Media detection", + "SCSI medium type is {0:X2}h, media has {1} blocks of {2} bytes, setting media type to ISO 15286 conforming 5¼\" magneto-optical.", + mediumType, blocks, blockSize); + + return MediaType.ISO_15286_1024; 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.", @@ -212,6 +218,12 @@ namespace Aaru.CommonTypes mediumType, blocks, blockSize); return MediaType.ECMA_280; + case 1263472: + AaruConsole.DebugWriteLine("Media detection", + "SCSI medium type is {0:X2}h, media has {1} blocks of {2} bytes, setting media type to ISO 15286 conforming 5¼\" magneto-optical.", + mediumType, blocks, blockSize); + + return MediaType.ISO_15286; case 2043664: 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.", diff --git a/MediaTypeFromDevice/FromSbc.cs b/MediaTypeFromDevice/FromSbc.cs index 77634bc..e6b11d2 100644 --- a/MediaTypeFromDevice/FromSbc.cs +++ b/MediaTypeFromDevice/FromSbc.cs @@ -755,6 +755,12 @@ namespace Aaru.CommonTypes mediumType, blocks, blockSize); return MediaType.ECMA_238; + case 2319786 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 ISO 15286 conforming 5¼\" magneto-optical.", + mediumType, blocks, blockSize); + + return MediaType.ISO_15286_1024; 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.", @@ -826,6 +832,12 @@ namespace Aaru.CommonTypes mediumType, blocks, blockSize); return MediaType.ECMA_280; + case 1263472 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 ISO 15286 conforming 5¼\" magneto-optical.", + mediumType, blocks, blockSize); + + return MediaType.ISO_15286; case 2043664 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.", diff --git a/Metadata/Dimensions.cs b/Metadata/Dimensions.cs index 27bcf07..6d659e7 100644 --- a/Metadata/Dimensions.cs +++ b/Metadata/Dimensions.cs @@ -200,6 +200,9 @@ namespace Aaru.CommonTypes.Metadata case CommonTypes.MediaType.UDO: case CommonTypes.MediaType.UDO2: case CommonTypes.MediaType.UDO2_WORM: + case CommonTypes.MediaType.ISO_15286: + case CommonTypes.MediaType.ISO_15286_1024: + case CommonTypes.MediaType.ISO_15286_512: // According to ECMA-183 et al dmns.Height = 153; dmns.HeightSpecified = true; diff --git a/Metadata/MediaType.cs b/Metadata/MediaType.cs index ce58fd9..b60be8e 100644 --- a/Metadata/MediaType.cs +++ b/Metadata/MediaType.cs @@ -1858,6 +1858,13 @@ namespace Aaru.CommonTypes.Metadata discType = "5.25\" magneto-optical"; discSubType = "ECMA-322"; + break; + case CommonTypes.MediaType.ISO_15286: + case CommonTypes.MediaType.ISO_15286_1024: + case CommonTypes.MediaType.ISO_15286_512: + discType = "5.25\" magneto-optical"; + discSubType = "ISO-15286"; + break; case CommonTypes.MediaType.GigaMo: discType = "3.5\" magneto-optical";