| 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 |