I programmed the audio for one of the early PC games to support the SB Live. Great hardware, the driver team should be shot.
At least we agree on something :-)
But seriously, the reason DirectSound is done in software in Vista/7 is exactly to eliminate those problems. The software DSound doesn't misreport buffer positions or get the units wrong or the number of other things I've seen "in the wild" in driver implementations. I've never seen a problem with it - there may *be* one, but on balance it's miles ahead of the previous situation with IHV drivers.
Actually, the software DSound
does misreport buffer positions or take an abnormally long time to return from the app Lock()ing the buffer, when using certain buggy audio drivers. I experienced it myself on the integrated audio on my previous motherboard, with Windows 7 amd64 RTM.
In the case where you don't mean running the entire APU on up on a separate thread, yes, that can work
Yes. All I'm suggesting is that instead of the main emulation thread asking "how much room is there in the DSound buffer?" and fetching that much audio from the emulation and jamming it into the DSound buffer, it should instead just ask a software buffer implementation "how much data should I give you right now to more or less keep feeding you at the same rate you are consuming?", jam that amount into a software buffer (no contention), then the background thread retrieves data from that buffer and feeds it into the DSound ring buffer. That's essentially what FCEUX does, and it works great.
1) The complaints didn't start coming in until around 1.35ish, and 2) users having them have posted that rolling back to older versions did fix the issue.
I've diff'ed the source code going back to before 1.35, and I've never found anything that looks like it should cause or impact this issue.
Unfortunately, I do not have any audio hardware at this time that exhibits this issue under Windows 7, so I am unable to further analyze this problem myself.
EDIT: I see that an Audigy SE board is reported to exhibit this issue, and I also see that Audigy SE boards are under $35 US on newegg.com. Can someone please confirm that
this Audigy SE board causes the audio problem with Nestopia using the latest drivers available from Creative Labs? If so, I'll order one and see if I can get a repro.