X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: Charles Sandmann Newsgroups: comp.os.msdos.djgpp Subject: Re: physical adress of int Date: Sat, 11 Sep 2004 13:53:15 CDT Organization: Rice University, Houston, TX Lines: 16 Message-ID: <4143499b.sandmann@clio.rice.edu> References: NNTP-Posting-Host: clio.rice.edu X-Trace: joe.rice.edu 1094929630 17087 128.42.105.3 (11 Sep 2004 19:07:10 GMT) X-Complaints-To: abuse AT rice DOT edu NNTP-Posting-Date: Sat, 11 Sep 2004 19:07:10 +0000 (UTC) X-NewsEditor: ED-1.5.9 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com > I want to know a physical adress of my int variable, it's for my ethernet > board for his initialisation. In general under DPMI you can't do this. However, it depends a lot on your environment. Frequently the 640KB area is mapped 1:1 - so you can put data there suitable for DMA usage. Since Windows can virtualize the DMA ports, it will even remap requests to the first 640KB, so this technique works well in many environments. If you need larger memory buffers that will not fit in the DOS memory area, and are willing to stick to a single DPMI provider, you can use PMODE without VCPI (which doesn't enable paging) so your virtual address is the same as the physical address (you need to add the DS base to it's address). If you need a more compatible DPMI, you can use CWSDPMI and the files from http://clio.rice.edu/djgpp/cwsdma2.zip