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.
STE DMA sound system
-
exxos
- Site Admin

- Posts: 28344
- Joined: 16 Aug 2017 23:19
- Location: UK
-
Cyprian
- Posts: 542
- Joined: 22 Dec 2017 09:16
- Location: Warszawa, Poland
Re: STE DMA sound system
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
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
-
exxos
- Site Admin

- Posts: 28344
- Joined: 16 Aug 2017 23:19
- Location: UK
Re: STE DMA sound system
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.
I'll dig out the suska code when I get on the PC later and see how DMA is handled there.
-
Cyprian
- Posts: 542
- Joined: 22 Dec 2017 09:16
- Location: Warszawa, Poland
Re: STE DMA sound system
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.exxos wrote: 28 Dec 2022 12:13 I was assuming 16bits were passed for left and right audio channels directly to the DACs.
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
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
-
exxos
- Site Admin

- Posts: 28344
- Joined: 16 Aug 2017 23:19
- Location: UK
Re: STE DMA sound system
Makes sense. If data is passed 3 times per scanline then there isn't going to be much bandwidth left I think :(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.
EDIT:
I guess 2x50khz could be sacrificed for 4x25khz channels.
-
sporniket
- Site sponsor

- Posts: 1164
- Joined: 26 Sep 2020 21:12
- Location: France
Re: STE DMA sound system
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 ?
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 ?
-
exxos
- Site Admin

- Posts: 28344
- Joined: 16 Aug 2017 23:19
- Location: UK
Re: STE DMA sound system
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.
-
Cyprian
- Posts: 542
- Joined: 22 Dec 2017 09:16
- Location: Warszawa, Poland
Re: STE DMA sound system
as I mentioned earlier, there is dedicated 8 byte FIFO buffer for the STE Sound DMA: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 ?
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
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
-
sporniket
- Site sponsor

- Posts: 1164
- Joined: 26 Sep 2020 21:12
- Location: France
Re: STE DMA sound system
ha sorry, I did not read properly the whole thread...
-
Cyprian
- Posts: 542
- Joined: 22 Dec 2017 09:16
- Location: Warszawa, Poland
Re: STE DMA sound system
anyway, that is a great idea, there are a lot of free memory slots per scanline for more sound DMA channelsexxos wrote: 28 Dec 2022 11:13 Reason is, I'm wonder if its possible to add more sound channels using that method or not.
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
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
Who is online
Users browsing this forum: ClaudeBot, semrush [bot] and 6 guests