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