Mail Archives: djgpp/1998/08/01/12:30:30
On Sat, 01 Aug 1998 00:55:40 GMT, fesenko AT pacific DOT net DOT sg (Victor) wrote:
> 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
- Raw text -