diff options
Diffstat (limited to 'src/devices/sound/2608intf.cpp')
-rw-r--r-- | src/devices/sound/2608intf.cpp | 15 |
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 //------------------------------------------------- |