Mail Archives: djgpp/1999/01/24/04:02:23
On 22 Jan 1999, James Deuchar wrote:
> I'm trying to setup the DMA controller on a PCI ATM Network card so that I
> can transfer some data from system memory onto the cards ram. The djgpp FAQ
> suggests either allocating a buffer within the fist MB using a
> __dpmi_allocate_dos_memory call or using a software interrupt INT 4Bh to
> access the Virtual DPMI Services. I have Ralf Browns interrupt list but I'm
> not entirely sure which of the INT 4B calls to make
You should be able to find the relevant functions by searching the
Interrupt List e.g. for "DMA" or "VDS". (Btw, the FAQ talks about
"Virtual DMA Services", not "DPMI Services".)
The VDS functions are those where AX is loaded with values 8102h to
810Ch.
But I really would suggest to try the DOS memory method first. It is
usually easier and more portable.
> ....as far as I'm
> concerned I just want to get the physical address of a variable - I don't
> know anything about dma buffers and locking regions...
You cannot mess with DMA without at least some understanding of these
issues.
- Raw text -