Wed Mar 14 15:03:43 CET 2012
returning, as this part of the code never returns if the user doesn't use
The problem is that you run the DSP for "cycles" cpu cycles, but this
doesn't take into account the fact that an exception/interrupt can occur
and will add at least 56 cycles to the current instruction.
I pushed a new version that correctly compute all cycles spent in CPU
emulation before calling DSP emulation. Maybe this will not fix all
problems, but this should give much better synch between cpu<->dsp when
some cpu interrupts happen (vhl, hbl, ...)
This certainly explains why you got better results when turning timer D
off. With this new version, you shouldn't get different results when timer
D is on or off.
Could you try a few programs to see if results are better ?
More information about the hatari-devel