delorie.com/archives/browse.cgi | search |
From: | "Charles Sandmann" <sandmann AT clio DOT rice DOT edu> |
Newsgroups: | comp.os.msdos.djgpp |
Subject: | Re: Thoughts on physical address and DMA |
Date: | Mon, 20 Aug 2001 16:58:13 |
Organization: | Aspen Technology, Inc. |
Lines: | 12 |
Message-ID: | <3b8141a5.sandmann@clio.rice.edu> |
References: | <f5c79439 DOT 0108171412 DOT 689b2a6b AT posting DOT google DOT com> |
NNTP-Posting-Host: | dcloan.hou.aspentech.com |
X-Trace: | selma.aspentech.com 998344964 13302 10.32.115.107 (20 Aug 2001 22:02:44 GMT) |
X-Complaints-To: | postmaster AT aspentech DOT com |
NNTP-Posting-Date: | 20 Aug 2001 22:02:44 GMT |
X-NewsEditor: | ED-1.5.8 |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Reply-To: | djgpp AT delorie DOT com |
> Since you add `__djgpp_conventional_base' to a physical address to > convert it to a linear address, could you possibly _subtract_ it from > a linear address to convert it to a physical address? If so, could the > physical address be used for DMA? Doing DMA under DPMI is a somewhat specialized operation. To make this note short, you would need to know what platforms you plan to support (DOS/CWSDPMI, Windows, etc). The traditional way is to allocate a DOS memory buffer which has 1:1 address mapping. If you need a large buffer, and run only under CWSDPMI, you can grab a work in progress http://clio.rice.edu/djgpp/cwsdma2.zip for an example of how to get the real address mapping.
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |