Hey,
Im trying to compile the cabmame 0124_soundsync.diff to mame 125u2 and it fails. So, something that it modifies must have changed recently. I can compile the highscore diff but thats about the extent of my compiling skills.
The cabmame soundsync is the only way Ive found to allow me to use tripplebuffer without the sound skipping. Im using an arcade vga and an arcade monitor.
Here is the code in the diff, thanks for any help.
diff -ruN ../mame/src/osd/windows/sound.c ./src/osd/windows/sound.c
--- ../mame/src/osd/windows/sound.c 2008-02-29 20:31:45.000000000 +0100
+++ ./src/osd/windows/sound.c 2008-02-29 20:27:07.000000000 +0100
@@ -183,6 +183,13 @@
if (stream_buffer == NULL)
return;
+ /* if we are active, update the sampling frequency */
+ if (machine->speed_percent > 0.0f)
+ {
+ IDirectSoundBuffer_SetFrequency(stream_buffer, machine->sample_rate * machine->speed_percent);
+ }
+
+
// determine the current play position
result = IDirectSoundBuffer_GetCurrentPosition(stream_buffer, &play_position, &write_position);
if (result == DS_OK)
@@ -373,7 +380,7 @@
// create a buffer desc for the stream buffer
memset(&stream_desc, 0, sizeof(stream_desc));
stream_desc.dwSize = sizeof(stream_desc);
- stream_desc.dwFlags = DSBCAPS_CTRLVOLUME | DSBCAPS_GLOBALFOCUS | DSBCAPS_GETCURRENTPOSITION2;
+ stream_desc.dwFlags = DSBCAPS_CTRLVOLUME | DSBCAPS_GLOBALFOCUS | DSBCAPS_GETCURRENTPOSITION2 | DSBCAPS_CTRLFREQUENCY;
stream_desc.dwBufferBytes = stream_buffer_size;
stream_desc.lpwfxFormat = &stream_format;