Date: Tue, 16 Jan 2001 14:15:41 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is To: Charles Sandmann cc: djgpp AT delorie DOT com Subject: Re: dos memory fun In-Reply-To: <3a5cfa54.sandmann@clio.rice.edu> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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 Precedence: bulk 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?