Xref: news-dnh.mv.net comp.os.msdos.djgpp:348 Path: news-dnh.mv.net!mv!news.sprintlink.net!news.bluesky.net!news.mathworks.com!news.ultranet.com!usenet From: Tom Phelan Newsgroups: comp.os.msdos.djgpp Subject: Converting linear addresses to physical? Date: 13 Jun 1995 00:18:53 GMT Organization: UltraNet Communications, Inc. Lines: 17 Nntp-Posting-Host: vibes.ultranet.com To: djgpp AT sun DOT soe DOT clarkson DOT edu Dj-Gateway: from newsgroup comp.os.msdos.djgpp Hi, I'm writing a driver for a PCI bus card that interfaces to a color copier. This card is a PCI bus master that uses its on-board DMA 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? By the way, DPMI function 0x0800 does just the opposite of what I need. It converts a physical address to linear. I already use that to get at the PCI card local memory - now I need to turn this around. Any help will be greatly appreciated. Tom Phelan