This line, added in commit 286bfd58050a13e2e0e30bb35a7a1d189ec7edd1, causes the graphical stuttering, but making it FALSE makes the sound stutter. See CATSFC issue 27 for more discussion on this problem.Code:Settings.SoundSync = TRUE;
For HitsuMaruku, SoundSync = FALSE solves the note length problem, but for me, SoundSync = FALSE makes it worse.
However, as I see just now, it does lower the frames per second a lot.
I see that S9xProcessSound is called after every scanline, so 224*60 times per second, and it tries to buffer a truckload of sound samples every time it's called. Maybe it should stop trying to push so much audio... It actually buffers 92.8 milliseconds of audio data during one frame of 20 milliseconds, then does God-knows-what for 3 more frames.
I'll try fixing that a bit more. But it may end up with subtle silences or crackling in certain games. (The SDK sucks about that; it can't give me an indication that it's out of sound...)
Thanks, I hope it turns out well. In my opinion, video output comes in priority over audio. The glitches in the sound are not very noticeable while playing anyhow.
On another topic, was the source for the GBA emulator ever released? I'd like to revise it a little.