Pico PCM, only one hardcoded mode for now
[picodrive.git] / Pico / sound / sound.c
index c39d0c1..f0348db 100644 (file)
@@ -278,6 +278,11 @@ PICO_INTERNAL void cdda_start_play(void)
   cdda_stream = Pico_mcd->TOC.Tracks[i].F;\r
   PicoCDBufferFlush(); // buffering relies on fp not being touched\r
   pm_seek(cdda_stream, lba_offset * 2352, SEEK_SET);\r
+  if (Pico_mcd->TOC.Tracks[i].ftype == TYPE_WAV)\r
+  {\r
+    // skip headers, assume it's 44kHz stereo uncompressed\r
+    pm_seek(cdda_stream, 44, SEEK_CUR);\r
+  }\r
 }\r
 \r
 \r
@@ -321,6 +326,11 @@ PICO_INTERNAL int PsndRender(int offset, int length)
   if (PicoOpt & POPT_EN_PSG)\r
     SN76496Update(PsndOut+offset, length, stereo);\r
 \r
+  if (PicoAHW & PAHW_PICO) {\r
+    PicoPicoPCMUpdate(PsndOut+offset, length, stereo);\r
+    return length;\r
+  }\r
+\r
   // Add in the stereo FM buffer\r
   if (PicoOpt & POPT_EN_FM) {\r
     buf32_updated = YM2612UpdateOne(buf32, length, stereo, 1);\r