From bf105c6f2904c33139e4118e8488efacd3103b3b Mon Sep 17 00:00:00 2001 From: OBattler Date: Sat, 15 Jun 2024 17:27:19 +0200 Subject: [PATCH] CD-ROM image backend: Skip 8 bytes on every sector on non-raw CD-XA Mode 2 images. --- src/cdrom/cdrom_image_backend.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/cdrom/cdrom_image_backend.c b/src/cdrom/cdrom_image_backend.c index 5cdb2c988..003afb58c 100644 --- a/src/cdrom/cdrom_image_backend.c +++ b/src/cdrom/cdrom_image_backend.c @@ -764,6 +764,8 @@ cdi_add_track(cd_img_t *cdi, track_t *cur, uint64_t *shift, uint64_t prestart, u if (cur->number != 1) return 0; cur->skip = skip * cur->sector_size; + if ((cur->sector_size != RAW_SECTOR_SIZE) && (cur->form > 0)) + cur->skip += 8; cur->start += cur_pregap; *total_pregap = cur_pregap; cdi_track_push_back(cdi, cur); @@ -786,6 +788,8 @@ cdi_add_track(cd_img_t *cdi, track_t *cur, uint64_t *shift, uint64_t prestart, u cur->start += prev->start + prev->length + cur_pregap; cur->skip = skip * cur->sector_size; + if ((cur->sector_size != RAW_SECTOR_SIZE) && (cur->form > 0)) + cur->skip += 8; *shift += prev->start + prev->length; *total_pregap = cur_pregap; }