Date: Mon, 23 Mar 1998 19:13:00 -0800 (PST) Message-Id: <199803240313.TAA27266@adit.ap.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: Shawn Hargreaves , djgpp AT delorie DOT com From: Nate Eldredge Subject: Re: Allocate physical memory? Precedence: bulk At 10:15 3/23/1998 -0000, Shawn Hargreaves wrote: >To initiate a bus master copy, I need to program the graphics >controller with the physical memory address of the source data, >but as far as I can see there is no way for me obtain this >information! I need some way to allocate a block of contiguous >physical memory locations, but unless I've missed something, >there are no DPMI functions to do this (using conventional >memory will break under Windows). Before I totally give up on >this idea, does anyone know a way that I could obtain such >a memory buffer? Even if it is only possible in a few specific >environments, the potential benefits of this are so great that >I really want to make it work if that is at all possible... Wow, Shawn, I never thought I'd see you ask an FAQ! ;-) No, there aren't any DPMI functions to do this AFAIK. The traditional solution is to put your buffer in conventional memory, whose address you do know. I guess for DMA, Windows is smart enough to handle the translation with DOS boxen automagically, but this is outside its knowledge? Hmm. You might be able to get Charles to hack such a thing into CWSDPMI, or do it yourself. I can't think of anything else. Nate Eldredge eldredge AT ap DOT net