On 30 Oct 2020 at 14:13, Nicolas Pomarède wrote:
Patch applied, indeed it requires quite some cpu when DSP is updated
much more often (as DSP runs at twice the cpu freq and usually takes
less cycle per instruciton than the 68030, we can consider that the DSP
can run nearly 6-8 instructions while the CPU runs only one)
One issue is that once the DSP starts up, the DSP emulation continues even when
nobody is using it. So overall Falcon emulation speed is affected as soon as
one DSP application runs. On my system this is particularly noticeable when
running EmuTOS, although it's also visible under TOS4 (once you know it's
there).
It would be useful to turn off the DSP emulation when not needed. I have an
idea about how to do that with some changes to EmuTOS, which I've tested (in a
proof-of-concept form). Basically EmuTOS will reset the DSP (via the PSG bit)
when it's safe to do so, and that should set 'dsp_core.running' to zero. It
works in my tests, and it's quite inexpensive in terms of ROM space. Of
course, TOS4 will have to look after itself ;-).
Thanks for all your help,
Roger