delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/01/16/07:21:08

Date: Tue, 16 Jan 2001 14:15:41 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: Charles Sandmann <sandmann AT clio DOT rice DOT edu>
cc: djgpp AT delorie DOT com
Subject: Re: dos memory fun
In-Reply-To: <3a5cfa54.sandmann@clio.rice.edu>
Message-ID: <Pine.SUN.3.91.1010116141517.4763F-100000@is>
MIME-Version: 1.0
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Thu, 11 Jan 2001, Charles Sandmann wrote:

> > Now, this error is a result of there being only about 430K left below 640K
> > while my program is running.  The program I need to call requires around
> > 600K free.  Runs fine without my program running, but errors when called
> > from inside my program.
> 
> This seems to indicate that the transfer buffer plus CWSDPMI are taking
> 210K of memory.

Some of those 210KB is taken by DOS.  For vanilla configurations (no 
EMM386 and no LOADHIGH/DEVICEHIGH/DOS=HIGH), this can be around 60-80K, 
which leaves only 130K-150K for CWSDPMI and the transfer buffer.  That is 
about what the first DPMI program usually takes, IIRC.

> It won't work without UMBs.  You will need HIMEM.SYS, EMM386.EXE, and the
> appropriate DOS=HIGH,UMB to get even close.  You will probably still need to
> specify CWSPARAM custom values to cut the memory.

The OP indicated that using CWSDPR0 solved the problem.  How much less 
low memory does CWSDPR0 use, approximately?

- Raw text -


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