On Wed, 2006-03-15 at 10:11 -0800, muzak24h wrote: > The DSP can be from port 0x210 to 0x260. (there's code to find it) > The IRQ number can be found too. (there's code there to find it too)
controlling a DSP requires writing to registers, not just memory-mapped ports. it also typically requires an IRQ handler. > He states the SB can play direct or DMA. Direct is simple but uses a lot of > processor time, while DMA mode is limited to transferring data only from > lo-ram (first MB). DMA requires a buffer and is limited to 64kb blocks so > the wav samples need to be chopped up. Sound Blaster can issue an IRQ each > time DMA stops. with this particular h/w it might work since most of the registers get mapped. but they only get mapped by a driver that requests that the i/o memory space is allocated. no driver, no mapping. the fact that yes, you can write these from user-space (as root) doesn't help with that. if there is a driver, then you can simply use it. > The result is a WORD, but we'll send only the MSB to the DSP. The code of > the function to set the sampling rate will be: it would be better to keep people who still use terms like WORD should not be allowed near linux kernel code. > IRQ vectors: When the DMA stops, what to do with it in this kind of kernel. > Since I can't go to that level in Linux I'm curious... one the main points of using linux is that, given the skillset, someone can *always* go to that level. --p
