* DiscImageChef.Partitions/Human68k.cs:

* DiscImageChef.Partitions/DiscImageChef.Partitions.csproj:
	  Added Human68k partition table.

	* DiscImageChef.Partitions/RioKarma.cs:
	  Corrected typo.

	* DiscImageChef.DiscImages/ZZZRawImage.cs:
	  Detect X68000 SASI hard disks that use 256 bytes/sector.
	Correct size of ECMA-154 magnetoptical.

	* DiscImageChef.Partitions/PC98.cs:
	  Correct handling of partition name, do not directly marshal
	  as it may crash.
	Prevent false positives checking for sanity and partition
	  type, so this limits it to FreeBSD right now.

	* DiscImageChef.Partitions/Acorn.cs:
	  Do not try to read past device.

	* DiscImageChef.Helpers/BigEndianMarshal.cs:
	* DiscImageChef.Helpers/BigEndianStructure.cs:
	* DiscImageChef.Helpers/DiscImageChef.Helpers.csproj:
	  Reworked big endian marshal. Does not traverse nested
	  structures.

	* DiscImageChef.Partitions/SGI.cs:
	  Corrected big endian marshaling, manually traversing nested
	  structures.

	* DiscImageChef.Decoders/LisaTag.cs:
	  Removed temporal variable.

	* DiscImageChef.Partitions/Sun.cs:
	  Sun insists all devices must be 512 bytes/sector. Really.
	  Even CDs. But this allows bigger ones.
This commit is contained in:
2016-08-22 00:49:48 +01:00
parent 8a50d402c5
commit 1e2d0fa70c
16 changed files with 344 additions and 130 deletions

View File

@@ -275,6 +275,16 @@ namespace DiscImageChef.ImagePlugins
break;
}
// Sharp X68000 SASI hard disks
if(Path.GetExtension(imagePath).ToLowerInvariant() == ".hdf")
{
if(ImageInfo.imageSize % 256 == 0)
{
ImageInfo.sectorSize = 256;
ImageInfo.sectors = ImageInfo.imageSize / ImageInfo.sectorSize;
}
}
DicConsole.VerboseWriteLine("Raw disk image contains a disk of type {0}", ImageInfo.mediaType);
return true;
@@ -664,7 +674,7 @@ namespace DiscImageChef.ImagePlugins
return MediaType.XDF_35;
case 2949120:
return MediaType.DOS_35_ED;
case 128000000:
case 127923200:
return MediaType.ECMA_154;
case 229632000:
return MediaType.ECMA_201;