delorie.com/archives/browse.cgi | search |
Xref: | news-dnh.mv.net comp.os.msdos.djgpp:386 |
Path: | news-dnh.mv.net!mv!news.sprintlink.net!howland.reston.ans.net!news.cac.psu.edu!news.pop.psu.edu!hudson.lm.com!godot.cc.duq.edu!nntp.club.cc.cmu.edu!cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!oitnews.harvard.edu!news.sesqui.net!rice!news!sandmann |
From: | Charles Sandmann <sandmann AT clio DOT rice DOT edu> |
Newsgroups: | comp.os.msdos.djgpp |
Subject: | Re: Converting linear addresses to physical? |
Date: | Tue, 13 Jun 1995 22:17:26 CDT |
Organization: | Rice University, Houston, Texas |
Lines: | 14 |
References: | <3rilhd$n1r AT caesar DOT ultra DOT net> |
Reply-To: | sandmann AT clio DOT rice DOT edu |
Nntp-Posting-Host: | clio.rice.edu |
To: | djgpp AT sun DOT soe DOT clarkson DOT edu |
Dj-Gateway: | from newsgroup comp.os.msdos.djgpp |
> to dump a frame buffer in the PC's memory to the copier. The frame > buffer is up to 48M bytes, so I can't use DOS memory, but I can use > DJGPP to malloc the necessary memory. The problem is I can't seem > to convert the linear address that DJGPP uses to the physical address > the DMA controller needs. Does anyone have any suggestions? You can use DPMI services to get the base of the DS selector and then add the offset to get the virtual address. I would guess you would then have to look at the page tables to get the physical address from the virtual translation - (is this needed?) but the pages might not be sequential. I have seen mention of VDS (? Virtual DMA services?) which is supposed to help in this, but I don't know anything about it.
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |