On 29 Oct 2020 at 22:41, Nicolas Pomarède wrote:
But doing it on a 100 cycles basis is not really fully accurate, so I
did the attached patch where DSP_Run is called on each loop during the
STOP state (at the interval where MFP is updated too).
Please check if it improves sound in your case (maybe it will require
more CPU than your patch on every 100 cycles)
OK, I've tested it. At my normal settings (16MHz system), I can't really tell
any difference between your patch and mine. Neither is perfect. The audio
runs a little slow, and there are lots of artifacts, although the main tune is
quite distinct (which it isn't with the unpatched system).
However, if I change to an 8MHz 68030 clock, the sound improves for both
patches - but the sound with my patch is noticeably better. I think that this
shows that my system is just not fast enough: although reducing the speed of
the emulated 68030 allows more time for everything else to run properly, it's
not quite enough for the extra requirements of the DSP. Calling Dsp_Run() less
often then makes just enough difference to be noticeable, and is more
beneficial than an increased accuracy of emulation.