diff --git a/MediaType.cs b/MediaType.cs index 2510db0..0e76d93 100644 --- a/MediaType.cs +++ b/MediaType.cs @@ -1029,6 +1029,8 @@ namespace Aaru.CommonTypes ISO_14517 = 802, /// 5,25", M.O., 2244958 sectors, 512 bytes/sector, ISO 14517, 2.3Gb/cart ISO_14517_512 = 803, + /// 3,5", M.O., 1041500 sectors, 512 bytes/sector, ISO 15041, 540Mb/cart + ISO_15041_512 = 804, #endregion Magneto-optical, types 800 to 819 } } \ No newline at end of file diff --git a/MediaType.csv b/MediaType.csv index 42210bd..fa0a0c8 100644 --- a/MediaType.csv +++ b/MediaType.csv @@ -526,3 +526,4 @@ Enum,Value,Summary "ECMA_322_512",801,"5,25"", M.O., ??????? sectors, 512 bytes/sector, ECMA-322, ISO 22092, 9.1Gb/cart" "ISO_14517",802,"5,25"", M.O., 1273011 sectors, 1024 bytes/sector, ISO 14517, 2.6Gb/cart" "ISO_14517_512",803,"5,25"", M.O., 2244958 sectors, 512 bytes/sector, ISO 14517, 2.3Gb/cart" +"ISO_15041_512",804,"3,5"", M.O., 1041500 sectors, 512 bytes/sector, ISO 15041, 540Mb/cart" diff --git a/MediaTypeFromDevice/FromOdc.cs b/MediaTypeFromDevice/FromOdc.cs index 757a878..f52f60e 100644 --- a/MediaTypeFromDevice/FromOdc.cs +++ b/MediaTypeFromDevice/FromOdc.cs @@ -94,6 +94,12 @@ namespace Aaru.CommonTypes mediumType, blocks, blockSize); return MediaType.ECMA_183_512; + case 1041500: + AaruConsole.DebugWriteLine("Media detection", + "SCSI medium type is {0:X2}h, media has {1} blocks of {2} bytes, setting media type to ISO 15041 conforming 3½\" magneto-optical.", + mediumType, blocks, blockSize); + + return MediaType.ISO_15041_512; case 1128772: case 1163337: AaruConsole.DebugWriteLine("Media detection", diff --git a/MediaTypeFromDevice/FromSbc.cs b/MediaTypeFromDevice/FromSbc.cs index 2e6ba70..0070656 100644 --- a/MediaTypeFromDevice/FromSbc.cs +++ b/MediaTypeFromDevice/FromSbc.cs @@ -628,6 +628,12 @@ namespace Aaru.CommonTypes mediumType, blocks, blockSize); return MediaType.ECMA_183_512; + case 1041500 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 15041 conforming 3½\" magneto-optical.", + mediumType, blocks, blockSize); + + return MediaType.ISO_15041_512; case 1128772 when mediumType == 0x01 || mediumType == 0x02: case 1163337 when mediumType == 0x01 || mediumType == 0x02: AaruConsole.DebugWriteLine("Media detection", diff --git a/Metadata/Dimensions.cs b/Metadata/Dimensions.cs index 8215c12..82d288e 100644 --- a/Metadata/Dimensions.cs +++ b/Metadata/Dimensions.cs @@ -231,6 +231,7 @@ namespace Aaru.CommonTypes.Metadata case CommonTypes.MediaType.ECMA_223_512: case CommonTypes.MediaType.GigaMo: case CommonTypes.MediaType.GigaMo2: + case CommonTypes.MediaType.ISO_15041_512: // According to ECMA-154 et al dmns.Height = 94; dmns.HeightSpecified = true; diff --git a/Metadata/MediaType.cs b/Metadata/MediaType.cs index 95c1746..21e2c62 100644 --- a/Metadata/MediaType.cs +++ b/Metadata/MediaType.cs @@ -907,6 +907,11 @@ namespace Aaru.CommonTypes.Metadata discType = "3.5\" magneto-optical"; discSubType = "ECMA-201"; + break; + case CommonTypes.MediaType.ISO_15041_512: + discType = "3.5\" magneto-optical"; + discSubType = "ISO 15041"; + break; case CommonTypes.MediaType.FlashDrive: discType = "USB flash drive";