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