Ok... I am working in a project that interfaces with a SB card. I throw a analog signal into the SoundBlaster 16 card and I have to take the data (digitalized) to analyze it for different purposes.
I got it to work using direct access to the SB card (using io.dll). The problem is that I am losing a lot of the data because the frequency that is taken into the card is fairly high and the algorithm is not fast enough to capture it (not saying that with direct access is only 8 bits).
My idea was to use the DMA to save all the data, that way I can save the CPU to work on something else. And I can get a better resolution with a 16 bit mode. My problem with that is that I dont fully understand the buffer segment, offset, page to complete that procedure (any help with that is welcome!).
Anyway, anyone has a better suggestion on how to capture that data with a better efficiency? bNasty said something about using DirectX. It sure sounds very interesting though I am not familiar about DirectX. I will do some researches on it and see what I can find out. Meanwhile any help on this topic is appreciated.
Thanks guys
I got it to work using direct access to the SB card (using io.dll). The problem is that I am losing a lot of the data because the frequency that is taken into the card is fairly high and the algorithm is not fast enough to capture it (not saying that with direct access is only 8 bits).
My idea was to use the DMA to save all the data, that way I can save the CPU to work on something else. And I can get a better resolution with a 16 bit mode. My problem with that is that I dont fully understand the buffer segment, offset, page to complete that procedure (any help with that is welcome!).
Anyway, anyone has a better suggestion on how to capture that data with a better efficiency? bNasty said something about using DirectX. It sure sounds very interesting though I am not familiar about DirectX. I will do some researches on it and see what I can find out. Meanwhile any help on this topic is appreciated.
Thanks guys