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;