4 comments

[ 3.8 ms ] story [ 18.5 ms ] thread
Nothing to do with the soundblaster, but I just completed all the labs from the class that references this document. (https://pdos.csail.mit.edu/6.828/2014/). It was quite challenging!
How do you line up data to copy into the DSP for the purpose of programming it? Is it a memcpy operation? How do you know where to copy to?
The labs for this class don't use the soundblaster card (i think they gave the documentation for students that want to extend their kernel with sound capabilities). So I didn't play with a DSP. However, in lab 6 you program a driver for an ethernet controller which I suspect must be similar to programming a sound card. Typically, you put your data somewhere in the memory, and then you give the address to the controller and launch some operation that the controller will do for you do for you (fetching your data using DMA). There are various complications, but this is the idea.
its all in the doc, you program dma controller

btw fun fact - sound blaster "dsp" was Intel 8051.

Creative is a NASTY NASTY company, they ran around stealing technology and suing companies out of existence (Aureal), suing over hardware compatibility ( http://www.singaporelaw.sg/sglaw/laws-of-singapore/case-law/... ), and screwing customers (EAX, drivers).