www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/11/29/01:05:49

From: "Charles Sandmann" <sandmann AT clio DOT rice DOT edu>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: XMS with HIMEM? (and DMA)
Date: Wed, 28 Nov 2001 23:48:46
Organization: Aspen Technology, Inc.
Lines: 27
Message-ID: <3c0577de.sandmann@clio.rice.edu>
References: <3C03AFFB DOT 543A5BDB AT pq DOT fta-berlin_dot_de> <3c039812 DOT sandmann AT clio DOT rice DOT edu> <3C04D3B4 DOT 9B3BD2A6 AT pq DOT fta-berlin_dot_de>
NNTP-Posting-Host: dcloan.hou.aspentech.com
X-Trace: selma.aspentech.com 1007013294 15732 10.32.115.107 (29 Nov 2001 05:54:54 GMT)
X-Complaints-To: postmaster AT aspentech DOT com
NNTP-Posting-Date: 29 Nov 2001 05:54:54 GMT
X-NewsEditor: ED-1.5.8
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

> I am happy to share my code but I must note that what I use was
> originally posted by Neil Jarvis and at this point I have not 
> substantially added to it.
> I am also trying to build some large buffer DMA code handling as many 
> environments as possible. In this context I noticed that this is not so
> simple under Windows (only considering 9x DOS box). Having allocated
> some XMS it seems impossible to lock it in Windows. 

I noticed this also in testing.   You are limited to DOS memory or 
trying to use the VDS functions.

> I have not even been lucky
> with DOS memory. It seems that Windows does not map it over the first 
> physical MB. Makes sense insofar that there can be multiple dos boxes, 
> VMs that could not possibly all be in the first MB. 

If I remember correctly it captures the pokes to the DMA I/O ports and
re-maps it for you for each DOS machine.  But last time I messed with it
was under Win95 beta when we were prototyping stuff for Quake.  You
might look at a lot of code which has been written since then for 
examples.

> Nevertheless, what about the DMPI spec? 

DPMI says nothing about physical addresses or DMA - you have to use the
VDS spec for that.  It turns out that most VDS implementations are next
to useless, but you can see what's available.

- Raw text -


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