Parcourir la source

Fix invalid CDROM TOC responses (thanks Simon Gander)

Michael McMaster il y a 5 ans
Parent
commit
a3819f8665
2 fichiers modifiés avec 8 ajouts et 5 suppressions
  1. 3 0
      lib/SCSI2SD/CHANGELOG
  2. 5 5
      lib/SCSI2SD/src/firmware/cdrom.c

+ 3 - 0
lib/SCSI2SD/CHANGELOG

@@ -1,3 +1,6 @@
+2020XXXX		XXXXX
+	- Fix for invalid CDROM READ TOC responses (Thanks Simon Gander)
+
 20191208		6.2.9
 	- Fix to prevent sending floppy geometry mode page when not configured as
 	a floppy (Thanks Landon Rodgers)

+ 5 - 5
lib/SCSI2SD/src/firmware/cdrom.c

@@ -170,14 +170,14 @@ static void doReadTOC(int MSF, uint8_t track, uint16_t allocationLength)
 		// Replace start of leadout track
 		if (MSF)
 		{
-			LBA2MSF(capacity, scsiDev.data + 0x0E);
+			LBA2MSF(capacity, scsiDev.data + 0x10);
 		}
 		else
 		{
-			scsiDev.data[0x0E] = capacity >> 24;
-			scsiDev.data[0x0F] = capacity >> 16;
-			scsiDev.data[0x10] = capacity >> 8;
-			scsiDev.data[0x11] = capacity;
+			scsiDev.data[0x10] = capacity >> 24;
+			scsiDev.data[0x11] = capacity >> 16;
+			scsiDev.data[0x12] = capacity >> 8;
+			scsiDev.data[0x13] = capacity;
 		}
 
 		if (len > allocationLength)