PVD_HEADER VdHeader;
ULONG Size;
ULONG Offset;
- ULONG i;
CDROM_TOC Toc;
DPRINT("CdfsGetVolumeData\n");
DPRINT("FirstTrack %u, LastTrack %u, TrackNumber %u\n",
Toc.FirstTrack, Toc.LastTrack, Toc.TrackData[0].TrackNumber);
- Offset = 0;
- for (i = 0; i < 4; i++)
+ Offset = Toc.TrackData[0].Address[1] * 60 * 75;
+ Offset += Toc.TrackData[0].Address[2] * 75;
+ Offset += Toc.TrackData[0].Address[3];
+ if (Offset >= 150)
{
- Offset = (Offset << 8) + Toc.TrackData[0].Address[i];
+ /* Remove MSF numbering offset of first frame */
+ /* FIXME: should be done only for real cdroms? */
+ Offset -= 150;
}
CdInfo->VolumeOffset = Offset;