Some of you who have used SpeccyDS 0.1a may have noticed a problem with the sound.
Occasionally, a small scratch or pop will be played. You can hear it when the Spectrum is playing a fixed tone, such as the BEEP command, or during the lose-a-life music in Chuckie Egg.
I knew what was causing the problem, the ARM9 processor (which runs the emulation) was feeding too much data to the ARM7 processor (which plays the sound), but couldn’t originally get the two processors to synchronise correctly.
I had another look at it last night. I scrapped the original timing code on the ARM9 and replicated it with the timings on the ARM7 to make sure they are running at exactly the same frequency.
This seems to have fixed it. The BEEP command sounds much better and plays a nice constant tone. I quickly played a few levels of Chuckie Egg and didn’t notice any more problems. It also means SpeccyDS runs at a more accurate speed than before (it was running slightly too quickly in v0.1a).