diff pico_pcm.c @ 2486:e8eba0cd5444

Implement turbo/slow for Pico and Copera
author Michael Pavone <pavone@retrodev.com>
date Sun, 14 Apr 2024 12:30:32 -0700
parents f50b9ed42ebd
children
line wrap: on
line diff
--- a/pico_pcm.c	Sun Apr 14 11:46:34 2024 -0700
+++ b/pico_pcm.c	Sun Apr 14 12:30:32 2024 -0700
@@ -23,10 +23,10 @@
 
 void pico_pcm_init(pico_pcm *pcm, uint32_t master_clock, uint32_t divider)
 {
-	pcm->audio = render_audio_source("PICO ADPCM", master_clock, divider * 4, 1);
+	pcm->clock_inc = divider * 4;
+	pcm->audio = render_audio_source("PICO ADPCM", master_clock, pcm->clock_inc, 1);
 	pcm->scope = NULL;
 	pcm->scope_channel = 0;
-	pcm->clock_inc = divider * 4;
 	pico_pcm_reset(pcm);
 }
 
@@ -35,6 +35,11 @@
 	render_free_source(pcm->audio);
 }
 
+void pico_pcm_adjust_master_clock(pico_pcm *pcm, uint32_t master_clock)
+{
+	render_audio_adjust_clock(pcm->audio, master_clock, pcm->clock_inc);
+}
+
 void pico_pcm_enable_scope(pico_pcm *pcm, oscilloscope *scope, uint32_t master_clock)
 {
 #ifndef IS_LIB