mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
🐛Fix detecting CD-i and CD-ROM XA on dumping and media-info.
This commit is contained in:
@@ -391,6 +391,18 @@ namespace DiscImageChef.Core.Devices.Dumping
|
|||||||
|
|
||||||
lastSector = phour * 3600 * 75 + pmin * 60 * 75 + psec * 75 + pframe - 150;
|
lastSector = phour * 3600 * 75 + pmin * 60 * 75 + psec * 75 + pframe - 150;
|
||||||
}
|
}
|
||||||
|
else if(trk.POINT == 0xA0 && trk.ADR == 1)
|
||||||
|
{
|
||||||
|
switch(trk.PSEC)
|
||||||
|
{
|
||||||
|
case 0x10:
|
||||||
|
dskType = MediaType.CDI;
|
||||||
|
break;
|
||||||
|
case 0x20:
|
||||||
|
dskType = MediaType.CDROMXA;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(trackList.Count == 0)
|
if(trackList.Count == 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1158,6 +1158,25 @@ namespace DiscImageChef.Commands
|
|||||||
DataFile.WriteTo("Media-Info command", outputPrefix, "_rawtoc.bin",
|
DataFile.WriteTo("Media-Info command", outputPrefix, "_rawtoc.bin",
|
||||||
"SCSI READ TOC/PMA/ATIP", cmdBuf);
|
"SCSI READ TOC/PMA/ATIP", cmdBuf);
|
||||||
DicConsole.WriteLine("Raw TOC:\n{0}", FullTOC.Prettify(cmdBuf));
|
DicConsole.WriteLine("Raw TOC:\n{0}", FullTOC.Prettify(cmdBuf));
|
||||||
|
|
||||||
|
FullTOC.CDFullTOC? fullToc = FullTOC.Decode(cmdBuf);
|
||||||
|
if(fullToc.HasValue)
|
||||||
|
{
|
||||||
|
FullTOC.TrackDataDescriptor a0Track =
|
||||||
|
fullToc.Value.TrackDescriptors.FirstOrDefault(t => t.POINT == 0xA0 && t.ADR == 1);
|
||||||
|
if(a0Track.POINT == 0xA0)
|
||||||
|
{
|
||||||
|
switch(a0Track.PSEC)
|
||||||
|
{
|
||||||
|
case 0x10:
|
||||||
|
dskType = MediaType.CDI;
|
||||||
|
break;
|
||||||
|
case 0x20:
|
||||||
|
dskType = MediaType.CDROMXA;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
sense = dev.ReadPma(out cmdBuf, out senseBuf, dev.Timeout, out _);
|
sense = dev.ReadPma(out cmdBuf, out senseBuf, dev.Timeout, out _);
|
||||||
if(sense)
|
if(sense)
|
||||||
|
|||||||
Reference in New Issue
Block a user