mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Correct setting disc type in A0h entries in Alcohol images. Fixes #185.
This commit is contained in:
@@ -1912,6 +1912,21 @@ namespace DiscImageChef.DiscImages
|
|||||||
(byte hour, byte minute, byte second, byte frame) leadinPmsf =
|
(byte hour, byte minute, byte second, byte frame) leadinPmsf =
|
||||||
LbaToMsf(lastTrack.TrackEndSector + 1);
|
LbaToMsf(lastTrack.TrackEndSector + 1);
|
||||||
|
|
||||||
|
byte discTypeToc = 0;
|
||||||
|
FullTOC.CDFullTOC? decodedToc = FullTOC.Decode(fullToc);
|
||||||
|
if(decodedToc.HasValue &&
|
||||||
|
decodedToc.Value.TrackDescriptors.Any(t => t.SessionNumber == i && t.POINT == 0xA0))
|
||||||
|
discTypeToc = decodedToc.Value.TrackDescriptors
|
||||||
|
.First(t => t.SessionNumber == i && t.POINT == 0xA0).PSEC;
|
||||||
|
else
|
||||||
|
discTypeToc = (byte)(imageInfo.MediaType == MediaType.CDI
|
||||||
|
? 0x10
|
||||||
|
: writingTracks.Any(t => t.TrackType == TrackType.CdMode2Form1 ||
|
||||||
|
t.TrackType == TrackType.CdMode2Form2 ||
|
||||||
|
t.TrackType == TrackType.CdMode2Formless)
|
||||||
|
? 0x20
|
||||||
|
: 0);
|
||||||
|
|
||||||
thisSessionTracks.Add(0xA0,
|
thisSessionTracks.Add(0xA0,
|
||||||
new AlcoholTrack
|
new AlcoholTrack
|
||||||
{
|
{
|
||||||
@@ -1920,7 +1935,8 @@ namespace DiscImageChef.DiscImages
|
|||||||
mode = AlcoholTrackMode.NoData,
|
mode = AlcoholTrackMode.NoData,
|
||||||
point = 0xA0,
|
point = 0xA0,
|
||||||
unknown = new byte[18],
|
unknown = new byte[18],
|
||||||
unknown2 = new byte[24]
|
unknown2 = new byte[24],
|
||||||
|
psec = discTypeToc
|
||||||
});
|
});
|
||||||
|
|
||||||
thisSessionTracks.Add(0xA1,
|
thisSessionTracks.Add(0xA1,
|
||||||
@@ -1957,6 +1973,9 @@ namespace DiscImageChef.DiscImages
|
|||||||
if(trackControl == 0 && track.TrackType != TrackType.Audio)
|
if(trackControl == 0 && track.TrackType != TrackType.Audio)
|
||||||
trackControl = (byte)CdFlags.DataTrack;
|
trackControl = (byte)CdFlags.DataTrack;
|
||||||
|
|
||||||
|
System.Console.WriteLine("ttyp {0} alctype {1}", track.TrackType,
|
||||||
|
TrackTypeToAlcohol(track.TrackType));
|
||||||
|
|
||||||
thisSessionTracks.Add((int)track.TrackSequence, new AlcoholTrack
|
thisSessionTracks.Add((int)track.TrackSequence, new AlcoholTrack
|
||||||
{
|
{
|
||||||
mode = TrackTypeToAlcohol(track.TrackType),
|
mode = TrackTypeToAlcohol(track.TrackType),
|
||||||
|
|||||||
Reference in New Issue
Block a user