From 39e9164c1c83694a5d40aa6e33313b03ca34e929 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Fri, 22 Sep 2017 23:32:11 +0100 Subject: [PATCH] Corrected Apricot disk size. --- DiscImageChef.CommonTypes/MediaType.cs | 2 +- DiscImageChef.CommonTypes/MediaTypeFromSCSI.cs | 2 +- DiscImageChef.DiscImages/Anex86.cs | 14 ++++++++++++++ DiscImageChef.DiscImages/Apridisk.cs | 2 +- DiscImageChef.DiscImages/CopyQM.cs | 2 +- DiscImageChef.DiscImages/DriDiskCopy.cs | 2 +- DiscImageChef.DiscImages/IMD.cs | 4 ++-- DiscImageChef.DiscImages/SaveDskF.cs | 4 ++-- DiscImageChef.DiscImages/TeleDisk.cs | 2 +- DiscImageChef.DiscImages/ZZZRawImage.cs | 6 +++--- DiscImageChef.Metadata/MediaType.cs | 2 +- 11 files changed, 28 insertions(+), 14 deletions(-) diff --git a/DiscImageChef.CommonTypes/MediaType.cs b/DiscImageChef.CommonTypes/MediaType.cs index 8bb2a2df..7ecc39e2 100644 --- a/DiscImageChef.CommonTypes/MediaType.cs +++ b/DiscImageChef.CommonTypes/MediaType.cs @@ -449,7 +449,7 @@ namespace DiscImageChef.CommonTypes #endregion FDFORMAT, non-standard floppy formats #region Apricot ACT standard floppy formats - /// 3.5", DS, DD, 77 tracks, 8 spt, 512 bytes/sector, MFM + /// 3.5", DS, DD, 70 tracks, 9 spt, 512 bytes/sector, MFM Apricot_35, #endregion Apricot ACT standard floppy formats diff --git a/DiscImageChef.CommonTypes/MediaTypeFromSCSI.cs b/DiscImageChef.CommonTypes/MediaTypeFromSCSI.cs index 92f87871..96e9e60b 100644 --- a/DiscImageChef.CommonTypes/MediaTypeFromSCSI.cs +++ b/DiscImageChef.CommonTypes/MediaTypeFromSCSI.cs @@ -189,7 +189,7 @@ namespace DiscImageChef.CommonTypes return MediaType.DOS_35_SS_DD_9; case 610: return MediaType.IBM33FD_512; - case 616: + case 630: return MediaType.Apricot_35; case 640: return MediaType.DOS_35_SS_DD_8; diff --git a/DiscImageChef.DiscImages/Anex86.cs b/DiscImageChef.DiscImages/Anex86.cs index afb3ade0..8723a7ed 100644 --- a/DiscImageChef.DiscImages/Anex86.cs +++ b/DiscImageChef.DiscImages/Anex86.cs @@ -163,6 +163,20 @@ namespace DiscImageChef.ImagePlugins break; } break; + case 70: + switch(fdihdr.bps) + { + case 512: + switch(fdihdr.spt) + { + case 9: + if(fdihdr.heads == 1) + ImageInfo.mediaType = MediaType.Apricot_35; + break; + } + break; + } + break; case 77: switch(fdihdr.bps) { diff --git a/DiscImageChef.DiscImages/Apridisk.cs b/DiscImageChef.DiscImages/Apridisk.cs index 88c0f5c0..a232175e 100644 --- a/DiscImageChef.DiscImages/Apridisk.cs +++ b/DiscImageChef.DiscImages/Apridisk.cs @@ -289,7 +289,7 @@ namespace DiscImageChef.ImagePlugins DicConsole.DebugWriteLine("Apridisk plugin", "Found a minimum of {0} sectors per track", ImageInfo.sectorsPerTrack); - if(ImageInfo.cylinders == 77 && ImageInfo.heads == 1 && ImageInfo.sectorsPerTrack == 8) + if(ImageInfo.cylinders == 70 && ImageInfo.heads == 1 && ImageInfo.sectorsPerTrack == 9) ImageInfo.mediaType = MediaType.Apricot_35; else if(ImageInfo.cylinders == 80 && ImageInfo.heads == 1 && ImageInfo.sectorsPerTrack == 9) ImageInfo.mediaType = MediaType.DOS_35_SS_DD_9; diff --git a/DiscImageChef.DiscImages/CopyQM.cs b/DiscImageChef.DiscImages/CopyQM.cs index f923f3a6..c8c4fc48 100644 --- a/DiscImageChef.DiscImages/CopyQM.cs +++ b/DiscImageChef.DiscImages/CopyQM.cs @@ -393,7 +393,7 @@ namespace DiscImageChef.ImagePlugins ImageInfo.mediaType = MediaType.ACORN_35_DS_DD; else if(header.heads == 2 && header.totalCylinders == 77 && header.sectorsPerTrack == 8 && header.sectorSize == 1024) ImageInfo.mediaType = MediaType.SHARP_35; - else if(header.heads == 1 && header.totalCylinders == 77 && header.sectorsPerTrack == 8 && header.sectorSize == 512) + else if(header.heads == 1 && header.totalCylinders == 70 && header.sectorsPerTrack == 9 && header.sectorSize == 512) ImageInfo.mediaType = MediaType.Apricot_35; else ImageInfo.mediaType = MediaType.Unknown; diff --git a/DiscImageChef.DiscImages/DriDiskCopy.cs b/DiscImageChef.DiscImages/DriDiskCopy.cs index b2126662..fc0b962c 100644 --- a/DiscImageChef.DiscImages/DriDiskCopy.cs +++ b/DiscImageChef.DiscImages/DriDiskCopy.cs @@ -344,7 +344,7 @@ namespace DiscImageChef.ImagePlugins ImageInfo.mediaType = MediaType.DOS_35_SS_DD_8; else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 5 && ImageInfo.sectorSize == 1024) ImageInfo.mediaType = MediaType.ACORN_35_DS_DD; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 77 && ImageInfo.sectorsPerTrack == 8 && ImageInfo.sectorSize == 512) + else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 70 && ImageInfo.sectorsPerTrack == 9 && ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.Apricot_35; else ImageInfo.mediaType = MediaType.Unknown; diff --git a/DiscImageChef.DiscImages/IMD.cs b/DiscImageChef.DiscImages/IMD.cs index d5419397..e6ec42f0 100644 --- a/DiscImageChef.DiscImages/IMD.cs +++ b/DiscImageChef.DiscImages/IMD.cs @@ -308,8 +308,8 @@ namespace DiscImageChef.ImagePlugins ImageInfo.mediaType = MediaType.ACORN_35_DS_DD; else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 82 && ImageInfo.sectorsPerTrack == 10 && ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.FDFORMAT_35_DD; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 77 && ImageInfo.sectorsPerTrack == 8 && ImageInfo.sectorSize == 512) - ImageInfo.mediaType = MediaType.Apricot_35; + else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 70 && ImageInfo.sectorsPerTrack == 9 && ImageInfo.sectorSize == 512) + ImageInfo.mediaType = MediaType.Apricot_35; break; case TransferRate.FiveHundredMFM: if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 18 && ImageInfo.sectorSize == 512) diff --git a/DiscImageChef.DiscImages/SaveDskF.cs b/DiscImageChef.DiscImages/SaveDskF.cs index c48cfad4..d301c308 100644 --- a/DiscImageChef.DiscImages/SaveDskF.cs +++ b/DiscImageChef.DiscImages/SaveDskF.cs @@ -252,13 +252,13 @@ namespace DiscImageChef.ImagePlugins break; } break; - case 77: + case 70: switch(header.heads) { case 1: switch(header.sectorsPerTrack) { - case 8: + case 9: ImageInfo.mediaType = MediaType.Apricot_35; break; } diff --git a/DiscImageChef.DiscImages/TeleDisk.cs b/DiscImageChef.DiscImages/TeleDisk.cs index acb0cb71..d62bbd67 100644 --- a/DiscImageChef.DiscImages/TeleDisk.cs +++ b/DiscImageChef.DiscImages/TeleDisk.cs @@ -949,7 +949,7 @@ namespace DiscImageChef.ImagePlugins { switch(totalDiskSize) { - case 315392: + case 322560: return MediaType.Apricot_35; case 327680: return MediaType.DOS_35_SS_DD_8; diff --git a/DiscImageChef.DiscImages/ZZZRawImage.cs b/DiscImageChef.DiscImages/ZZZRawImage.cs index 3d474d87..ad45e4a1 100644 --- a/DiscImageChef.DiscImages/ZZZRawImage.cs +++ b/DiscImageChef.DiscImages/ZZZRawImage.cs @@ -453,9 +453,9 @@ namespace DiscImageChef.ImagePlugins ImageInfo.sectorsPerTrack = 9; break; case MediaType.Apricot_35: - ImageInfo.cylinders = 77; + ImageInfo.cylinders = 70; ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 8; + ImageInfo.sectorsPerTrack = 9; break; case MediaType.DOS_35_ED: ImageInfo.cylinders = 80; @@ -967,7 +967,7 @@ namespace DiscImageChef.ImagePlugins return MediaType.IBM33FD_256; case 306432: return MediaType.IBM33FD_512; - case 315392: + case 322560: return MediaType.Apricot_35; case 325632: return MediaType.ECMA_70; diff --git a/DiscImageChef.Metadata/MediaType.cs b/DiscImageChef.Metadata/MediaType.cs index c3831849..051d5333 100644 --- a/DiscImageChef.Metadata/MediaType.cs +++ b/DiscImageChef.Metadata/MediaType.cs @@ -408,7 +408,7 @@ namespace DiscImageChef.Metadata break; case CommonTypes.MediaType.Apricot_35: DiscType = "3.5\" floppy"; - DiscSubType = "Apricot double-density, single-sided, 77 tracks"; + DiscSubType = "Apricot double-density, single-sided, 70 tracks"; break; case CommonTypes.MediaType.DMF: DiscType = "3.5\" floppy";