diff --git a/DiscImageChef.CommonTypes/MediaType.cs b/DiscImageChef.CommonTypes/MediaType.cs index 7ecc39e2e..cff718877 100644 --- a/DiscImageChef.CommonTypes/MediaType.cs +++ b/DiscImageChef.CommonTypes/MediaType.cs @@ -774,6 +774,7 @@ namespace DiscImageChef.CommonTypes HiFD, LS120, LS240, + FD32MB, QuickDisk, UHD144, VideoFloppy, diff --git a/DiscImageChef.CommonTypes/MediaTypeFromSCSI.cs b/DiscImageChef.CommonTypes/MediaTypeFromSCSI.cs index 96e9e60be..45eff47d5 100644 --- a/DiscImageChef.CommonTypes/MediaTypeFromSCSI.cs +++ b/DiscImageChef.CommonTypes/MediaTypeFromSCSI.cs @@ -107,13 +107,22 @@ namespace DiscImageChef.CommonTypes { if(blockSize == 512) { + if(blocks == 469504) + return MediaType.LS240; if(blocks == 246528) return MediaType.LS120; + if(blocks == 65536) + return MediaType.FD32MB; if(blocks == 2880) return MediaType.DOS_35_HD; if(blocks == 1440) return MediaType.DOS_35_DS_DD_9; } + else if(blockSize == 1024) + { + if(blocks == 1232) + return MediaType.NEC_35_HD_8; + } return MediaType.Unknown; } diff --git a/DiscImageChef.DiscImages/ZZZRawImage.cs b/DiscImageChef.DiscImages/ZZZRawImage.cs index a2afae7b8..ad6e191ad 100644 --- a/DiscImageChef.DiscImages/ZZZRawImage.cs +++ b/DiscImageChef.DiscImages/ZZZRawImage.cs @@ -633,6 +633,16 @@ namespace DiscImageChef.ImagePlugins ImageInfo.heads = 8; ImageInfo.sectorsPerTrack = 32; break; + case MediaType.LS240: + ImageInfo.cylinders = 262; + ImageInfo.heads = 32; + ImageInfo.sectorsPerTrack = 56; + break; + case MediaType.FD32MB: + ImageInfo.cylinders = 1024; + ImageInfo.heads = 2; + ImageInfo.sectorsPerTrack = 32; + break; default: ImageInfo.cylinders = (uint)((ImageInfo.sectors / 16) / 63); ImageInfo.heads = 16; @@ -1049,6 +1059,8 @@ namespace DiscImageChef.ImagePlugins return MediaType.DOS_35_ED; case 9338880: return MediaType.NEC_35_TD; + case 33554432: + return MediaType.FD32MB; case 40387584: return MediaType.PocketZip; case 126222336: @@ -1059,6 +1071,8 @@ namespace DiscImageChef.ImagePlugins return MediaType.HiFD; case 229632000: return MediaType.ECMA_201; + case 240386048: + return MediaType.LS240; case 481520640: return MediaType.ECMA_183_512; case 533403648: diff --git a/DiscImageChef.Metadata/Dimensions.cs b/DiscImageChef.Metadata/Dimensions.cs index 980a863af..fa29a5afe 100644 --- a/DiscImageChef.Metadata/Dimensions.cs +++ b/DiscImageChef.Metadata/Dimensions.cs @@ -113,6 +113,7 @@ namespace DiscImageChef.Metadata case CommonTypes.MediaType.HiFD: case CommonTypes.MediaType.UHD144: case CommonTypes.MediaType.Apricot_35: + case CommonTypes.MediaType.FD32MB: // According to ECMA-100 et al dmns.Height = 94; dmns.HeightSpecified = true; diff --git a/DiscImageChef.Metadata/MediaType.cs b/DiscImageChef.Metadata/MediaType.cs index bbfb3ff0b..30e2942ba 100644 --- a/DiscImageChef.Metadata/MediaType.cs +++ b/DiscImageChef.Metadata/MediaType.cs @@ -1448,6 +1448,10 @@ namespace DiscImageChef.Metadata DiscType = "SuperDisk"; DiscSubType = "LS-240"; break; + case CommonTypes.MediaType.FD32MB: + DiscType = "3.5\" floppy"; + DiscSubType = "FD32MB"; + break; case CommonTypes.MediaType.UHD144: DiscType = "UHD144"; DiscSubType = "UHD144";