Corrected Apricot disk size.

This commit is contained in:
2017-09-22 23:32:11 +01:00
parent 3ef35c927c
commit 39e9164c1c
11 changed files with 28 additions and 14 deletions

View File

@@ -449,7 +449,7 @@ namespace DiscImageChef.CommonTypes
#endregion FDFORMAT, non-standard floppy formats
#region Apricot ACT standard floppy formats
/// <summary>3.5", DS, DD, 77 tracks, 8 spt, 512 bytes/sector, MFM</summary>
/// <summary>3.5", DS, DD, 70 tracks, 9 spt, 512 bytes/sector, MFM</summary>
Apricot_35,
#endregion Apricot ACT standard floppy formats

View File

@@ -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;

View File

@@ -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)
{

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -308,7 +308,7 @@ 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)
else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 70 && ImageInfo.sectorsPerTrack == 9 && ImageInfo.sectorSize == 512)
ImageInfo.mediaType = MediaType.Apricot_35;
break;
case TransferRate.FiveHundredMFM:

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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";