From: Harold Roman 978-461-0402 Ext 223 Newsgroups: comp.os.msdos.djgpp Subject: Re: CWSDPMI Physical Memory Addresses Date: Tue, 27 Oct 1998 10:45:48 -0500 Organization: GigaNet Inc. Lines: 27 Message-ID: <3635EAAC.8FC9544C@giganet.com> References: <8D53104ECD0CD211AF4000A0C9D60AE3235E64 AT probe-2 DOT Acclaim-Euro DOT net> NNTP-Posting-Host: 207.60.106.223 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 4.04 [en] (X11; U; HP-UX B.10.20 9000/780) To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com > Harold Roman writes: > > I am writing a progam that interacts with a card that does DMA > > and is memory mapped. I need to get physical addresses for my > > data buffers. I looked through the archives and found a "back > > door" described by Charles Sandman (posted 9/22/96). > Shawn Hargreaves wrote: > I can't advise you on this CWSDPMI issue, but I think that this > may be a more complex approach than is really needed. If you use > __dpmi_allocate_dos_memory() to set up some data buffers in > conventional memory, you can then program the DMA controller > directly with these addresses, and use functions like dosmemget() > or _farpeekl() to fetch the data into your normal address space. > IMHO this would be a lot simpler and more reliable than trying > to directly map virtual addresses into physical ones... Yes, that would be simpler. But, I really need to use mega-byte sized buffers and I need for the buffers to be placed in any/all memory locations for my card and my application. Thanks for the comments. Harold Roman