Re: [hatari-devel] Re: Interesting sound problems with Hatari? |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
- To: hatari-devel@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [hatari-devel] Re: Interesting sound problems with Hatari?
- From: David Savinkoff <dsavnkff@xxxxxxxxx>
- Date: Sun, 27 Apr 2014 11:22:17 -0600 (MDT)
- Thread-index: ZOWwxQEnj0uLiQc0BCo/bAbIP72ANodMrgU2vCeyNSg=
- Thread-topic: Interesting sound problems with Hatari?
Hi,
Will Falcon sound be improved before this release?
----- David Savinkoff wrote:
> Hi,
>
> This patch combines the two previous with a bit more.
> Don't apply this patch with my previous patches.
> Please test.
>
> David Savinkoff
>
> ----- David Savinkoff wrote:
> > ----- 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
> > >
> >
> >
>