[hatari-devel] [info] : Falcon crossbar, sound and DSP
Laurent Sallafranque
laurent.sallafranque at free.fr
Wed Sep 16 11:35:31 CEST 2009
Hello,
I understand much better the falcon crossbar now.
First, there's no DMA sound in the falcon.
We shouldn't connect the DSP to the Ste DMA sound.
The Falcon DMA is connecting the crossbar (and not the DSP) to the
falcon memory.
If you look at the crossbar scheme, you can see that the sound going
from the DSP, but also from the external port, the PSG (or micro) can go
to the DMA record.
In this case, datas are transfered to falcon memory.
The usual output for games and demos is to connect the DSP to the DAC.
The matrice is connected like this : DSP out (SSI) --> Crossbar --> DAC.
The DAC is linked to the bipper (cool ;), the screen sound, and the
phone output of the falcon.
The DAC can be connected to one of the 4 tracks
In general, sound is composed of 1 track stereo 16 bits.
The DAC is connected to track 0 in this common case.
But we can tell the crossbar and the DSP SSI to communicate with 4
tracks 16 bits.
Datas transfered in this case look like this :
L1R1 L2R2 L3R3 L4R4 L1R1 L2R2 L3R3 L4R4 L1R1 ...
A new frame starts at each L1
The DAC can be connected to the track1 (L1R1), to the track2 (L2R2), ...
In 4 tracks 16 bits stereo transfer mode, we can transfer datas at
nearly 8 Mhz between DSP and Crossbar (and to falcon memory if DSP out
is connected to the DMA record)
The crossbar communicates with all the components in hand-shacked mode
or not, and at a certain frequency.
For Hatari, I think we should remove current SSI->Ste DMA sound code to
keep dma_sound.c for Ste DMA sound only and create a new crossbar.c file
for the falcon crossbar.
It'll be easier to implement later a "micro" entrance, a "CD entrance"
via the "external port" and manage correctly all the falcon sound like this.
I can try to write something if you're all OK.
Regards,
Laurent
More information about the hatari-devel
mailing list