STE DMA sound system

General discussions or ideas about hardware.
User avatar
exxos
Site Admin
Site Admin
Posts: 28344
Joined: 16 Aug 2017 23:19
Location: UK

STE DMA sound system

Post by exxos »

How is it supposed to work exactly ?

AFAIK the sound data is passed in the left video border ? Though on a 50Hz screen, with say 250 lines per frame, that only gives 12,500Hz.

There are 2 DMA channels so even if the right border is used, its still only 12khz x2 :shrug:

Reason is, I'm wonder if its possible to add more sound channels using that method or not.
User avatar
Cyprian
Posts: 542
Joined: 22 Dec 2017 09:16
Location: Warszawa, Poland

Re: STE DMA sound system

Post by Cyprian »

actually there is only one sound DMA channel, and also there is 8byte FIFO sound buffer, It is probably located inside the SHIFTER. And the SHIFTER fills it up not at a specific time (e.g. 12Khz or 25Khz) but when it is needed, e.g. 4 bytes in a bulk.
ATW800/2 / V4sa / Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org
User avatar
exxos
Site Admin
Site Admin
Posts: 28344
Joined: 16 Aug 2017 23:19
Location: UK

Re: STE DMA sound system

Post by exxos »

Seems a bit more involved than I thought. I was assuming 16bits were passed for left and right audio channels directly to the DACs.

I'll dig out the suska code when I get on the PC later and see how DMA is handled there.
User avatar
Cyprian
Posts: 542
Joined: 22 Dec 2017 09:16
Location: Warszawa, Poland

Re: STE DMA sound system

Post by Cyprian »

exxos wrote: 28 Dec 2022 12:13 I was assuming 16bits were passed for left and right audio channels directly to the DACs.
that would be a simpler solution but a bit risky. In case of 50Khz, it needs pass 16bits data 3 times per a scanline, but it would be blocked when a display is active and the SHIFTER grabs a data from the bus.
ATW800/2 / V4sa / Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org
User avatar
exxos
Site Admin
Site Admin
Posts: 28344
Joined: 16 Aug 2017 23:19
Location: UK

Re: STE DMA sound system

Post by exxos »

Cyprian wrote: 28 Dec 2022 12:33 that would be a simpler solution but a bit risky. In case of 50Khz, it needs pass 16bits data 3 times per a scanline, but it would be blocked when a display is active and the SHIFTER grabs a data from the bus.
Makes sense. If data is passed 3 times per scanline then there isn't going to be much bandwidth left I think :(

EDIT:
I guess 2x50khz could be sacrificed for 4x25khz channels.
User avatar
sporniket
Site sponsor
Site sponsor
Posts: 1164
Joined: 26 Sep 2020 21:12
Location: France

Re: STE DMA sound system

Post by sporniket »

The dma sound is also described on the info-coach page here https://info-coach.fr/atari/hardware/STE-HW.php#shifter

so basically, you could watch when the /sload (pin37) is asserted in relation with hsync/vsync.

Also, maybe the shifter has a little internal fifo buffer to feed the dma sound databus (pins 28 downto 21) without gap ?
User avatar
exxos
Site Admin
Site Admin
Posts: 28344
Joined: 16 Aug 2017 23:19
Location: UK

Re: STE DMA sound system

Post by exxos »

I could measure it but its looking like it would just be simpler to go back to my original idea of just having separate sound RAM.
User avatar
Cyprian
Posts: 542
Joined: 22 Dec 2017 09:16
Location: Warszawa, Poland

Re: STE DMA sound system

Post by Cyprian »

sporniket wrote: 28 Dec 2022 16:29 Also, maybe the shifter has a little internal fifo buffer to feed the dma sound databus (pins 28 downto 21) without gap ?
as I mentioned earlier, there is dedicated 8 byte FIFO buffer for the STE Sound DMA:
https://github.com/frno7/psgplay/issues/10
https://www.atari-forum.com/viewtopic.p ... 70#p229070
ATW800/2 / V4sa / Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org
User avatar
sporniket
Site sponsor
Site sponsor
Posts: 1164
Joined: 26 Sep 2020 21:12
Location: France

Re: STE DMA sound system

Post by sporniket »

ha sorry, I did not read properly the whole thread...
User avatar
Cyprian
Posts: 542
Joined: 22 Dec 2017 09:16
Location: Warszawa, Poland

Re: STE DMA sound system

Post by Cyprian »

exxos wrote: 28 Dec 2022 11:13 Reason is, I'm wonder if its possible to add more sound channels using that method or not.
anyway, that is a great idea, there are a lot of free memory slots per scanline for more sound DMA channels
ATW800/2 / V4sa / Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

Return to “HARDWARE DISCUSSIONS”

Who is online

Users browsing this forum: ClaudeBot, semrush [bot] and 6 guests