Node:More than 64MB,
Q: How do I set my system so that DJGPP programs could use all of my
256MB of installed physical RAM?
Q: I have 128MB of memory installed, but
go32-v2 only reports
32MB, how can I get more?
Q: You say that CWSDPMI supports up to 512MB of total virtual
memory, but I cannot get more than 128MB!
A: You can have as much as 256MB of physical memory in DJGPP programs, provided that you have at least that much installed, and that you observe the following guidelines:
HIMEM: most of the others will limit the amount of accessible memory to 64MB (
EMM386usually limits it to 32MB unless you turn off the VCPI support using the
NOVCPI NOEMSparameters on the
EMM386command line). Using
HIMEMfrom MS-DOS 7 does allow access to more than 64MB. Note that you must install
HIMEM, since without it, BIOS is the only way to find out how much memory is installed, and the standard system BIOS only supports up to 64MB of memory.
QEMM(version 8.0 or later), you must include the
USERAM=128Mfor 128MB) on its command line in your
CONFIG.SYSand specify the exact amount of memory installed on your machine, otherwise
QEMMwon't support more than 64MB.
Another possibility is to run your program from the Windows 9X DOS box,
after changing the
EMM386 line in your
DEVICE=C:\WINDOWS\EMM386.EXE NOEMS L=131072
I'm told that this line (here for 128MB of installed memory) together with an "Auto" setting of the DPMI memory for the DOS box allows DJGPP programs to use up to 117MB of memory when running from the DOS box under Windows 9X.
If you need to use more than 256MB of physical memory, upgrade to CWSDPMI r5 or later. Another possibility is to run under OS/2 which features a built-in DPMI 1.0 support which can be configured to support as much as 512MB of DPMI memory (the user who reported this didn't know how much of this can be physical RAM).