Also is the soundsync patch now working again? I had problems with it since 0.146 on my non groovymame setup.
http://forum.arcadecontrols.com/index.php?topic=122814.0
At your CabMame thread link.....
CabMame 0146_emuspeed.diff
diff -ruN ../mame/src/emu/machine.h ./src/emu/machine.h
--- ../mame/src/emu/machine.h 2012-04-22 07:07:48.000000000 +0200
+++ ./src/emu/machine.h 2012-09-05 19:42:05.000000000 +0200
@@ -310,6 +310,8 @@
debugcpu_private * debugcpu_data; // internal data from debugcpu.c
generic_machine_private *generic_machine_data; // internal data from machine/generic.c
+ double speed_percent; // most recent speed percentage
+
private:
// internal helpers
void start();
diff -ruN ../mame/src/emu/video.c ./src/emu/video.c
--- ../mame/src/emu/video.c 2012-04-12 09:35:58.000000000 +0200
+++ ./src/emu/video.c 2012-09-05 19:42:05.000000000 +0200
@@ -995,7 +995,8 @@
osd_ticks_t delta_realtime = realtime - m_speed_last_realtime;
osd_ticks_t tps = osd_ticks_per_second();
m_speed_percent = delta_emutime.as_double() * (double)tps / (double)delta_realtime;
-
+ machine().speed_percent = m_speed_percent;
+
// remember the last times
m_speed_last_realtime = realtime;
m_speed_last_emutime = emutime;
As you can see (To the previous post) the SoundSync code.
So your issue with sound being all over the place will still be present (I'd guess).
Just to note, I had TERRIBLE results using AMD CPU's with Syncrefresh (& SoundSync Patch) ---> EMU speed was all over the place AND Sound followed suit!.
So I ALWAYS stick to Intel when using Mame & Syncrefresh now.
Others seem to have no problems using AMD.....?
The only other time I have had erratic EMU speed was with both Throttle & Syncrefresh enabled, But that was on a SDL/Linux build - Not a windows OS.
(I'm guessing that Throttle adjusted to 100% speed then Syncrefresh adjusted to Refresh speed and it bounced between them causing erratic EMU speed)
Also, This osd "WINDOWS" code was no longer included in GroovyMame from 0.145 onward (While still being present in CabMame 0.146)
@@ -203,6 +205,13 @@
if (stream_buffer == NULL)
return;
+ // if we are active, update the sampling frequency
+ if (g_current_machine->speed_percent > 0.0f && g_current_machine->switchRes.cs.soundsync)
+ {
+ IDirectSoundBuffer_SetFrequency(stream_buffer,
+ g_current_machine->sample_rate() * g_current_machine->speed_percent);
+ }
+