delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/03/24/20:56:03

Date: Tue, 24 Mar 1998 13:16:19 +0300 (IDT)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
To: Shawn Hargreaves <ShawnH AT Probe DOT co DOT uk>
cc: djgpp AT delorie DOT com
Subject: Re: Allocate physical memory?
In-Reply-To: <D1FB30BBA491D1118E6D006097BCAE391A0A6A@Probe-nt-2a.Probe.co.uk>
Message-ID: <Pine.SUN.3.91.980324131557.22075A-100000@is>
MIME-Version: 1.0

On Mon, 23 Mar 1998, 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!

Either use conventional memory (which is mapped 1:1 by every DPMI
server I've heard of), or use the VDS (Virtual DMA Services) API,
available under most memory managers.  The latter option will not work
when the programs run without any memory manager or with HIMEM alone.

Probably your best bet would be to use VDS where it's available and
conventional memory where it isn't, since in the latter case you can
safely assume it's plain DOS.

The Interrupt List documents the VDS API which are a bunch of
functions of interrupt 4Bh/AH=81h.

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

Why do you think conventional memory won't work on Windows?

- Raw text -


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