diff --git a/DiscImageChef.DiscImages/CPCDSK/Constants.cs b/DiscImageChef.DiscImages/CPCDSK/Constants.cs index dfc1837e9..2659a472e 100644 --- a/DiscImageChef.DiscImages/CPCDSK/Constants.cs +++ b/DiscImageChef.DiscImages/CPCDSK/Constants.cs @@ -1,4 +1,4 @@ -// /*************************************************************************** +// /*************************************************************************** // The Disc Image Chef // ---------------------------------------------------------------------------- // @@ -35,12 +35,11 @@ namespace DiscImageChef.DiscImages public partial class Cpcdsk { /// - /// Identifier for CPCEMU disk images, "MV - CPCEMU Disk-File" + /// Identifier for CPCEMU disk images, "MV - CPC" + usually : "EMU Disk-File\r\nDisk-Info\r\n" but not required /// readonly byte[] cpcdskId = { - 0x4D, 0x56, 0x20, 0x2D, 0x20, 0x43, 0x50, 0x43, 0x45, 0x4D, 0x55, 0x20, 0x44, 0x69, 0x73, 0x6B, 0x2D, - 0x46, 0x69, 0x6C, 0x65 + 0x4D, 0x56, 0x20, 0x2D, 0x20, 0x43, 0x50, 0x43 }; /// /// Identifier for DU54 disk images, "MV - CPC format Disk Image (DU54)" diff --git a/DiscImageChef.DiscImages/CPCDSK/Identify.cs b/DiscImageChef.DiscImages/CPCDSK/Identify.cs index 4d45d8689..baafbe1cb 100644 --- a/DiscImageChef.DiscImages/CPCDSK/Identify.cs +++ b/DiscImageChef.DiscImages/CPCDSK/Identify.cs @@ -1,4 +1,4 @@ -// /*************************************************************************** +// /*************************************************************************** // The Disc Image Chef // ---------------------------------------------------------------------------- // @@ -54,7 +54,7 @@ namespace DiscImageChef.DiscImages DicConsole.DebugWriteLine("CPCDSK plugin", "header.magic = \"{0}\"", StringHandlers.CToString(header.magic)); - return cpcdskId.SequenceEqual(header.magic) || edskId.SequenceEqual(header.magic) || + return cpcdskId.SequenceEqual(header.magic.Take(cpcdskId.Length)) || edskId.SequenceEqual(header.magic) || du54Id.SequenceEqual(header.magic); } } diff --git a/DiscImageChef.DiscImages/CPCDSK/Read.cs b/DiscImageChef.DiscImages/CPCDSK/Read.cs index 5df4ee9e1..84d554792 100644 --- a/DiscImageChef.DiscImages/CPCDSK/Read.cs +++ b/DiscImageChef.DiscImages/CPCDSK/Read.cs @@ -1,4 +1,4 @@ -// /*************************************************************************** +// /*************************************************************************** // The Disc Image Chef // ---------------------------------------------------------------------------- // @@ -59,7 +59,7 @@ namespace DiscImageChef.DiscImages stream.Read(headerB, 0, 256); CpcDiskInfo header = Marshal.ByteArrayToStructureLittleEndian(headerB); - if(!cpcdskId.SequenceEqual(header.magic) && + if(!cpcdskId.SequenceEqual(header.magic.Take(cpcdskId.Length)) && !edskId.SequenceEqual(header.magic) && !du54Id.SequenceEqual(header.magic)) return false; diff --git a/DiscImageChef.DiscImages/CPCDSK/Structs.cs b/DiscImageChef.DiscImages/CPCDSK/Structs.cs index 4099ab1d8..fe8c329aa 100644 --- a/DiscImageChef.DiscImages/CPCDSK/Structs.cs +++ b/DiscImageChef.DiscImages/CPCDSK/Structs.cs @@ -1,4 +1,4 @@ -// /*************************************************************************** +// /*************************************************************************** // The Disc Image Chef // ---------------------------------------------------------------------------- // @@ -41,7 +41,7 @@ namespace DiscImageChef.DiscImages struct CpcDiskInfo { /// - /// Magic number, "MV - CPCEMU Disk-File" in old files, "EXTENDED CPC DSK File" in extended ones + /// Magic number, "MV - CPC" in old files, "EXTENDED CPC DSK File" in extended ones /// [MarshalAs(UnmanagedType.ByValArray, SizeConst = 21)] public byte[] magic;