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>
|
||||
|
||||
* CDRDAO.cs:
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
<Compile Include="VHD.cs" />
|
||||
<Compile Include="ZZZRawImage.cs" />
|
||||
<Compile Include="CDRDAO.cs" />
|
||||
<Compile Include="GDI.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<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]
|
||||
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)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Feature is supported by image but not implemented yet.
|
||||
/// </summary>
|
||||
/// <param name="message">Message.</param>
|
||||
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,
|
||||
System.Runtime.Serialization.StreamingContext context)
|
||||
{
|
||||
@@ -716,14 +730,28 @@ namespace DiscImageChef.ImagePlugins
|
||||
[Serializable]
|
||||
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)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Feature is not supported by image.
|
||||
/// </summary>
|
||||
/// <param name="message">Message.</param>
|
||||
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,
|
||||
System.Runtime.Serialization.StreamingContext context)
|
||||
{
|
||||
@@ -738,14 +766,28 @@ namespace DiscImageChef.ImagePlugins
|
||||
[Serializable]
|
||||
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)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Feature is supported by image but not present on it.
|
||||
/// </summary>
|
||||
/// <param name="message">Message.</param>
|
||||
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,
|
||||
System.Runtime.Serialization.StreamingContext context)
|
||||
{
|
||||
@@ -760,14 +802,28 @@ namespace DiscImageChef.ImagePlugins
|
||||
[Serializable]
|
||||
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)
|
||||
{
|
||||
}
|
||||
|
||||
/// <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)
|
||||
{
|
||||
}
|
||||
|
||||
/// <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,
|
||||
System.Runtime.Serialization.StreamingContext context)
|
||||
{
|
||||
@@ -782,14 +838,28 @@ namespace DiscImageChef.ImagePlugins
|
||||
[Serializable]
|
||||
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)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Corrupt, incorrect or unhandled feature found on image
|
||||
/// </summary>
|
||||
/// <param name="message">Message.</param>
|
||||
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,
|
||||
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>
|
||||
|
||||
* ISO9660.cs:
|
||||
|
||||
@@ -80,9 +80,9 @@ namespace DiscImageChef.Plugins
|
||||
|
||||
public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, ulong partitionStart, ulong partitionEnd)
|
||||
{
|
||||
if (alreadyLaunched)
|
||||
/* if (alreadyLaunched)
|
||||
return false;
|
||||
alreadyLaunched = true;
|
||||
alreadyLaunched = true;*/
|
||||
|
||||
byte VDType;
|
||||
|
||||
@@ -776,54 +776,57 @@ namespace DiscImageChef.Plugins
|
||||
|
||||
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.AppendFormat("Peripherals:").AppendLine();
|
||||
|
||||
if ((iPeripherals & 0x00000100) == 0x00000100)
|
||||
if ((iPeripherals & 0x00000010) == 0x00000010)
|
||||
IPBinInformation.AppendLine("Game supports the VGA Box.");
|
||||
if ((iPeripherals & 0x00001000) == 0x00001000)
|
||||
if ((iPeripherals & 0x00000100) == 0x00000100)
|
||||
IPBinInformation.AppendLine("Game supports other expansion.");
|
||||
if ((iPeripherals & 0x00002000) == 0x00002000)
|
||||
if ((iPeripherals & 0x00000200) == 0x00000200)
|
||||
IPBinInformation.AppendLine("Game supports Puru Puru pack.");
|
||||
if ((iPeripherals & 0x00004000) == 0x00004000)
|
||||
if ((iPeripherals & 0x00000400) == 0x00000400)
|
||||
IPBinInformation.AppendLine("Game supports Mike Device.");
|
||||
if ((iPeripherals & 0x00008000) == 0x00008000)
|
||||
if ((iPeripherals & 0x00000800) == 0x00000800)
|
||||
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.");
|
||||
if ((iPeripherals & 0x00020000) == 0x00020000)
|
||||
if ((iPeripherals & 0x00002000) == 0x00002000)
|
||||
IPBinInformation.AppendLine("Game requires C button.");
|
||||
if ((iPeripherals & 0x00040000) == 0x00040000)
|
||||
if ((iPeripherals & 0x00004000) == 0x00004000)
|
||||
IPBinInformation.AppendLine("Game requires D button.");
|
||||
if ((iPeripherals & 0x00080000) == 0x00080000)
|
||||
if ((iPeripherals & 0x00008000) == 0x00008000)
|
||||
IPBinInformation.AppendLine("Game requires X button.");
|
||||
if ((iPeripherals & 0x00100000) == 0x00100000)
|
||||
if ((iPeripherals & 0x00010000) == 0x00010000)
|
||||
IPBinInformation.AppendLine("Game requires Y button.");
|
||||
if ((iPeripherals & 0x00200000) == 0x00200000)
|
||||
if ((iPeripherals & 0x00020000) == 0x00020000)
|
||||
IPBinInformation.AppendLine("Game requires Z button.");
|
||||
if ((iPeripherals & 0x00400000) == 0x00400000)
|
||||
if ((iPeripherals & 0x00040000) == 0x00040000)
|
||||
IPBinInformation.AppendLine("Game requires expanded direction buttons.");
|
||||
if ((iPeripherals & 0x00800000) == 0x00800000)
|
||||
if ((iPeripherals & 0x00080000) == 0x00080000)
|
||||
IPBinInformation.AppendLine("Game requires analog R trigger.");
|
||||
if ((iPeripherals & 0x01000000) == 0x01000000)
|
||||
if ((iPeripherals & 0x00100000) == 0x00100000)
|
||||
IPBinInformation.AppendLine("Game requires analog L trigger.");
|
||||
if ((iPeripherals & 0x02000000) == 0x02000000)
|
||||
if ((iPeripherals & 0x00200000) == 0x00200000)
|
||||
IPBinInformation.AppendLine("Game requires analog horizontal controller.");
|
||||
if ((iPeripherals & 0x04000000) == 0x04000000)
|
||||
if ((iPeripherals & 0x00400000) == 0x00400000)
|
||||
IPBinInformation.AppendLine("Game requires analog vertical controller.");
|
||||
if ((iPeripherals & 0x08000000) == 0x08000000)
|
||||
if ((iPeripherals & 0x00800000) == 0x00800000)
|
||||
IPBinInformation.AppendLine("Game requires expanded analog horizontal controller.");
|
||||
if ((iPeripherals & 0x10000000) == 0x10000000)
|
||||
if ((iPeripherals & 0x01000000) == 0x01000000)
|
||||
IPBinInformation.AppendLine("Game requires expanded analog vertical controller.");
|
||||
if ((iPeripherals & 0x20000000) == 0x20000000)
|
||||
if ((iPeripherals & 0x02000000) == 0x02000000)
|
||||
IPBinInformation.AppendLine("Game supports Gun.");
|
||||
if ((iPeripherals & 0x40000000) == 0x40000000)
|
||||
if ((iPeripherals & 0x04000000) == 0x04000000)
|
||||
IPBinInformation.AppendLine("Game supports Keyboard.");
|
||||
if ((iPeripherals & 0x80000000) == 0x80000000)
|
||||
if ((iPeripherals & 0x08000000) == 0x08000000)
|
||||
IPBinInformation.AppendLine("Game supports Mouse.");
|
||||
|
||||
if((iPeripherals & 0xEE) != 0)
|
||||
IPBinInformation.AppendFormat("Game supports unknown peripherals mask {0:X2}", (iPeripherals & 0xEE));
|
||||
|
||||
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>
|
||||
|
||||
* Commands/CreateSidecar.cs:
|
||||
|
||||
@@ -578,6 +578,9 @@ namespace DiscImageChef.Commands
|
||||
xmlTrk.Size = (xmlTrk.EndSector - xmlTrk.StartSector + 1) * trk.TrackRawBytesPerSector;
|
||||
xmlTrk.BytesPerSector = trk.TrackBytesPerSector;
|
||||
|
||||
// For fast debugging, skip checksum
|
||||
//goto skipChecksum;
|
||||
|
||||
uint sectorsToRead = 512;
|
||||
|
||||
adler32ctx = new Adler32Context();
|
||||
@@ -977,6 +980,9 @@ namespace DiscImageChef.Commands
|
||||
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);
|
||||
|
||||
List<Partition> partitions = new List<Partition>();
|
||||
@@ -993,10 +999,10 @@ namespace DiscImageChef.Commands
|
||||
}
|
||||
|
||||
xmlTrk.FileSystemInformation = new PartitionType[1];
|
||||
if(partitions.Count > 0)
|
||||
if (partitions.Count > 0)
|
||||
{
|
||||
xmlTrk.FileSystemInformation = new PartitionType[partitions.Count];
|
||||
for(int i = 0; i < partitions.Count; i++)
|
||||
for (int i = 0; i < partitions.Count; i++)
|
||||
{
|
||||
xmlTrk.FileSystemInformation[i] = new PartitionType();
|
||||
xmlTrk.FileSystemInformation[i].Description = partitions[i].PartitionDescription;
|
||||
@@ -1012,10 +1018,10 @@ namespace DiscImageChef.Commands
|
||||
{
|
||||
try
|
||||
{
|
||||
if (_plugin.Identify(_imageFormat, partitions[i].PartitionStartSector, partitions[i].PartitionStartSector+partitions[i].PartitionSectors-1))
|
||||
if (_plugin.Identify(_imageFormat, partitions[i].PartitionStartSector, partitions[i].PartitionStartSector + partitions[i].PartitionSectors - 1))
|
||||
{
|
||||
string foo;
|
||||
_plugin.GetInformation(_imageFormat, partitions[i].PartitionStartSector, partitions[i].PartitionStartSector+partitions[i].PartitionSectors-1, out foo);
|
||||
_plugin.GetInformation(_imageFormat, partitions[i].PartitionStartSector, partitions[i].PartitionStartSector + partitions[i].PartitionSectors - 1, out foo);
|
||||
lstFs.Add(_plugin.XmlFSType);
|
||||
}
|
||||
}
|
||||
@@ -1025,7 +1031,7 @@ namespace DiscImageChef.Commands
|
||||
}
|
||||
}
|
||||
|
||||
if(lstFs.Count > 0)
|
||||
if (lstFs.Count > 0)
|
||||
xmlTrk.FileSystemInformation[i].FileSystems = lstFs.ToArray();
|
||||
}
|
||||
}
|
||||
@@ -1054,7 +1060,7 @@ namespace DiscImageChef.Commands
|
||||
}
|
||||
}
|
||||
|
||||
if(lstFs.Count > 0)
|
||||
if (lstFs.Count > 0)
|
||||
xmlTrk.FileSystemInformation[0].FileSystems = lstFs.ToArray();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user