diff --git a/Aaru.CommonTypes b/Aaru.CommonTypes
index 238c2c7ec..9f81e75fb 160000
--- a/Aaru.CommonTypes
+++ b/Aaru.CommonTypes
@@ -1 +1 @@
-Subproject commit 238c2c7ec370e158e6e391dcd33dc705f48e1ae2
+Subproject commit 9f81e75fb13c38a0af9f2a91f7c4d5dabf24e57b
diff --git a/Aaru.Core/Sidecar/BlockMedia.cs b/Aaru.Core/Sidecar/BlockMedia.cs
index e7872825a..32e385c07 100644
--- a/Aaru.Core/Sidecar/BlockMedia.cs
+++ b/Aaru.Core/Sidecar/BlockMedia.cs
@@ -918,7 +918,8 @@ namespace Aaru.Core
case CommonTypes.MediaType.FDFORMAT_35_HD:
case CommonTypes.MediaType.Apricot_35:
case CommonTypes.MediaType.CompactFloppy:
- case CommonTypes.MediaType.MetaFloppy:
+ case CommonTypes.MediaType.MetaFloppy_Mod_I:
+ case CommonTypes.MediaType.MetaFloppy_Mod_II:
trkFormat = "IBM MFM";
break;
diff --git a/Aaru.Filesystems/CPM/Info.cs b/Aaru.Filesystems/CPM/Info.cs
index 3a16fe020..bfb359caf 100644
--- a/Aaru.Filesystems/CPM/Info.cs
+++ b/Aaru.Filesystems/CPM/Info.cs
@@ -154,7 +154,8 @@ namespace Aaru.Filesystems
case MediaType.RP06_18:
case MediaType.GENERIC_HDD:
case MediaType.FlashDrive:
- case MediaType.MetaFloppy: break;
+ case MediaType.MetaFloppy_Mod_I:
+ case MediaType.MetaFloppy_Mod_II: break;
default: return false;
}
diff --git a/Aaru.Images/Anex86/Properties.cs b/Aaru.Images/Anex86/Properties.cs
index b1d25f211..74ce6af48 100644
--- a/Aaru.Images/Anex86/Properties.cs
+++ b/Aaru.Images/Anex86/Properties.cs
@@ -80,7 +80,8 @@ 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.MetaFloppy
+ MediaType.PCCardTypeII, MediaType.PCCardTypeIII, MediaType.PCCardTypeIV, MediaType.MetaFloppy_Mod_I,
+ MediaType.MetaFloppy_Mod_II
};
///
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
diff --git a/Aaru.Images/Apridisk/Properties.cs b/Aaru.Images/Apridisk/Properties.cs
index f1b7e65ae..1b9bed3dc 100644
--- a/Aaru.Images/Apridisk/Properties.cs
+++ b/Aaru.Images/Apridisk/Properties.cs
@@ -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.MetaFloppy
+ MediaType.RX50, MediaType.XDF_35, MediaType.XDF_525, MediaType.MetaFloppy_Mod_I, MediaType.MetaFloppy_Mod_II
};
///
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => new[]
diff --git a/Aaru.Images/D88/Read.cs b/Aaru.Images/D88/Read.cs
index a973873f4..eeea26115 100644
--- a/Aaru.Images/D88/Read.cs
+++ b/Aaru.Images/D88/Read.cs
@@ -184,8 +184,12 @@ namespace Aaru.DiscImages
else if(bps == IBMSectorSizeCode.QuarterKilo)
switch(trkCounter)
{
+ case 35 when spt == 16:
+ _imageInfo.MediaType = MediaType.MetaFloppy_Mod_I;
+
+ break;
case 77 when spt == 16:
- _imageInfo.MediaType = MediaType.MetaFloppy;
+ _imageInfo.MediaType = MediaType.MetaFloppy_Mod_II;
break;
case 80 when spt == 16:
@@ -363,7 +367,13 @@ namespace Aaru.DiscImages
_imageInfo.SectorsPerTrack = 38;
break;
- case MediaType.MetaFloppy:
+ case MediaType.MetaFloppy_Mod_I:
+ _imageInfo.Cylinders = 35;
+ _imageInfo.Heads = 1;
+ _imageInfo.SectorsPerTrack = 16;
+
+ break;
+ case MediaType.MetaFloppy_Mod_II:
_imageInfo.Cylinders = 77;
_imageInfo.Heads = 1;
_imageInfo.SectorsPerTrack = 16;
diff --git a/Aaru.Images/DriDiskCopy/Properties.cs b/Aaru.Images/DriDiskCopy/Properties.cs
index 027a11adc..25c3586e2 100644
--- a/Aaru.Images/DriDiskCopy/Properties.cs
+++ b/Aaru.Images/DriDiskCopy/Properties.cs
@@ -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.MetaFloppy
+ MediaType.RX50, MediaType.XDF_35, MediaType.XDF_525, MediaType.MetaFloppy_Mod_I, MediaType.MetaFloppy_Mod_II
};
///
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
diff --git a/Aaru.Images/MaxiDisk/Properties.cs b/Aaru.Images/MaxiDisk/Properties.cs
index 489118ed8..1d07eb8d3 100644
--- a/Aaru.Images/MaxiDisk/Properties.cs
+++ b/Aaru.Images/MaxiDisk/Properties.cs
@@ -72,7 +72,7 @@ namespace Aaru.DiscImages
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.MetaFloppy
+ MediaType.MetaFloppy_Mod_I, MediaType.MetaFloppy_Mod_II
};
///
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
diff --git a/Aaru.Images/RayDIM/Properties.cs b/Aaru.Images/RayDIM/Properties.cs
index eb88b5132..7db8c7242 100644
--- a/Aaru.Images/RayDIM/Properties.cs
+++ b/Aaru.Images/RayDIM/Properties.cs
@@ -72,7 +72,7 @@ namespace Aaru.DiscImages
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.MetaFloppy
+ MediaType.MetaFloppy_Mod_I, MediaType.MetaFloppy_Mod_II
};
///
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
diff --git a/Aaru.Images/SaveDskF/Properties.cs b/Aaru.Images/SaveDskF/Properties.cs
index 1f1b194ea..c22905fa2 100644
--- a/Aaru.Images/SaveDskF/Properties.cs
+++ b/Aaru.Images/SaveDskF/Properties.cs
@@ -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.MetaFloppy
+ MediaType.RX50, MediaType.XDF_35, MediaType.XDF_525, MediaType.MetaFloppy_Mod_I, MediaType.MetaFloppy_Mod_II
};
///
public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions =>
diff --git a/Aaru.Images/TeleDisk/Helpers.cs b/Aaru.Images/TeleDisk/Helpers.cs
index cca14dabc..d6bf237e6 100644
--- a/Aaru.Images/TeleDisk/Helpers.cs
+++ b/Aaru.Images/TeleDisk/Helpers.cs
@@ -212,6 +212,8 @@ namespace Aaru.DiscImages
{
switch(_totalDiskSize)
{
+ case 143360:
+ return _imageInfo.SectorSize == 256 ? MediaType.MetaFloppy_Mod_I : MediaType.Unknown;
case 163840:
{
// Acorn disk uses 256 bytes/sector
@@ -227,7 +229,8 @@ namespace Aaru.DiscImages
// DOS disks use 512 bytes/sector
}
- case 315392: return _imageInfo.SectorSize == 256 ? MediaType.MetaFloppy : MediaType.Unknown;
+ case 315392:
+ return _imageInfo.SectorSize == 256 ? MediaType.MetaFloppy_Mod_II : MediaType.Unknown;
case 327680:
{
// Acorn disk uses 256 bytes/sector
diff --git a/Aaru.Images/ZZZRawImage/Helpers.cs b/Aaru.Images/ZZZRawImage/Helpers.cs
index 1f92016ed..6ba2c408e 100644
--- a/Aaru.Images/ZZZRawImage/Helpers.cs
+++ b/Aaru.Images/ZZZRawImage/Helpers.cs
@@ -89,7 +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 315392: return MediaType.MetaFloppy_Mod_II;
case 322560: return MediaType.Apricot_35;
case 325632: return MediaType.ECMA_70;
case 327680:
diff --git a/Aaru.Images/ZZZRawImage/Read.cs b/Aaru.Images/ZZZRawImage/Read.cs
index 570a7013a..7e42ba49f 100644
--- a/Aaru.Images/ZZZRawImage/Read.cs
+++ b/Aaru.Images/ZZZRawImage/Read.cs
@@ -958,7 +958,13 @@ namespace Aaru.DiscImages
_imageInfo.SectorsPerTrack = 32;
break;
- case MediaType.MetaFloppy:
+ case MediaType.MetaFloppy_Mod_I:
+ _imageInfo.Cylinders = 35;
+ _imageInfo.Heads = 1;
+ _imageInfo.SectorsPerTrack = 16;
+
+ break;
+ case MediaType.MetaFloppy_Mod_II:
_imageInfo.Cylinders = 77;
_imageInfo.Heads = 1;
_imageInfo.SectorsPerTrack = 16;