From 5930a0f88362623c2636d27de3d07fa5bee8db78 Mon Sep 17 00:00:00 2001 From: TC1995 Date: Tue, 27 Dec 2016 23:52:03 +0100 Subject: [PATCH] Decreased processed length per sector, fixes some buffer issues in the Read commands --- src/scsi_cdrom.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/scsi_cdrom.c b/src/scsi_cdrom.c index b95a4fac6..cb771ef67 100644 --- a/src/scsi_cdrom.c +++ b/src/scsi_cdrom.c @@ -1281,6 +1281,9 @@ void SCSICDROM_ReadData(uint8_t id, uint8_t *cdb, uint8_t *data, int datalen) { //Continue reading data until the sector length is 0. data += read_length; + + //Decrease the length left once it's processed. + datalen -= read_length; } pclog("True LBA: %d, buffer half: %d\n", SectorLBA, SectorLen * 2048); @@ -1694,6 +1697,9 @@ SCSIOut: { //Continue reading data until the sector length is 0. data += read_length; + + //Decrease the length left once it's processed. + datalen -= read_length; } //pclog("True LBA: %d, buffer half: %d\n", SectorLBA, SectorLen * cdrom_sector_size);