From c4e2e0114cdc1871e959c67d0f15be99bef3459c Mon Sep 17 00:00:00 2001 From: Mike Pavone Date: Tue, 1 Oct 2013 23:51:16 -0700 Subject: Implement turbo/slow motion feature that overclocks or underclocks the entire system at the push of a button --- psg.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'psg.h') diff --git a/psg.h b/psg.h index 503bac2..4cd4552 100644 --- a/psg.h +++ b/psg.h @@ -1,6 +1,6 @@ /* Copyright 2013 Michael Pavone - This file is part of BlastEm. + This file is part of BlastEm. BlastEm is free software distributed under the terms of the GNU General Public License version 3 or greater. See COPYING for full license text. */ #ifndef PSG_CONTEXT_H_ @@ -11,11 +11,12 @@ typedef struct { int16_t *audio_buffer; int16_t *back_buffer; - double buffer_fraction; - double buffer_inc; + uint64_t buffer_fraction; + uint64_t buffer_inc; uint32_t buffer_pos; uint32_t clock_inc; uint32_t cycles; + uint32_t sample_rate; uint32_t samples_frame; uint16_t lsfr; uint16_t counter_load[4]; @@ -30,6 +31,7 @@ typedef struct { void psg_init(psg_context * context, uint32_t sample_rate, uint32_t master_clock, uint32_t clock_div, uint32_t samples_frame); +void psg_adjust_master_clock(psg_context * context, uint32_t master_clock); void psg_write(psg_context * context, uint8_t value); void psg_run(psg_context * context, uint32_t cycles); -- cgit v1.2.3