Fix support for 128Mb 3.5" magneto optical.

This commit is contained in:
2019-12-27 01:35:37 +00:00
parent d1d97d4202
commit 8862d8b9b4
4 changed files with 86 additions and 62 deletions

View File

@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ContentModelStore"> <component name="ContentModelStore">
<e p="$APPLICATION_CONFIG_DIR$/consoles/db" t="IncludeRecursive" />
<e p="$APPLICATION_PLUGINS_DIR$/puppet/lib/stubs" t="IncludeRecursive" />
<e p="$USER_HOME$/.Rider2019.3/system/extResources" t="IncludeRecursive" /> <e p="$USER_HOME$/.Rider2019.3/system/extResources" t="IncludeRecursive" />
<e p="$USER_HOME$/.Rider2019.3/system/resharper-host/local/Transient/ReSharperHost/v193/SolutionCaches/_DiscImageChef.-1491758497.00" t="ExcludeRecursive" /> <e p="$USER_HOME$/.Rider2019.3/system/resharper-host/local/Transient/ReSharperHost/v193/SolutionCaches/_DiscImageChef.-1491758497.00" t="ExcludeRecursive" />
<e p="$USER_HOME$/.config/git/ignore" t="IncludeRecursive" />
<e p="$USER_HOME$/.nuget/packages/sqlitepclraw.lib.e_sqlite3.linux/1.1.12/runtimes/linux-x64/native/libe_sqlite3.so" t="Include" /> <e p="$USER_HOME$/.nuget/packages/sqlitepclraw.lib.e_sqlite3.linux/1.1.12/runtimes/linux-x64/native/libe_sqlite3.so" t="Include" />
<e p="$PROJECT_DIR$" t="IncludeFlat"> <e p="$PROJECT_DIR$" t="IncludeFlat">
<e p=".git/info/exclude" t="IncludeRecursive" /> <e p=".git/info/exclude" t="IncludeRecursive" />

View File

@@ -36,18 +36,33 @@ namespace DiscImageChef.DiscImages
{ {
public partial class ZZZRawImage public partial class ZZZRawImage
{ {
private MediaType CalculateDiskType() MediaType CalculateDiskType()
{ {
if(imageInfo.SectorSize == 2048) if(imageInfo.SectorSize == 2048)
{ {
if (imageInfo.Sectors == 58620544) return MediaType.REV120; if(imageInfo.Sectors == 58620544)
if (imageInfo.Sectors == 17090880) return MediaType.REV35; return MediaType.REV120;
if (imageInfo.Sectors <= 360000) return MediaType.CD;
if (imageInfo.Sectors <= 2295104) return MediaType.DVDPR; if(imageInfo.Sectors == 17090880)
if (imageInfo.Sectors <= 2298496) return MediaType.DVDR; return MediaType.REV35;
if (imageInfo.Sectors <= 4171712) return MediaType.DVDRDL;
if (imageInfo.Sectors <= 4173824) return MediaType.DVDPRDL; if(imageInfo.Sectors <= 360000)
if (imageInfo.Sectors <= 24438784) return MediaType.BDR; return MediaType.CD;
if(imageInfo.Sectors <= 2295104)
return MediaType.DVDPR;
if(imageInfo.Sectors <= 2298496)
return MediaType.DVDR;
if(imageInfo.Sectors <= 4171712)
return MediaType.DVDRDL;
if(imageInfo.Sectors <= 4173824)
return MediaType.DVDPRDL;
if(imageInfo.Sectors <= 24438784)
return MediaType.BDR;
return imageInfo.Sectors <= 62500864 ? MediaType.BDRXL : MediaType.Unknown; return imageInfo.Sectors <= 62500864 ? MediaType.BDRXL : MediaType.Unknown;
} }
@@ -62,7 +77,8 @@ namespace DiscImageChef.DiscImages
case 133120: return MediaType.ATARI_525_ED; case 133120: return MediaType.ATARI_525_ED;
case 143360: return MediaType.Apple33SS; case 143360: return MediaType.Apple33SS;
case 163840: case 163840:
if (imageInfo.SectorSize == 256) return MediaType.ACORN_525_SS_DD_40; if(imageInfo.SectorSize == 256)
return MediaType.ACORN_525_SS_DD_40;
return MediaType.DOS_525_SS_DD_8; return MediaType.DOS_525_SS_DD_8;
case 184320: return MediaType.DOS_525_SS_DD_9; case 184320: return MediaType.DOS_525_SS_DD_9;
@@ -76,15 +92,18 @@ namespace DiscImageChef.DiscImages
case 322560: return MediaType.Apricot_35; case 322560: return MediaType.Apricot_35;
case 325632: return MediaType.ECMA_70; case 325632: return MediaType.ECMA_70;
case 327680: case 327680:
if (imageInfo.SectorSize == 256) return MediaType.ACORN_525_SS_DD_80; if(imageInfo.SectorSize == 256)
return MediaType.ACORN_525_SS_DD_80;
return MediaType.DOS_525_DS_DD_8; return MediaType.DOS_525_DS_DD_8;
case 368640: case 368640:
if (extension == ".st") return MediaType.DOS_35_SS_DD_9; if(extension == ".st")
return MediaType.DOS_35_SS_DD_9;
return MediaType.DOS_525_DS_DD_9; return MediaType.DOS_525_DS_DD_9;
case 409600: case 409600:
if (extension == ".st") return MediaType.ATARI_35_SS_DD; if(extension == ".st")
return MediaType.ATARI_35_SS_DD;
return MediaType.AppleSonySS; return MediaType.AppleSonySS;
case 450560: return MediaType.ATARI_35_SS_DD_11; case 450560: return MediaType.ATARI_35_SS_DD_11;
@@ -94,15 +113,21 @@ namespace DiscImageChef.DiscImages
case 655360: return MediaType.ACORN_525_DS_DD; case 655360: return MediaType.ACORN_525_DS_DD;
case 737280: return MediaType.DOS_35_DS_DD_9; case 737280: return MediaType.DOS_35_DS_DD_9;
case 819200: case 819200:
if (imageInfo.SectorSize == 256) return MediaType.CBM_35_DD; if(imageInfo.SectorSize == 256)
if ((extension == ".adf" || extension == ".adl") && imageInfo.SectorSize == 1024) return MediaType.CBM_35_DD;
if((extension == ".adf" || extension == ".adl") &&
imageInfo.SectorSize == 1024)
return MediaType.ACORN_35_DS_DD; return MediaType.ACORN_35_DS_DD;
if (extension == ".st") return MediaType.ATARI_35_DS_DD;
if(extension == ".st")
return MediaType.ATARI_35_DS_DD;
return MediaType.AppleSonyDS; return MediaType.AppleSonyDS;
case 839680: return MediaType.FDFORMAT_35_DD; case 839680: return MediaType.FDFORMAT_35_DD;
case 901120: case 901120:
if (extension == ".st") return MediaType.ATARI_35_DS_DD_11; if(extension == ".st")
return MediaType.ATARI_35_DS_DD_11;
return MediaType.CBM_AMIGA_35_DD; return MediaType.CBM_AMIGA_35_DD;
case 988416: return MediaType.IBM43FD_256; case 988416: return MediaType.IBM43FD_256;
@@ -130,9 +155,9 @@ namespace DiscImageChef.DiscImages
case 40387584: return MediaType.PocketZip; case 40387584: return MediaType.PocketZip;
case 100663296: return MediaType.ZIP100; case 100663296: return MediaType.ZIP100;
case 126222336: return MediaType.LS120; case 126222336: return MediaType.LS120;
case 127923200: return MediaType.ECMA_154; case 127398912: return MediaType.ECMA_154;
case 201410560: return MediaType.HiFD; case 201410560: return MediaType.HiFD;
case 229632000: return MediaType.ECMA_201; case 228518400: return MediaType.ECMA_201;
case 240386048: return MediaType.LS240; case 240386048: return MediaType.LS240;
case 250640384: return MediaType.ZIP250; case 250640384: return MediaType.ZIP250;
case 481520640: return MediaType.ECMA_183_512; case 481520640: return MediaType.ECMA_183_512;
@@ -144,14 +169,12 @@ namespace DiscImageChef.DiscImages
case 1070617600: return MediaType.Jaz; case 1070617600: return MediaType.Jaz;
#region Commodore #region Commodore
case 174848: case 174848:
case 175531: return MediaType.CBM_1540; case 175531: return MediaType.CBM_1540;
case 196608: case 196608:
case 197376: return MediaType.CBM_1540_Ext; case 197376: return MediaType.CBM_1540_Ext;
case 349696: case 349696:
case 351062: return MediaType.CBM_1571; case 351062: return MediaType.CBM_1571;
#endregion Commodore #endregion Commodore
default: return MediaType.GENERIC_HDD; default: return MediaType.GENERIC_HDD;

View File

@@ -61,7 +61,7 @@ doubt, please contact us.
Media Media
===== =====
This is the media for the drives listed above, or media for drives we do have, but lack and thus cannot test the actual hardware. This is the media for the drives listed above, or media for drives we do have, but lack and thus cannot test the actual hardware.
- 3.5" magneto-optical media: 540MiB - 3.5" magneto-optical media: 540MiB, 2.3GiB GigaMO
- 5.25" magneto-optical media: 128MiB, 640MiB, 9.6GiB - 5.25" magneto-optical media: 128MiB, 640MiB, 9.6GiB
- ADR tapes - ADR tapes
- AIT tapes - AIT tapes