|Re: [hatari-devel] Re: Interesting sound problems with Hatari?|
[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]
First, sorry for not replying sooner, I was not at home this week end.
I've just discovered you patches.
I did write the whole crossbar sound code 3 years ago, and if I remember correctly, David added some more precise values and filters (while he was increasing the STE DMA sound part).
I added the 0 after reading a sound because of the DSP part in the crossbar (on the real Falcon) (I was really concerned by the DSP part at this time).
When the DSP sends a data to the SSI, this value is played by the crossbar directly into the DAC part.
If then you tristate the DSP (or stop it, reboot it or whatever stops the sounds), there's no more sound coming out of the DAC.
But if I didn't put zeros after reading the value (into hatari), the sound (coming from the DSP) was looping forever into the circular DAC buffer.
maybe this should be done differently, but I still think that a played sound into the DAC buffer should be erazed.
That's the same if the crossbar does a DMA --> DAC connection (the sound read from the DMA (Falcon MEMORY) should be set to 0 after being read (to remove the circular buffer sound playing forever).
Only the source of the sound should remain unchanged (mainly the DMA memory), whereas the DSP sounds are volatile (computed once, sent once to the SSI, played once by the DAC, and forgotten after this).
I like the idea of the patch by David (a FIFO, which allows to read a sound only once).
Doug, the if (n) patch is a great idea.
I was just thinking that is n is > 1 (let's say n = 5), maybe we should reset to 0 the whole values between n=1 and n=5 ?
I'll have a closer look too at this problem.
Le 21/04/2014 14:07, Douglas Little a écrit :
|Mail converted by MHonArc 2.6.19+||http://listengine.tuxfamily.org/|