mcd, fix audio not playing when buffer RAM enabled
authorkub <derkub@gmail.com>
Fri, 23 Feb 2024 18:21:39 +0000 (19:21 +0100)
committerkub <derkub@gmail.com>
Fri, 23 Feb 2024 18:23:37 +0000 (19:23 +0100)
pico/cd/cdd.c

index a3c3c93..78fae75 100644 (file)
@@ -182,7 +182,7 @@ static void cdd_change_track(int index, int lba)
 {
   int i, base, lba_offset, lb_len;
 
-  for (i = index; i > 0; i--)
+  for (i = index; i >= 0; i--)
     if (cdd.toc.tracks[i].fd != NULL)
       break;
 
@@ -510,7 +510,7 @@ int cdd_unload(void)
 void cdd_read_data(uint8 *dst)
 {
   /* only read DATA track sectors */
-  if ((cdd.lba >= 0) && (cdd.lba < cdd.toc.tracks[cdd.index].end))
+  if (!is_audio(cdd.index) && (cdd.lba >= 0) && (cdd.lba < cdd.toc.tracks[cdd.index].end))
   {
     /* BIN format ? */
     if (cdd.sectorSize == 2352)