From 945a57376fc4494dfa2e78c9b9e65a22c4f0aff9 Mon Sep 17 00:00:00 2001 From: OBattler Date: Tue, 19 Nov 2024 23:43:55 +0100 Subject: [PATCH] CD-ROM: Fix raw TOC reads. --- src/cdrom/cdrom.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/cdrom/cdrom.c b/src/cdrom/cdrom.c index 4dc03885e..ff83b0a07 100644 --- a/src/cdrom/cdrom.c +++ b/src/cdrom/cdrom.c @@ -1188,12 +1188,14 @@ read_toc_raw(cdrom_t *dev, unsigned char *b) b[len++] = ti.attr; /* Track ADR and Control */ b[len++] = 0; /* TNO (always 0) */ b[len++] = ti.number; /* Point (for track points - track number) */ - b[len++] = ti.m; /* M */ - b[len++] = ti.s; /* S */ - b[len++] = ti.f; /* F */ + /* Yes, this is correct - MSF followed by PMSF, the actual position is in PMSF. */ b[len++] = 0; b[len++] = 0; b[len++] = 0; + b[len++] = 0; + b[len++] = ti.m; /* PM */ + b[len++] = ti.s; /* PS */ + b[len++] = ti.f; /* PF */ } return len;