Corrected parameters of Acorn floppies.

This commit is contained in:
2017-07-18 06:34:33 +01:00
parent 5deaa07446
commit a5dc95494b
4 changed files with 9 additions and 5 deletions

View File

@@ -331,7 +331,7 @@ namespace DiscImageChef.CommonTypes
ACORN_525_SS_DD_80, ACORN_525_SS_DD_80,
/// <summary>5,25", DS, DD, 80 tracks, 16 spt, 256 bytes/sector, MFM</summary> /// <summary>5,25", DS, DD, 80 tracks, 16 spt, 256 bytes/sector, MFM</summary>
ACORN_525_DS_DD, ACORN_525_DS_DD,
/// <summary>3,5", DS, DD, 80 tracks, 10 spt, 512 bytes/sector, MFM</summary> /// <summary>3,5", DS, DD, 80 tracks, 5 spt, 1024 bytes/sector, MFM</summary>
ACORN_35_DS_DD, ACORN_35_DS_DD,
/// <summary>3,5", DS, HD, 80 tracks, 10 spt, 1024 bytes/sector, MFM</summary> /// <summary>3,5", DS, HD, 80 tracks, 10 spt, 1024 bytes/sector, MFM</summary>
ACORN_35_DS_HD, ACORN_35_DS_HD,

View File

@@ -325,8 +325,6 @@ namespace DiscImageChef.CommonTypes
return MediaType.DOS_35_DS_DD_8; return MediaType.DOS_35_DS_DD_8;
case 1440: case 1440:
return MediaType.ECMA_100; return MediaType.ECMA_100;
case 1600:
return MediaType.ACORN_35_DS_DD;
case 1640: case 1640:
return MediaType.FDFORMAT_35_DD; return MediaType.FDFORMAT_35_DD;
case 1760: case 1760:
@@ -374,6 +372,10 @@ namespace DiscImageChef.CommonTypes
case 1024: case 1024:
switch(blocks) switch(blocks)
{ {
case 800:
return MediaType.ACORN_35_DS_DD;
case 1600:
return MediaType.ACORN_35_DS_HD;
case 1220: case 1220:
return MediaType.IBM53FD_1024; return MediaType.IBM53FD_1024;
case 1232: case 1232:

View File

@@ -389,7 +389,7 @@ namespace DiscImageChef.ImagePlugins
ImageInfo.mediaType = MediaType.DOS_35_SS_DD_9; ImageInfo.mediaType = MediaType.DOS_35_SS_DD_9;
else if(header.heads == 1 && header.imageCylinders == 80 && header.sectorsPerTrack == 8 && header.sectorSize == 512) else if(header.heads == 1 && header.imageCylinders == 80 && header.sectorsPerTrack == 8 && header.sectorSize == 512)
ImageInfo.mediaType = MediaType.DOS_35_SS_DD_8; 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; ImageInfo.mediaType = MediaType.ACORN_35_DS_DD;
else if(header.heads == 2 && header.imageCylinders == 77 && header.sectorsPerTrack == 8 && header.sectorSize == 1024) else if(header.heads == 2 && header.imageCylinders == 77 && header.sectorsPerTrack == 8 && header.sectorSize == 1024)
ImageInfo.mediaType = MediaType.SHARP_35; ImageInfo.mediaType = MediaType.SHARP_35;

View File

@@ -130,6 +130,8 @@ namespace DiscImageChef.ImagePlugins
else if((extension == ".adf" || extension == ".adl" || extension == ".ssd" || extension == ".dsd") && else if((extension == ".adf" || extension == ".adl" || extension == ".ssd" || extension == ".dsd") &&
(imageFilter.GetDataForkLength() == 163840 || imageFilter.GetDataForkLength() == 327680 || imageFilter.GetDataForkLength() == 655360)) (imageFilter.GetDataForkLength() == 163840 || imageFilter.GetDataForkLength() == 327680 || imageFilter.GetDataForkLength() == 655360))
ImageInfo.sectorSize = 256; ImageInfo.sectorSize = 256;
else if((extension == ".adf" || extension == ".adl") && imageFilter.GetDataForkLength() == 819200)
ImageInfo.sectorSize = 1024;
else else
{ {
switch(imageFilter.GetDataForkLength()) switch(imageFilter.GetDataForkLength())
@@ -680,7 +682,7 @@ namespace DiscImageChef.ImagePlugins
case 819200: case 819200:
if(ImageInfo.sectorSize == 256) if(ImageInfo.sectorSize == 256)
return MediaType.CBM_35_DD; return MediaType.CBM_35_DD;
if(extension == ".adf" || extension == ".adl") if((extension == ".adf" || extension == ".adl") && ImageInfo.sectorSize == 1024)
return MediaType.ACORN_35_DS_DD; return MediaType.ACORN_35_DS_DD;
if(extension == ".st") if(extension == ".st")
return MediaType.ATARI_35_DS_DD; return MediaType.ATARI_35_DS_DD;