Re: [hatari-devel] Re: Interesting sound problems with Hatari?

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


----- Laurent Sallafranque wrote:
> Hi,
> 
> 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.

Another way is to repeat the last good sample (instead of inserting zeros).
This is what a DAC will do when the data stops.

Note that inserting samples (filtered or otherwise) will not be used to hide
correctable problems.

> 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.
> 
> Regards
> 
> Laurent
> 



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