[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