Wah...
Ich mein das Aaron ein Händchen dafür hat Sachen kaputt zu fixen ist ja nichts neues.
Aber die neue Sound Engine ist ein Graus
Pac-Man (und die anderen 60,60Hz Spiele) ist derzeit auf meinem CAB nicht ordentlich zu hören.
Selbst mit Frameskip auf 1 oder Auto springt der Sound.
Ich hab ihm zwar schon eine Mail geschrieben in der ich ihm ein paar Vorschläge mache wie man das Problem "elegant" löst, aber ob und wann er darauf eingeht ist ja immer so eine Sache...
Gehen wir also davon aus unsere Emulation erzeugt bei 100% pro Sekunde 60,60 Bildern und 44100 Audiosamples.
Das ganze wird über die Grafikkarte "ausgebremst" auf etwa 59,98 Hz Bildfrequenz.
59,98 / 60,60 = ~0,98 = 98%
Der derzeitige Fehler besteht darin, das der Ton weiterhin mit 44100Hz abgegriffen wird, wir aber bei 98% Emulationsgeschwindigkeit nur 43218 Audiosamples erzeugen.
Da gibt es nun zwei Lösungen.
Die erste wäre, am Host (also DirectSound unter Windows) die Samplerate auf eben 43218 zu senken. Das könnte allerdings zu Problemen mit Digitalen Abspielgeräten führen (z.B. einem Dolby 5.1 Verstärker).
Die zweite wäre, in MAME einen Zwischenpuffer einzufügen der sich 43218 Audiosamples nimmt, und sie auf 44100 umrechnet.
Ein schöner Vergleich ist, wenn ich eine Schallplatte "langsamer" abspiele.