| Re: [hatari-devel] Fix DSP's rol/ror instructinos | 
[ Thread Index | 
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
] 
Le 02/08/2018 à 14:40, Nicolas Pomarède a écrit :
Le 02/08/2018 à 14:31, Mariusz Buras a écrit :
Well the sound player I wrote works more like MP2 decoder: streams 
data in over SSI and plays back over SSI. 030 is not really involved 
and there are no synchronisation points in the code. Once DMA is 
started on 030 side it should tick along nicely.
That's not the point.
Also if there's no synchro point in the code, or no data exchange 
between the 68030 and the DSP, there's still the data exchange between 
the crossbar DMA and the SSI or the DSP port B and the 68030.
The 68030 "gives" the timing to all the other components of Hatari (the 
crossbar, the DSP, ...).
And as Nicolas said, the 68030 emulation is not accurate enough to give 
a "perfect" timiong to the other components .
For example, an instruction that should take 20 cycles in real but is 
computed as only 18 cycles by hatari and repeated 100000 times will 
generate a loss of clockticks in the crossbar and in the DSP.
Actually, the DSP cycles equal cpu cycles *2.
The DSP will generate 36 cycles of instructions instead of 40 (2 
instructions lost).
The other thing is that I was never able to get MP2 playback work in 
any demo with hatari. Could this be down to my laptop being to slow? 
(it's i7-3820QM).
I second Nicolas, have you got the WAIT demo working for example ?
The sound is really great on my computer, but I have a quite fast one ;)
DSP + 68030 is greedy in emulation cycles.
Regards
Laurent