From e332a30563eaf33f7e2f29c91c48b0b8f6a5df6f Mon Sep 17 00:00:00 2001 From: OBattler Date: Thu, 27 Nov 2025 04:26:28 +0100 Subject: [PATCH] CD-ROM: Seeking now explicitly handles cached sectors. --- src/cdrom/cdrom.c | 4 +++- src/scsi/scsi_cdrom.c | 4 +--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/cdrom/cdrom.c b/src/cdrom/cdrom.c index 3b7eaeb3f..52ea97972 100644 --- a/src/cdrom/cdrom.c +++ b/src/cdrom/cdrom.c @@ -1469,8 +1469,10 @@ cdrom_seek(cdrom_t *dev, const uint32_t pos, const uint8_t vendor_type) break; } - dev->seek_pos = real_pos; cdrom_stop(dev); + + dev->seek_pos = real_pos; + dev->cached_sector = -1; } int diff --git a/src/scsi/scsi_cdrom.c b/src/scsi/scsi_cdrom.c index f5b81e369..ca5d237b9 100644 --- a/src/scsi/scsi_cdrom.c +++ b/src/scsi/scsi_cdrom.c @@ -2494,7 +2494,6 @@ scsi_cdrom_command(scsi_common_t *sc, const uint8_t *cdb) dev->drv->seek_diff = dev->drv->seek_pos; cdrom_seek(dev->drv, 0, 0); dev->sector_pos = dev->drv->seek_pos; - dev->drv->cached_sector = -1; scsi_cdrom_set_phase(dev, SCSI_PHASE_STATUS); break; @@ -3557,8 +3556,7 @@ atapi_out: else cdrom_seek(dev->drv, pos, 0); - dev->sector_pos = dev->drv->seek_pos; - dev->drv->cached_sector = -1; + dev->sector_pos = dev->drv->seek_pos; scsi_cdrom_command_complete(dev); break;