www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/09/03/08:30:32

From: neil AT robots DOT ox DOT ac DOT uk (Neil Townsend)
Newsgroups: comp.os.msdos.djgpp
Subject: Re: GCC / RHIDE and CWSDMPI/CWSDPR0/Stubbing
Date: Thu, 3 Sep 1998 09:53:32 GMT
Organization: None evident here.
Lines: 62
Message-ID: <1998Sep3.095332.29693@catorobots.ox.ac.uk>
References: <Pine DOT SUN DOT 3 DOT 91 DOT 980902131128 DOT 2721D-100000 AT is> <1998Sep2 DOT 121655 DOT 28457 AT catorobots DOT ox DOT ac DOT uk> <35EDE478 DOT EEB040FC AT cartsys DOT com>
NNTP-Posting-Host: cato.robots.ox.ac.uk
NNTP-Posting-Date: 3 Sep 1998 09:53:40 GMT
Originator: neil AT cato
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

In comp.os.msdos.djgpp Nate Eldredge <nate AT cartsys DOT com> writes:
>
>I seem to recall a discussion some time ago regarding a 32MB limitation
>in some versions of EMM386.  You should read the archives-- I believe
>some kind of workaround was found.

Many thanks, an excellent summary was posted a while back by Michael Maunch
(quoted below in case it's of use to anyone). The problem turned out to be
the limitiation on the number of mallocs that CWSDPMI could provide without
an increased heap, CWSPARAM to the rescue and many thanks to Eli for all the
help.

Neil

>On Sat, 01 Aug 1998 00:55:40 GMT, fesenko AT pacific DOT net DOT sg (Victor) asked:
>
>> Could someone please tell me why you want to beat the 32Mb limitation
>> of emm386, why not just use himem.sys, which allows for 64Mb of
>> extended RAM? Is there any special reason to use emm386?
>
>Without emm386 you don't have UMBs (upper memory blocks) to load drivers
>and TSRs into the memory between 640K and 1MB. (You could use
>substítutes like Use-UMBs, UMBPCI or UMBT to have UMBs without emm386,
>but these are tricky to setup, work only for some chipsets and are not
>included with MS-DOS.)
>
>And without emm386 (just himem) you don't have VCPI, and without VCPI
>cwsdpmi will give all XMS to DJGPP programs, leaving 0 bytes of XMS for
>other programs called from within these DJGPP programs. Start bash or
>RHIDE, then call `mem´ and see how much XMS it displays: 0.
>
>And you don't have EMS without emm386, and I've been told some programs
>still need EMS.
>
>So we can choose:
>
>HIMEM.SYS alone: >32MB for DJGPP programs, 0 KB XMS for non-DJGPP
>programs called from within DJGPP programs, no UMBs, no EMS
>
>EMM386.EXE RAM NOEMS NOVCPI: <32MB for DJGPP programs, 0 KB XMS for
>non-DJGPP programs called from within DJGPP programs, UMBs, no EMS
>
>EMM386.EXE RAM NOEMS: <32MB for DJGPP programs, x KB XMS for non-DJGPP
>programs called from within DJGPP programs, UMBs, no EMS
>
>EMM386.EXE RAM FRAME=xxxx: <32MB for DJGPP programs, x KB XMS for
>non-DJGPP programs called from within DJGPP programs, UMBs (but 64 KB of
>them lost for EMS page frame), EMS
>
>Tested with HIMEM.SYS/EMM386 from Win95b/OSR2.5(1214) in plain DOS mode
>with cwsdpmi.
>
>With the built-in DPMI server of Win95 (inside DOS windows) and
>`EMM386.EXE RAM NOEMS NOVCPI´, I get >32MB for DJGPP programs, x MB XMS
>for non-DJGPP programs called from within DJGPP programs, UMBs, no EMS.
>
>Regards...
>		Michael
>

-- 
Neil Townsend   +44 (1865) 273121   neil AT robots DOT ox DOT ac DOT uk

- Raw text -


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