Re: [hatari-devel] Fix DSP's rol/ror instructinos

[ Thread Index | Date Index | More 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.


Mail converted by MHonArc 2.6.19+