[hatari-devel] DSP emulation and sound
Thomas Huth
huth at users.berlios.de
Mon Mar 23 12:37:02 CET 2009
On Mon, 23 Mar 2009 11:06:32 +0100
LAURENT SALLAFRANQUE <LAURENT.SALLAFRANQUE at ARKEA.COM> wrote:
> I've send yesterday the following mail to the dev list.
> I transfer it to you in case you didn't notice it.
I normally read every mail on the list, it just takes some time to
reply... ;-)
[...]
> I've written a bad hack to simulate a SSI event every 32767
> instructions. It works well and many more programs are running. But
> that's not the good way to do this and I would prefer the real SSI
> emulation.
Unfortunately, I never really worked with the interfaces in the Falcon
to the DSP yet... can you recommend some good documentation which
explains this?
> Would you be interrested in my patch anyway, just to see what I
> tested ? (no need to publish it).
Sure, that might help to understand the basics.
> Here is the mail I sent to the list yesterday.
[...]
> I think the last big bunch of code not yet emulated to emulate a good
> falcon (and reach hatari V2.0 level ;) is the sound matrix and DSP
> SSI part.
>
> I'd like to discuss this with all of you before doing anything. For
> me, there are 2 things to do:
> - Add a sound.c file into the falcon directory
Right, but don't call it sound.c since there is already a file with
that name in the main directory.
Since the Falcon sound subsystem mainly consists of a crossbar switch /
sound matrix, maybe it could be named sndCrossbar.c or sndMatrix.c or
something similar.
By the way, in the Aranym sources, there is already a file called
audio_crossbar.cpp ... Patrice, is this already usable to a certain
extent or just some skeleton code?
> - Add the SSI emulation into the DSP
>
> I can try to emulate the SSI part into the DSP, but there's the other
> part (sound.c)
>
> In this sound.c, we must:
> - connect the yamaha sound, the DMA, the STe sound, the DSP and the
> jack in and out.
> - ADC and DAC are not necessary ?
> - take care of some timers,
> - take care of the data size (8, 16 or 24 bits),
> - transfer datas from 1 or more sources to 1 or more dest
>
> I know some of you are good in sound emulation and timers, I think we
> should have a look at this to do it well.
Basic DMA sound emulation is already done in dmaSnd.c ... I think it
should be possible to extend this to work together with the crossbar
code later.
> Remark: the jack out could be played into SDL out sound. For the Jack
> in, we can code this later.
As far as I know, the SDL library does not support sound recording. So
for sound input, we would require some other way to get it ... is there
a portable library which provides this?
Thomas
More information about the hatari-devel
mailing list