mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Added support for Nintendo GOD and WOD.
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
2015-12-03 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* DVD/PFI.cs:
|
||||
* DVD/Enums.cs:
|
||||
Added support for Nintendo GOD and WOD.
|
||||
|
||||
2015-12-03 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* Xbox/DMI.cs:
|
||||
|
||||
@@ -77,7 +77,12 @@ namespace DiscImageChef.Decoders.DVD
|
||||
/// <summary>
|
||||
/// DVD+R DL. Version 1 is ECMA-364.
|
||||
/// </summary>
|
||||
DVDPRDL = 14
|
||||
DVDPRDL = 14,
|
||||
/// <summary>
|
||||
/// According to standards this value is reserved.
|
||||
/// It's used by Nintendo GODs and WODs.
|
||||
/// </summary>
|
||||
Nintendo = 15
|
||||
}
|
||||
|
||||
public enum MaximumRateField : byte
|
||||
|
||||
@@ -1470,6 +1470,19 @@ namespace DiscImageChef.Decoders.DVD
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case DiskCategory.Nintendo:
|
||||
if (decoded.PartVersion == 15)
|
||||
{
|
||||
if (decoded.DiscSize == DVDSize.Eighty)
|
||||
sb.AppendLine("Disc is a Nintendo Gamecube Optical Disc (GOD)");
|
||||
else if (decoded.DiscSize == DVDSize.OneTwenty)
|
||||
sb.AppendLine("Disc is a Nintendo Wii Optical Disc (WOD)");
|
||||
else
|
||||
goto default;
|
||||
}
|
||||
else
|
||||
goto default;
|
||||
break;
|
||||
default:
|
||||
sb.AppendFormat(categorySentence, sizeString, "unknown disc type", decoded.PartVersion).AppendLine();
|
||||
break;
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
2015-12-03 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* Commands/MediaInfo.cs:
|
||||
Added support for Nintendo GOD and WOD.
|
||||
|
||||
2015-12-03 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* Commands/MediaInfo.cs:
|
||||
|
||||
@@ -817,7 +817,19 @@ namespace DiscImageChef.Commands
|
||||
else
|
||||
{
|
||||
doWriteFile(outputPrefix, "_readdiscstructure_dvd_pfi.bin", "SCSI READ DISC STRUCTURE", cmdBuf);
|
||||
DicConsole.WriteLine("PFI:\n{0}", Decoders.DVD.PFI.Prettify(cmdBuf));
|
||||
Decoders.DVD.PFI.PhysicalFormatInformation? nintendoPfi = Decoders.DVD.PFI.Decode(cmdBuf);
|
||||
if(nintendoPfi != null)
|
||||
{
|
||||
DicConsole.WriteLine("PFI:\n{0}", Decoders.DVD.PFI.Prettify(cmdBuf));
|
||||
if(nintendoPfi.Value.DiskCategory == DiscImageChef.Decoders.DVD.DiskCategory.Nintendo &&
|
||||
nintendoPfi.Value.PartVersion == 15)
|
||||
{
|
||||
if(nintendoPfi.Value.DiscSize == DiscImageChef.Decoders.DVD.DVDSize.Eighty)
|
||||
dskType = DiskType.GOD;
|
||||
else if(nintendoPfi.Value.DiscSize == DiscImageChef.Decoders.DVD.DVDSize.OneTwenty)
|
||||
dskType = DiskType.WOD;
|
||||
}
|
||||
}
|
||||
}
|
||||
sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, MmcDiscStructureFormat.DiscManufacturingInformation, 0, dev.Timeout, out duration);
|
||||
if(sense)
|
||||
@@ -837,7 +849,6 @@ namespace DiscImageChef.Commands
|
||||
DicConsole.ErrorWriteLine("READ DISC STRUCTURE: BCA\n{0}", Decoders.SCSI.Sense.PrettifySense(senseBuf));
|
||||
else
|
||||
doWriteFile(outputPrefix, "_readdiscstructure_dvd_bca.bin", "SCSI READ DISC STRUCTURE", cmdBuf);
|
||||
|
||||
}
|
||||
#endregion Nintendo
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user