summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/sound/2608intf.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/sound/2608intf.cpp')
-rw-r--r--src/devices/sound/2608intf.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/devices/sound/2608intf.cpp b/src/devices/sound/2608intf.cpp
index 959f29e14b1..4dc5bedf02f 100644
--- a/src/devices/sound/2608intf.cpp
+++ b/src/devices/sound/2608intf.cpp
@@ -11,9 +11,6 @@
- Control Write B
- Data Write B
- TODO:
- - fix set_unscaled_clock() changes (currently done only by vgmplay driver)
-
***************************************************************************/
#include "emu.h"
@@ -52,7 +49,7 @@ void ym2608_device::device_timer(emu_timer &timer, device_timer_id id, int param
void ym2608_device::timer_handler(int c,int count,int clock)
{
- if( count == 0 )
+ if( count == 0 || clock == 0 )
{ /* Reset FM Timer */
m_timer[c]->enable(false);
}
@@ -111,6 +108,16 @@ void ym2608_device::device_start()
}
//-------------------------------------------------
+// device_clock_changed
+//-------------------------------------------------
+
+void ym2608_device::device_clock_changed()
+{
+ m_stream->set_sample_rate(clock() / 72);
+ ym2608_clock_changed(m_chip, clock(), clock() / 72);
+}
+
+//-------------------------------------------------
// device_stop - device-specific stop
//-------------------------------------------------