diff --git a/Geometry.cs b/Geometry.cs index bfc8bf8..94af1cf 100644 --- a/Geometry.cs +++ b/Geometry.cs @@ -75,6 +75,7 @@ namespace Aaru.CommonTypes (74, 2, 15, 512, MediaEncoding.MFM, false, MediaType.IBM53FD_512), (74, 2, 26, 128, MediaEncoding.FM, false, MediaType.IBM43FD_128), (74, 2, 26, 256, MediaEncoding.MFM, false, MediaType.IBM53FD_256), + (77, 1, 16, 256, MediaEncoding.MFM, false, MediaType.MetaFloppy), (77, 1, 26, 128, MediaEncoding.FM, false, MediaType.RX01), (77, 1, 26, 256, MediaEncoding.MFM, false, MediaType.RX02), (77, 2, 8, 1024, MediaEncoding.MFM, false, MediaType.NEC_525_HD), diff --git a/MediaType.cs b/MediaType.cs index ed5dc59..140b52a 100644 --- a/MediaType.cs +++ b/MediaType.cs @@ -806,6 +806,8 @@ namespace Aaru.CommonTypes /// 3.5", 652 tracks, 2 sides, 512 bytes/sector, Floptical, ECMA-207, ISO 14169 Floptical = 662, HiFD = 663, QuickDisk = 664, UHD144 = 665, VideoFloppy = 666, Wafer = 667, ZXMicrodrive = 668, + /// 5.25", SS, DD, 77 tracks, 16 spt, 256 bytes/sector, MFM, 100 tpi, 300rpm + MetaFloppy = 669, #endregion Other floppy standards, types 660 to 669 #region Miscellaneous, types 670 to 689 diff --git a/MediaType.csv b/MediaType.csv index ffefc12..89a8d83 100644 --- a/MediaType.csv +++ b/MediaType.csv @@ -441,6 +441,7 @@ Enum,Value,Summary "VideoFloppy",666, "Wafer",667, "ZXMicrodrive",668, +"MetaFloppy",669,"5.25"", SS, DD, 77 tracks, 16 spt, 256 bytes/sector, MFM, 100 tpi, 300rpm" "BeeCard",670, "Borsu",671, "DataStore",672, diff --git a/MediaTypeFromDevice/FromSbc.cs b/MediaTypeFromDevice/FromSbc.cs index 4e15dde..c4ffe72 100644 --- a/MediaTypeFromDevice/FromSbc.cs +++ b/MediaTypeFromDevice/FromSbc.cs @@ -303,6 +303,12 @@ namespace Aaru.CommonTypes mediumType, blocks, blockSize); return MediaType.IBM33FD_256; + case 1232: + AaruConsole.DebugWriteLine("Media detection", + "SCSI medium type is {0:X2}h, media has {1} blocks of {2} bytes, setting media type to MetaFloppy formatted 5¼\" double density single sided floppy.", + mediumType, blocks, blockSize); + + return MediaType.MetaFloppy; case 1280 when mediumType == 0x01: AaruConsole.DebugWriteLine("Media detection", "SCSI medium type is {0:X2}h, media has {1} blocks of {2} bytes, setting media type to Acorn formatted 5¼\" double density floppy with 80 tracks.", diff --git a/Metadata/Dimensions.cs b/Metadata/Dimensions.cs index 07d6e8c..0ffda6d 100644 --- a/Metadata/Dimensions.cs +++ b/Metadata/Dimensions.cs @@ -87,6 +87,7 @@ namespace Aaru.CommonTypes.Metadata case CommonTypes.MediaType.ECMA_99_26: case CommonTypes.MediaType.FDFORMAT_525_DD: case CommonTypes.MediaType.FDFORMAT_525_HD: + case CommonTypes.MediaType.MetaFloppy: // According to ECMA-99 et al dmns.Height = 133.3; dmns.HeightSpecified = true; diff --git a/Metadata/MediaType.cs b/Metadata/MediaType.cs index 05d9bd1..0ec5785 100644 --- a/Metadata/MediaType.cs +++ b/Metadata/MediaType.cs @@ -2535,6 +2535,11 @@ namespace Aaru.CommonTypes.Metadata discType = "Optical Disc Archive"; discSubType = "ODC5500R"; + break; + case CommonTypes.MediaType.MetaFloppy: + discType = "5.25\" floppy"; + discSubType = "Micropolis MetaFloppy"; + break; default: discType = "Unknown";