mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
* README.md:
* DiscImageChef.DiscImages/GDI.cs: * DiscImageChef.DiscImages/DiscImageChef.DiscImages.csproj: Added support for Dreamcast GDI images. * DiscImageChef.DiscImages/ImagePlugin.cs: Add XML documentation to exceptions. * DiscImageChef.Filesystems/ISO9660.cs: Corrected Dreamcast IP.BIN interpretation. * DiscImageChef/Commands/CreateSidecar.cs: Formatting.
This commit is contained in:
@@ -1,3 +1,12 @@
|
|||||||
|
2015-12-25 Natalia Portillo <claunia@claunia.com>
|
||||||
|
|
||||||
|
* GDI.cs:
|
||||||
|
* DiscImageChef.DiscImages.csproj:
|
||||||
|
Added support for Dreamcast GDI images.
|
||||||
|
|
||||||
|
* ImagePlugin.cs:
|
||||||
|
Add XML documentation to exceptions.
|
||||||
|
|
||||||
2015-12-23 Natalia Portillo <claunia@claunia.com>
|
2015-12-23 Natalia Portillo <claunia@claunia.com>
|
||||||
|
|
||||||
* CDRDAO.cs:
|
* CDRDAO.cs:
|
||||||
|
|||||||
@@ -44,6 +44,7 @@
|
|||||||
<Compile Include="VHD.cs" />
|
<Compile Include="VHD.cs" />
|
||||||
<Compile Include="ZZZRawImage.cs" />
|
<Compile Include="ZZZRawImage.cs" />
|
||||||
<Compile Include="CDRDAO.cs" />
|
<Compile Include="CDRDAO.cs" />
|
||||||
|
<Compile Include="GDI.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
1249
DiscImageChef.DiscImages/GDI.cs
Normal file
1249
DiscImageChef.DiscImages/GDI.cs
Normal file
File diff suppressed because it is too large
Load Diff
@@ -694,14 +694,28 @@ namespace DiscImageChef.ImagePlugins
|
|||||||
[Serializable]
|
[Serializable]
|
||||||
public class FeatureSupportedButNotImplementedImageException : Exception
|
public class FeatureSupportedButNotImplementedImageException : Exception
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is supported by image but not implemented yet.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="message">Message.</param>
|
||||||
|
/// <param name="inner">Inner.</param>
|
||||||
public FeatureSupportedButNotImplementedImageException(string message, Exception inner) : base(message, inner)
|
public FeatureSupportedButNotImplementedImageException(string message, Exception inner) : base(message, inner)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is supported by image but not implemented yet.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="message">Message.</param>
|
||||||
public FeatureSupportedButNotImplementedImageException(string message) : base(message)
|
public FeatureSupportedButNotImplementedImageException(string message) : base(message)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is supported by image but not implemented yet.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="info">Info.</param>
|
||||||
|
/// <param name="context">Context.</param>
|
||||||
protected FeatureSupportedButNotImplementedImageException(System.Runtime.Serialization.SerializationInfo info,
|
protected FeatureSupportedButNotImplementedImageException(System.Runtime.Serialization.SerializationInfo info,
|
||||||
System.Runtime.Serialization.StreamingContext context)
|
System.Runtime.Serialization.StreamingContext context)
|
||||||
{
|
{
|
||||||
@@ -716,14 +730,28 @@ namespace DiscImageChef.ImagePlugins
|
|||||||
[Serializable]
|
[Serializable]
|
||||||
public class FeatureUnsupportedImageException : Exception
|
public class FeatureUnsupportedImageException : Exception
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is not supported by image.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="message">Message.</param>
|
||||||
|
/// <param name="inner">Inner.</param>
|
||||||
public FeatureUnsupportedImageException(string message, Exception inner) : base(message, inner)
|
public FeatureUnsupportedImageException(string message, Exception inner) : base(message, inner)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is not supported by image.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="message">Message.</param>
|
||||||
public FeatureUnsupportedImageException(string message) : base(message)
|
public FeatureUnsupportedImageException(string message) : base(message)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is not supported by image.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="info">Info.</param>
|
||||||
|
/// <param name="context">Context.</param>
|
||||||
protected FeatureUnsupportedImageException(System.Runtime.Serialization.SerializationInfo info,
|
protected FeatureUnsupportedImageException(System.Runtime.Serialization.SerializationInfo info,
|
||||||
System.Runtime.Serialization.StreamingContext context)
|
System.Runtime.Serialization.StreamingContext context)
|
||||||
{
|
{
|
||||||
@@ -738,14 +766,28 @@ namespace DiscImageChef.ImagePlugins
|
|||||||
[Serializable]
|
[Serializable]
|
||||||
public class FeatureNotPresentImageException : Exception
|
public class FeatureNotPresentImageException : Exception
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is supported by image but not present on it.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="message">Message.</param>
|
||||||
|
/// <param name="inner">Inner.</param>
|
||||||
public FeatureNotPresentImageException(string message, Exception inner) : base(message, inner)
|
public FeatureNotPresentImageException(string message, Exception inner) : base(message, inner)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is supported by image but not present on it.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="message">Message.</param>
|
||||||
public FeatureNotPresentImageException(string message) : base(message)
|
public FeatureNotPresentImageException(string message) : base(message)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is supported by image but not present on it.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="info">Info.</param>
|
||||||
|
/// <param name="context">Context.</param>
|
||||||
protected FeatureNotPresentImageException(System.Runtime.Serialization.SerializationInfo info,
|
protected FeatureNotPresentImageException(System.Runtime.Serialization.SerializationInfo info,
|
||||||
System.Runtime.Serialization.StreamingContext context)
|
System.Runtime.Serialization.StreamingContext context)
|
||||||
{
|
{
|
||||||
@@ -760,14 +802,28 @@ namespace DiscImageChef.ImagePlugins
|
|||||||
[Serializable]
|
[Serializable]
|
||||||
public class FeaturedNotSupportedByDiscImageException : Exception
|
public class FeaturedNotSupportedByDiscImageException : Exception
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is supported by image but not by the disc it represents.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="message">Message.</param>
|
||||||
|
/// <param name="inner">Inner.</param>
|
||||||
public FeaturedNotSupportedByDiscImageException(string message, Exception inner) : base(message, inner)
|
public FeaturedNotSupportedByDiscImageException(string message, Exception inner) : base(message, inner)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is supported by image but not by the disc it represents.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="message">Message.</param>
|
||||||
public FeaturedNotSupportedByDiscImageException(string message) : base(message)
|
public FeaturedNotSupportedByDiscImageException(string message) : base(message)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Feature is supported by image but not by the disc it represents.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="info">Info.</param>
|
||||||
|
/// <param name="context">Context.</param>
|
||||||
protected FeaturedNotSupportedByDiscImageException(System.Runtime.Serialization.SerializationInfo info,
|
protected FeaturedNotSupportedByDiscImageException(System.Runtime.Serialization.SerializationInfo info,
|
||||||
System.Runtime.Serialization.StreamingContext context)
|
System.Runtime.Serialization.StreamingContext context)
|
||||||
{
|
{
|
||||||
@@ -782,14 +838,28 @@ namespace DiscImageChef.ImagePlugins
|
|||||||
[Serializable]
|
[Serializable]
|
||||||
public class ImageNotSupportedException : Exception
|
public class ImageNotSupportedException : Exception
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Corrupt, incorrect or unhandled feature found on image
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="message">Message.</param>
|
||||||
|
/// <param name="inner">Inner.</param>
|
||||||
public ImageNotSupportedException(string message, Exception inner) : base(message, inner)
|
public ImageNotSupportedException(string message, Exception inner) : base(message, inner)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Corrupt, incorrect or unhandled feature found on image
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="message">Message.</param>
|
||||||
public ImageNotSupportedException(string message) : base(message)
|
public ImageNotSupportedException(string message) : base(message)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Corrupt, incorrect or unhandled feature found on image
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="info">Info.</param>
|
||||||
|
/// <param name="context">Context.</param>
|
||||||
protected ImageNotSupportedException(System.Runtime.Serialization.SerializationInfo info,
|
protected ImageNotSupportedException(System.Runtime.Serialization.SerializationInfo info,
|
||||||
System.Runtime.Serialization.StreamingContext context)
|
System.Runtime.Serialization.StreamingContext context)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,3 +1,8 @@
|
|||||||
|
2015-12-25 Natalia Portillo <claunia@claunia.com>
|
||||||
|
|
||||||
|
* ISO9660.cs:
|
||||||
|
Corrected Dreamcast IP.BIN interpretation.
|
||||||
|
|
||||||
2015-12-23 Natalia Portillo <claunia@claunia.com>
|
2015-12-23 Natalia Portillo <claunia@claunia.com>
|
||||||
|
|
||||||
* ISO9660.cs:
|
* ISO9660.cs:
|
||||||
|
|||||||
@@ -80,9 +80,9 @@ namespace DiscImageChef.Plugins
|
|||||||
|
|
||||||
public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, ulong partitionStart, ulong partitionEnd)
|
public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, ulong partitionStart, ulong partitionEnd)
|
||||||
{
|
{
|
||||||
if (alreadyLaunched)
|
/* if (alreadyLaunched)
|
||||||
return false;
|
return false;
|
||||||
alreadyLaunched = true;
|
alreadyLaunched = true;*/
|
||||||
|
|
||||||
byte VDType;
|
byte VDType;
|
||||||
|
|
||||||
@@ -776,54 +776,57 @@ namespace DiscImageChef.Plugins
|
|||||||
|
|
||||||
int iPeripherals = int.Parse(Encoding.ASCII.GetString(peripherals), NumberStyles.HexNumber);
|
int iPeripherals = int.Parse(Encoding.ASCII.GetString(peripherals), NumberStyles.HexNumber);
|
||||||
|
|
||||||
if((iPeripherals & 0x00000010) == 0x00000010)
|
if((iPeripherals & 0x00000001) == 0x00000001)
|
||||||
IPBinInformation.AppendLine("Game uses Windows CE.");
|
IPBinInformation.AppendLine("Game uses Windows CE.");
|
||||||
|
|
||||||
IPBinInformation.AppendFormat("Peripherals:").AppendLine();
|
IPBinInformation.AppendFormat("Peripherals:").AppendLine();
|
||||||
|
|
||||||
if ((iPeripherals & 0x00000100) == 0x00000100)
|
if ((iPeripherals & 0x00000010) == 0x00000010)
|
||||||
IPBinInformation.AppendLine("Game supports the VGA Box.");
|
IPBinInformation.AppendLine("Game supports the VGA Box.");
|
||||||
if ((iPeripherals & 0x00001000) == 0x00001000)
|
if ((iPeripherals & 0x00000100) == 0x00000100)
|
||||||
IPBinInformation.AppendLine("Game supports other expansion.");
|
IPBinInformation.AppendLine("Game supports other expansion.");
|
||||||
if ((iPeripherals & 0x00002000) == 0x00002000)
|
if ((iPeripherals & 0x00000200) == 0x00000200)
|
||||||
IPBinInformation.AppendLine("Game supports Puru Puru pack.");
|
IPBinInformation.AppendLine("Game supports Puru Puru pack.");
|
||||||
if ((iPeripherals & 0x00004000) == 0x00004000)
|
if ((iPeripherals & 0x00000400) == 0x00000400)
|
||||||
IPBinInformation.AppendLine("Game supports Mike Device.");
|
IPBinInformation.AppendLine("Game supports Mike Device.");
|
||||||
if ((iPeripherals & 0x00008000) == 0x00008000)
|
if ((iPeripherals & 0x00000800) == 0x00000800)
|
||||||
IPBinInformation.AppendLine("Game supports Memory Card.");
|
IPBinInformation.AppendLine("Game supports Memory Card.");
|
||||||
if ((iPeripherals & 0x00010000) == 0x00010000)
|
if ((iPeripherals & 0x00001000) == 0x00001000)
|
||||||
IPBinInformation.AppendLine("Game requires A + B + Start buttons and D-Pad.");
|
IPBinInformation.AppendLine("Game requires A + B + Start buttons and D-Pad.");
|
||||||
if ((iPeripherals & 0x00020000) == 0x00020000)
|
if ((iPeripherals & 0x00002000) == 0x00002000)
|
||||||
IPBinInformation.AppendLine("Game requires C button.");
|
IPBinInformation.AppendLine("Game requires C button.");
|
||||||
if ((iPeripherals & 0x00040000) == 0x00040000)
|
if ((iPeripherals & 0x00004000) == 0x00004000)
|
||||||
IPBinInformation.AppendLine("Game requires D button.");
|
IPBinInformation.AppendLine("Game requires D button.");
|
||||||
if ((iPeripherals & 0x00080000) == 0x00080000)
|
if ((iPeripherals & 0x00008000) == 0x00008000)
|
||||||
IPBinInformation.AppendLine("Game requires X button.");
|
IPBinInformation.AppendLine("Game requires X button.");
|
||||||
if ((iPeripherals & 0x00100000) == 0x00100000)
|
if ((iPeripherals & 0x00010000) == 0x00010000)
|
||||||
IPBinInformation.AppendLine("Game requires Y button.");
|
IPBinInformation.AppendLine("Game requires Y button.");
|
||||||
if ((iPeripherals & 0x00200000) == 0x00200000)
|
if ((iPeripherals & 0x00020000) == 0x00020000)
|
||||||
IPBinInformation.AppendLine("Game requires Z button.");
|
IPBinInformation.AppendLine("Game requires Z button.");
|
||||||
if ((iPeripherals & 0x00400000) == 0x00400000)
|
if ((iPeripherals & 0x00040000) == 0x00040000)
|
||||||
IPBinInformation.AppendLine("Game requires expanded direction buttons.");
|
IPBinInformation.AppendLine("Game requires expanded direction buttons.");
|
||||||
if ((iPeripherals & 0x00800000) == 0x00800000)
|
if ((iPeripherals & 0x00080000) == 0x00080000)
|
||||||
IPBinInformation.AppendLine("Game requires analog R trigger.");
|
IPBinInformation.AppendLine("Game requires analog R trigger.");
|
||||||
if ((iPeripherals & 0x01000000) == 0x01000000)
|
if ((iPeripherals & 0x00100000) == 0x00100000)
|
||||||
IPBinInformation.AppendLine("Game requires analog L trigger.");
|
IPBinInformation.AppendLine("Game requires analog L trigger.");
|
||||||
if ((iPeripherals & 0x02000000) == 0x02000000)
|
if ((iPeripherals & 0x00200000) == 0x00200000)
|
||||||
IPBinInformation.AppendLine("Game requires analog horizontal controller.");
|
IPBinInformation.AppendLine("Game requires analog horizontal controller.");
|
||||||
if ((iPeripherals & 0x04000000) == 0x04000000)
|
if ((iPeripherals & 0x00400000) == 0x00400000)
|
||||||
IPBinInformation.AppendLine("Game requires analog vertical controller.");
|
IPBinInformation.AppendLine("Game requires analog vertical controller.");
|
||||||
if ((iPeripherals & 0x08000000) == 0x08000000)
|
if ((iPeripherals & 0x00800000) == 0x00800000)
|
||||||
IPBinInformation.AppendLine("Game requires expanded analog horizontal controller.");
|
IPBinInformation.AppendLine("Game requires expanded analog horizontal controller.");
|
||||||
if ((iPeripherals & 0x10000000) == 0x10000000)
|
if ((iPeripherals & 0x01000000) == 0x01000000)
|
||||||
IPBinInformation.AppendLine("Game requires expanded analog vertical controller.");
|
IPBinInformation.AppendLine("Game requires expanded analog vertical controller.");
|
||||||
if ((iPeripherals & 0x20000000) == 0x20000000)
|
if ((iPeripherals & 0x02000000) == 0x02000000)
|
||||||
IPBinInformation.AppendLine("Game supports Gun.");
|
IPBinInformation.AppendLine("Game supports Gun.");
|
||||||
if ((iPeripherals & 0x40000000) == 0x40000000)
|
if ((iPeripherals & 0x04000000) == 0x04000000)
|
||||||
IPBinInformation.AppendLine("Game supports Keyboard.");
|
IPBinInformation.AppendLine("Game supports Keyboard.");
|
||||||
if ((iPeripherals & 0x80000000) == 0x80000000)
|
if ((iPeripherals & 0x08000000) == 0x08000000)
|
||||||
IPBinInformation.AppendLine("Game supports Mouse.");
|
IPBinInformation.AppendLine("Game supports Mouse.");
|
||||||
|
|
||||||
|
if((iPeripherals & 0xEE) != 0)
|
||||||
|
IPBinInformation.AppendFormat("Game supports unknown peripherals mask {0:X2}", (iPeripherals & 0xEE));
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,8 @@
|
|||||||
|
2015-12-25 Natalia Portillo <claunia@claunia.com>
|
||||||
|
|
||||||
|
* Commands/CreateSidecar.cs:
|
||||||
|
Formatting.
|
||||||
|
|
||||||
2015-12-23 Natalia Portillo <claunia@claunia.com>
|
2015-12-23 Natalia Portillo <claunia@claunia.com>
|
||||||
|
|
||||||
* Commands/CreateSidecar.cs:
|
* Commands/CreateSidecar.cs:
|
||||||
|
|||||||
@@ -578,6 +578,9 @@ namespace DiscImageChef.Commands
|
|||||||
xmlTrk.Size = (xmlTrk.EndSector - xmlTrk.StartSector + 1) * trk.TrackRawBytesPerSector;
|
xmlTrk.Size = (xmlTrk.EndSector - xmlTrk.StartSector + 1) * trk.TrackRawBytesPerSector;
|
||||||
xmlTrk.BytesPerSector = trk.TrackBytesPerSector;
|
xmlTrk.BytesPerSector = trk.TrackBytesPerSector;
|
||||||
|
|
||||||
|
// For fast debugging, skip checksum
|
||||||
|
//goto skipChecksum;
|
||||||
|
|
||||||
uint sectorsToRead = 512;
|
uint sectorsToRead = 512;
|
||||||
|
|
||||||
adler32ctx = new Adler32Context();
|
adler32ctx = new Adler32Context();
|
||||||
@@ -977,6 +980,9 @@ namespace DiscImageChef.Commands
|
|||||||
DicConsole.WriteLine();
|
DicConsole.WriteLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// For fast debugging, skip checksum
|
||||||
|
//skipChecksum:
|
||||||
|
|
||||||
DicConsole.WriteLine("Checking filesystems on track {0} from sector {1} to {2}", xmlTrk.Sequence.TrackNumber, xmlTrk.StartSector, xmlTrk.EndSector);
|
DicConsole.WriteLine("Checking filesystems on track {0} from sector {1} to {2}", xmlTrk.Sequence.TrackNumber, xmlTrk.StartSector, xmlTrk.EndSector);
|
||||||
|
|
||||||
List<Partition> partitions = new List<Partition>();
|
List<Partition> partitions = new List<Partition>();
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ Supported disk image formats
|
|||||||
* Apple 2IMG (used with Apple // emulators)
|
* Apple 2IMG (used with Apple // emulators)
|
||||||
* Virtual PC fixed size, dynamic size and differencing (undo) disk images
|
* Virtual PC fixed size, dynamic size and differencing (undo) disk images
|
||||||
* CDRDAO TOC sheets
|
* CDRDAO TOC sheets
|
||||||
|
* Dreamcast GDI
|
||||||
|
|
||||||
Supported partitioning schemes
|
Supported partitioning schemes
|
||||||
==============================
|
==============================
|
||||||
|
|||||||
Reference in New Issue
Block a user