Re: [hatari-devel] DMA sound and Falcon

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Hi Nicolas,


> I need to make more modifications to crossbar.c, this is because 
crossbar.c uses CPU_FREQ to compute the frequency ratio, but I don't 
think it shouldn need to do that. Only the requeted freq and the host 
output freq should be needed.

I'm not that sure. For the STe emulation, this is OK, because the sound can only go to the "sound output".


In the falcon emulation, the sound has to be generated in "real time", because the DMA out sound can be redirected to the DSP input sound (for example) and the DSP is a "real time" componant that computes data given by the CPU, the crossbar, ...

The crossbar matrix has to be feed at constant speed accordingly to the CPU and DSP speed. (I mean "in real time" because you can't manage all the data at once at the end of the VBL for example, the DSP would be stocked waiting for datas from the crossbar or would get "zero" values)

That's why I always say that the sound accurancy in the Falcon part is dependant of the accuracy of the CPU (in falcon mode).


As there has been a big change of CPU (old winuae CPU vs new winuae CPU), and I've notices that the timings are really different between the 2 cores, may this explain the degradation in sound quality ? (maybe...)


Regards

Laurent


----- Mail original -----
De: "Nicolas Pomarède" <npomarede@xxxxxxxxxxxx>
À: hatari-devel@xxxxxxxxxxxxxxxxxxx
Envoyé: Lundi 12 Septembre 2016 10:24:27
Objet: Re: [hatari-devel] DMA sound and Falcon

Le 12/09/2016 à 00:04, Laurent Sallafranque a écrit :
> Hi,
>
> There's still a problem with the DMA sound :/
>
> When I use hatari Falcon in 16 Mhz, the DMA sound is OK (except the
> noisy sound but that's another story).
>
> But if I swith to 32 Mhz, the sound plays 2 times too fast again.
>
> And if I swith to 8 Mhz, it does a funny effect ;) (sound seems to
> repeat twice in each slices of sound, a bit like an echo).
>

Hi

I need to make more modifications to crossbar.c, this is because 
crossbar.c uses CPU_FREQ to compute the frequency ratio, but I don't 
think it shouldn need to do that. Only the requeted freq and the host 
output freq should be needed.

Nicolas





Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/