www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/03/23/19:07:49

From: Fabrice ILPONSE <fabrice AT asim DOT lip6 DOT fr>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Allocate physical memory?
Date: Mon, 23 Mar 1998 18:49:23 +0100
Organization: Universites Paris VI/Paris VII - France
Lines: 106
Message-ID: <3516A0A2.661AEA74@asim.lip6.fr>
References: <D1FB30BBA491D1118E6D006097BCAE391A0A6A AT Probe-nt-2a DOT Probe DOT co DOT uk>
NNTP-Posting-Host: asim.lip6.fr
Mime-Version: 1.0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

--------------43519FDBD7F66C4E5D38D5AA
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Shawn Hargreaves wrote:

> I'm in the process of writing a VBE/AF (the SciTech hardware
> accelerator API) driver for Allegro, which had already managed
> to roughly double the speed of the demo game when running in
> page flipping mode on my Matrox card. At present this supports
> a range of hardware drawing functions (area fills and blits),
> but only when they are operating entirely within the video
> memory. VBE/AF also provides the ability to use a bus mastering
> transfer mode on some high end cards, which in theory has the
> potential to speed up blitting from system memory to the screen,
> but I'm unsure if/how I will be able to use this.
>
> 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...
>

    Are you sure there's no function?        I remember of one that do
"allocate unmapped memory" or something like that.

    You can allocate memory and then lock it so it stay in physical
memory but i don't know if you'll find a function (of DPMI) to give you
this physical adress. :|

>         Shawn Hargreaves.



--
        ^ ^ ^
        | | |
        +-+-+   Fabrice ILPONSE
          |     email: fabrice AT asim DOT lip6 DOT fr
          |
          |
          -



--------------43519FDBD7F66C4E5D38D5AA
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<HTML>
Shawn Hargreaves wrote:
<BLOCKQUOTE TYPE=CITE>I'm in the process of writing a VBE/AF (the SciTech
hardware
<BR>accelerator API) driver for Allegro, which had already managed
<BR>to roughly double the speed of the demo game when running in
<BR>page flipping mode on my Matrox card. At present this supports
<BR>a range of hardware drawing functions (area fills and blits),
<BR>but only when they are operating entirely within the video
<BR>memory. VBE/AF also provides the ability to use a bus mastering
<BR>transfer mode on some high end cards, which in theory has the
<BR>potential to speed up blitting from system memory to the screen,
<BR>but I'm unsure if/how I will be able to use this.

<P>To initiate a bus master copy, I need to program the graphics
<BR>controller with the physical memory address of the source data,
<BR>but as far as I can see there is no way for me obtain this
<BR>information! I need some way to allocate a block of contiguous
<BR>physical memory locations, but unless I've missed something,
<BR>there are no DPMI functions to do this (using conventional
<BR>memory will break under Windows). Before I totally give up on
<BR>this idea, does anyone know a way that I could obtain such
<BR>a memory buffer? Even if it is only possible in a few specific
<BR>environments, the potential benefits of this are so great that
<BR>I really want to make it work if that is at all possible...
<BR>&nbsp;</BLOCKQUOTE>
&nbsp;&nbsp;&nbsp; Are you sure there's no function?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
I remember of one that do "allocate unmapped memory" or something like
that.

<P>&nbsp;&nbsp;&nbsp; You can allocate memory and then lock it so it stay
in physical memory but i don't know if you'll find a function (of DPMI)
to give you this physical adress. :|
<BLOCKQUOTE TYPE=CITE>

<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Shawn Hargreaves.</BLOCKQUOTE>
&nbsp;
<PRE>--&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ^ ^ ^
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | | |
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +-+-+&nbsp;&nbsp; Fabrice ILPONSE
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp; email: fabrice AT asim DOT lip6 DOT fr
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -</PRE>
&nbsp;</HTML>

--------------43519FDBD7F66C4E5D38D5AA--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019