View Single Post
Old 13 June 2016, 19:25   #13
Toni Wilen
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 21,557
After some thinking: forget what I said..

It would be really easy to make "hardware" emulation of perfect sound card that does not exist in real world. (All needed framework already exists).

- Full DMA capable. Just write Amiga address and length (like Paula without chip ram restrictions) to IO register. The rest would be automatic. (AFAIK none of real Amiga audio cards are DMA capable)
- Automatic buffer chaining.
- >2 channel support

There could be simple data structure that describes the sound buffer, one for each buffer:

- Type of buffer (8/16/24bit samples, number of channels)
- Length of buffer
- Address of buffer
- Volume of buffer (or "don't change")
- Playback frequency of buffer (or "don't change")
- Address of next description structure (or 0 = end)
- Other misc bits (For example generate interrupt when buffer has started/ended)

Usage would be very simple:

- Write address of first data descriptor (can be anywhere in RAM) to IO register
- Enable playback

- Register for reading current active descriptor, play position, volume, frequency etc..
- Write registers to change volume or frequency anytime you want.

Not going to happen:
- any kind of DSP stuff or similar.
- different playback frequencies at the same time.

What do you think of this?
Toni Wilen is online now  
Page generated in 0.03955 seconds with 10 queries