Add MetaFloppy.

This commit is contained in:
2021-10-05 19:24:39 +01:00
parent 06f0a95bb0
commit 2017cb3856
13 changed files with 30 additions and 8 deletions

View File

@@ -80,7 +80,7 @@ namespace Aaru.DiscImages
MediaType.XDF_35, MediaType.DOS_35_ED, MediaType.FDFORMAT_35_DD, MediaType.FDFORMAT_525_HD,
MediaType.FDFORMAT_35_HD, MediaType.NEC_35_TD, MediaType.Unknown, MediaType.GENERIC_HDD,
MediaType.FlashDrive, MediaType.CompactFlash, MediaType.CompactFlashType2, MediaType.PCCardTypeI,
MediaType.PCCardTypeII, MediaType.PCCardTypeIII, MediaType.PCCardTypeIV
MediaType.PCCardTypeII, MediaType.PCCardTypeIII, MediaType.PCCardTypeIV, MediaType.MetaFloppy
};
/// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>

View File

@@ -75,7 +75,7 @@ namespace Aaru.DiscImages
MediaType.DOS_35_HD, MediaType.DOS_35_SS_DD_8, MediaType.DOS_35_SS_DD_9, MediaType.DOS_525_DS_DD_8,
MediaType.DOS_525_DS_DD_9, MediaType.DOS_525_HD, MediaType.DOS_525_SS_DD_8, MediaType.DOS_525_SS_DD_9,
MediaType.FDFORMAT_35_DD, MediaType.FDFORMAT_35_HD, MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD,
MediaType.RX50, MediaType.XDF_35, MediaType.XDF_525
MediaType.RX50, MediaType.XDF_35, MediaType.XDF_525, MediaType.MetaFloppy
};
/// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => new[]

View File

@@ -185,6 +185,10 @@ namespace Aaru.DiscImages
else if(bps == IBMSectorSizeCode.QuarterKilo)
switch(trkCounter)
{
case 77 when spt == 16:
_imageInfo.MediaType = MediaType.MetaFloppy;
break;
case 80 when spt == 16:
_imageInfo.MediaType = MediaType.NEC_525_SS;
@@ -359,6 +363,12 @@ namespace Aaru.DiscImages
_imageInfo.Heads = 2;
_imageInfo.SectorsPerTrack = 38;
break;
case MediaType.MetaFloppy:
_imageInfo.Cylinders = 77;
_imageInfo.Heads = 1;
_imageInfo.SectorsPerTrack = 16;
break;
}

View File

@@ -73,7 +73,7 @@ namespace Aaru.DiscImages
MediaType.DOS_35_HD, MediaType.DOS_35_SS_DD_8, MediaType.DOS_35_SS_DD_9, MediaType.DOS_525_DS_DD_8,
MediaType.DOS_525_DS_DD_9, MediaType.DOS_525_HD, MediaType.DOS_525_SS_DD_8, MediaType.DOS_525_SS_DD_9,
MediaType.FDFORMAT_35_DD, MediaType.FDFORMAT_35_HD, MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD,
MediaType.RX50, MediaType.XDF_35, MediaType.XDF_525
MediaType.RX50, MediaType.XDF_35, MediaType.XDF_525, MediaType.MetaFloppy
};
/// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>

View File

@@ -71,7 +71,8 @@ namespace Aaru.DiscImages
MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED, MediaType.DOS_35_HD, MediaType.DOS_35_SS_DD_8,
MediaType.DOS_35_SS_DD_9, MediaType.DOS_525_DS_DD_8, MediaType.DOS_525_DS_DD_9, MediaType.DOS_525_HD,
MediaType.DOS_525_SS_DD_8, MediaType.DOS_525_SS_DD_9, MediaType.FDFORMAT_35_DD, MediaType.FDFORMAT_35_HD,
MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD, MediaType.RX50, MediaType.XDF_35, MediaType.XDF_525
MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD, MediaType.RX50, MediaType.XDF_35, MediaType.XDF_525,
MediaType.MetaFloppy
};
/// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>

View File

@@ -71,7 +71,8 @@ namespace Aaru.DiscImages
MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_ED, MediaType.DOS_35_HD, MediaType.DOS_35_SS_DD_8,
MediaType.DOS_35_SS_DD_9, MediaType.DOS_525_DS_DD_8, MediaType.DOS_525_DS_DD_9, MediaType.DOS_525_HD,
MediaType.DOS_525_SS_DD_8, MediaType.DOS_525_SS_DD_9, MediaType.FDFORMAT_35_DD, MediaType.FDFORMAT_35_HD,
MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD, MediaType.RX50, MediaType.XDF_35, MediaType.XDF_525
MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD, MediaType.RX50, MediaType.XDF_35, MediaType.XDF_525,
MediaType.MetaFloppy
};
/// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>

View File

@@ -72,7 +72,7 @@ namespace Aaru.DiscImages
MediaType.DOS_35_HD, MediaType.DOS_35_SS_DD_8, MediaType.DOS_35_SS_DD_9, MediaType.DOS_525_DS_DD_8,
MediaType.DOS_525_DS_DD_9, MediaType.DOS_525_HD, MediaType.DOS_525_SS_DD_8, MediaType.DOS_525_SS_DD_9,
MediaType.FDFORMAT_35_DD, MediaType.FDFORMAT_35_HD, MediaType.FDFORMAT_525_DD, MediaType.FDFORMAT_525_HD,
MediaType.RX50, MediaType.XDF_35, MediaType.XDF_525
MediaType.RX50, MediaType.XDF_35, MediaType.XDF_525, MediaType.MetaFloppy
};
/// <inheritdoc />
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>

View File

@@ -220,6 +220,7 @@ namespace Aaru.DiscImages
// DOS disks use 512 bytes/sector
}
case 315392: return _imageInfo.SectorSize == 256 ? MediaType.MetaFloppy : MediaType.Unknown;
case 327680:
{
// Acorn disk uses 256 bytes/sector

View File

@@ -89,6 +89,7 @@ namespace Aaru.DiscImages
case 286720: return MediaType.Apple33DS;
case 287488: return MediaType.IBM33FD_256;
case 306432: return MediaType.IBM33FD_512;
case 315392: return MediaType.MetaFloppy;
case 322560: return MediaType.Apricot_35;
case 325632: return MediaType.ECMA_70;
case 327680:

View File

@@ -958,6 +958,12 @@ namespace Aaru.DiscImages
_imageInfo.Heads = 64;
_imageInfo.SectorsPerTrack = 32;
break;
case MediaType.MetaFloppy:
_imageInfo.Cylinders = 77;
_imageInfo.Heads = 1;
_imageInfo.SectorsPerTrack = 16;
break;
default:
_imageInfo.Cylinders = (uint)(_imageInfo.Sectors / 16 / 63);