Mode2/2336 support (fixes #3387)
This commit is contained in:
parent
6c8d4c536a
commit
3c7fd55f70
|
@ -557,7 +557,7 @@ namespace BizHawk.Emulation.DiscSystem
|
|||
SS_Base synth = track.ReadMode switch
|
||||
{
|
||||
0 => new SS_Mode1_2048(),
|
||||
1 => throw new NotSupportedException("Mode2/2336"), // TODO
|
||||
1 => new SS_Mode2_2336(),
|
||||
2 => new SS_2352(),
|
||||
3 => new SS_CDI_RawQ(),
|
||||
4 => new SS_CDI_RawPQRSTUVW(),
|
||||
|
|
|
@ -337,8 +337,13 @@ namespace BizHawk.Emulation.DiscSystem.CUE
|
|||
sectorSize = 2048;
|
||||
break;
|
||||
|
||||
default:
|
||||
case CueTrackType.CDI_2336:
|
||||
case CueTrackType.Mode2_2336:
|
||||
ss = new SS_Mode2_2336();
|
||||
sectorSize = 2336;
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new InvalidOperationException($"Not supported: {cct.TrackType}");
|
||||
}
|
||||
|
||||
|
|
|
@ -68,6 +68,24 @@ namespace BizHawk.Emulation.DiscSystem.CUE
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a Mode2 2336-byte sector
|
||||
/// </summary>
|
||||
internal class SS_Mode2_2336 : SS_Base
|
||||
{
|
||||
public override void Synth(SectorSynthJob job)
|
||||
{
|
||||
//read the sector user data
|
||||
Blob.Read(BlobOffset, job.DestBuffer2448, job.DestOffset + 16, 2336);
|
||||
|
||||
if ((job.Parts & ESectorSynthPart.Header16) != 0)
|
||||
SynthUtils.SectorHeader(job.DestBuffer2448, job.DestOffset + 0, job.LBA, 2);
|
||||
|
||||
//if subcode is needed, synthesize it
|
||||
SynthSubchannelAsNeed(job);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents a 2352-byte sector of any sort
|
||||
/// </summary>
|
||||
|
@ -108,6 +126,8 @@ namespace BizHawk.Emulation.DiscSystem.CUE
|
|||
mode = 1;
|
||||
break;
|
||||
|
||||
case CueTrackType.CDI_2336:
|
||||
case CueTrackType.Mode2_2336:
|
||||
case CueTrackType.Mode2_2352:
|
||||
mode = 2;
|
||||
if (Policy.CUE_PregapMode2_As_XA_Form2)
|
||||
|
@ -123,7 +143,6 @@ namespace BizHawk.Emulation.DiscSystem.CUE
|
|||
Pause = true;
|
||||
break;
|
||||
|
||||
case CueTrackType.Mode2_2336:
|
||||
default:
|
||||
throw new InvalidOperationException($"Not supported: {TrackType}");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue