diff --git a/DiscImageChef.CommonTypes/MediaType.cs b/DiscImageChef.CommonTypes/MediaType.cs index b48170f41..da0e1023f 100644 --- a/DiscImageChef.CommonTypes/MediaType.cs +++ b/DiscImageChef.CommonTypes/MediaType.cs @@ -331,7 +331,7 @@ namespace DiscImageChef.CommonTypes ACORN_525_SS_DD_80, /// 5,25", DS, DD, 80 tracks, 16 spt, 256 bytes/sector, MFM ACORN_525_DS_DD, - /// 3,5", DS, DD, 80 tracks, 10 spt, 512 bytes/sector, MFM + /// 3,5", DS, DD, 80 tracks, 5 spt, 1024 bytes/sector, MFM ACORN_35_DS_DD, /// 3,5", DS, HD, 80 tracks, 10 spt, 1024 bytes/sector, MFM ACORN_35_DS_HD, diff --git a/DiscImageChef.CommonTypes/MediaTypeFromSCSI.cs b/DiscImageChef.CommonTypes/MediaTypeFromSCSI.cs index 6bb0bd004..cae1cb7c2 100644 --- a/DiscImageChef.CommonTypes/MediaTypeFromSCSI.cs +++ b/DiscImageChef.CommonTypes/MediaTypeFromSCSI.cs @@ -325,8 +325,6 @@ namespace DiscImageChef.CommonTypes return MediaType.DOS_35_DS_DD_8; case 1440: return MediaType.ECMA_100; - case 1600: - return MediaType.ACORN_35_DS_DD; case 1640: return MediaType.FDFORMAT_35_DD; case 1760: @@ -374,6 +372,10 @@ namespace DiscImageChef.CommonTypes case 1024: switch(blocks) { + case 800: + return MediaType.ACORN_35_DS_DD; + case 1600: + return MediaType.ACORN_35_DS_HD; case 1220: return MediaType.IBM53FD_1024; case 1232: diff --git a/DiscImageChef.DiscImages/CopyQM.cs b/DiscImageChef.DiscImages/CopyQM.cs index 38544d70f..bab92af58 100644 --- a/DiscImageChef.DiscImages/CopyQM.cs +++ b/DiscImageChef.DiscImages/CopyQM.cs @@ -389,7 +389,7 @@ namespace DiscImageChef.ImagePlugins ImageInfo.mediaType = MediaType.DOS_35_SS_DD_9; else if(header.heads == 1 && header.imageCylinders == 80 && header.sectorsPerTrack == 8 && header.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_SS_DD_8; - else if(header.heads == 2 && header.imageCylinders == 80 && header.sectorsPerTrack == 10 && header.sectorSize == 512) + else if(header.heads == 2 && header.imageCylinders == 80 && header.sectorsPerTrack == 5 && header.sectorSize == 1024) ImageInfo.mediaType = MediaType.ACORN_35_DS_DD; else if(header.heads == 2 && header.imageCylinders == 77 && header.sectorsPerTrack == 8 && header.sectorSize == 1024) ImageInfo.mediaType = MediaType.SHARP_35; diff --git a/DiscImageChef.DiscImages/ZZZRawImage.cs b/DiscImageChef.DiscImages/ZZZRawImage.cs index 01df091cb..477fa0f77 100644 --- a/DiscImageChef.DiscImages/ZZZRawImage.cs +++ b/DiscImageChef.DiscImages/ZZZRawImage.cs @@ -130,6 +130,8 @@ namespace DiscImageChef.ImagePlugins else if((extension == ".adf" || extension == ".adl" || extension == ".ssd" || extension == ".dsd") && (imageFilter.GetDataForkLength() == 163840 || imageFilter.GetDataForkLength() == 327680 || imageFilter.GetDataForkLength() == 655360)) ImageInfo.sectorSize = 256; + else if((extension == ".adf" || extension == ".adl") && imageFilter.GetDataForkLength() == 819200) + ImageInfo.sectorSize = 1024; else { switch(imageFilter.GetDataForkLength()) @@ -680,7 +682,7 @@ namespace DiscImageChef.ImagePlugins case 819200: if(ImageInfo.sectorSize == 256) return MediaType.CBM_35_DD; - if(extension == ".adf" || extension == ".adl") + if((extension == ".adf" || extension == ".adl") && ImageInfo.sectorSize == 1024) return MediaType.ACORN_35_DS_DD; if(extension == ".st") return MediaType.ATARI_35_DS_DD;