LinkExchange

DOS/4G FAQ, Section 12:
DMA Addressing


  1. My TSR currently uses 26K of conventional memory. I can reduce this number even more by allocating the sound card DMA buffer from extended memory. Is this worth the effort?

1. My TSR currently uses 26K of conventional memory. I can reduce this number even more by allocating the sound card DMA buffer from extended memory. Is this worth the effort?

Probably not. 26KB sounds like a fairly small low memory footprint already, and using extended memory for DMA buffers is not easy.

The problem is that DMA buffers have to be contiguous memory addresses in the hardware -- the memory has to be physically contiguous. However, extended memory is almost always paged -- contiguous virtual addresses are not physically configuous. You can get around this problem, but it is not easy. We have had customers who needed to use extended memory DMA buffers, usually because they needed 1MB or bigger DMA buffers, and they have been able to make it work, but it took a lot of effort and we cannot advise you on exactly how to do it.

If your footprint is already only 26KB we would seriously advise against trying to lower it by using an extended memory DMA buffer. However, if you're really determined to do this, get the "Virtual DMA Services" specification from Microsoft. It is Microsoft part # 098-10869. Get it by writing to: Microsoft Corporation, Box 97017, Redmond, WA 98073.


[Previous Section] * [Index of FAQ] * [Next Section]
Last modified 97/04/11, webmaster@tenberry.com