VOGONS


First post, by tauro

User metadata
Rank Member
Rank
Member

The whole point of this is research is to free up as much conventional memory as possible on machines that are not compatible with other memory managers, such as UMBPCI, while remaining in real mode.

I'm using HIMEMX since it appears to be 100% compatible with HIMEM.SYS (is it?) and it frees as much as 16K more than HIMEM.SYS. I don't know how it does it, but it loads the system somewhere else, because there's no UMBs or EMS. Version 3.34 frees 64 bytes more than 3.38 so I'm sticking to it.

The setting "BootGUI" in MSDOS.SYS determines if the system boots directly into Windows (BootGUI=1) or if it stops at the command prompt (BootGUI=0). In the latter case, if you manually start Windows with WIN.COM, you'll have a second instance of COMMAND.COM loaded into conventional memory (why?). That takes about 7K.

Here are some numbers taken from MEM/C/P with the default settings. The only thing I added to CONFIG.SYS is LASTDRIVE=E, since that frees 4K. I tried other options such as FILES, BUFFERS, NOAUTO, but they were always counterproductive.

The first column is the conventional memory and the second column is the largest executable program size.

BootGUI=1
Inside a DOS box - 602,544 (588K) / 602,528 (588K)
Restart in MS-DOS mode - 620,224 (606K) / 610,288 (596K)

BootGUI=0
Inside a DOS box - 606,832 (593K) / 606,816 (593K)
Restart in MS-DOS mode - 613,936 (600K) / 613,920 (600K)

BootGUI=1 should free more memory since it doesn't load an extra COMMAND.COM. It does provide more conventional memory only if you "Restart in MS-DOS mode" (+6,288 bytes), but the largest executable size is smaller (-3,632 bytes).

BootGUI=0 always creates a second instance of COMMAND.COM. That takes about 7K of conventional memory. However it results in more memory for executables in all scenarios... Can anyone explain why? Isn't it counterintuitive or am I crazy?

For the record these are the numbers for pure DOS mode (BootGUI=0 before WIN.COM):

Pure DOS               - 624,512 (610K) / 624,496 (610K)

Any other tweaks or suggestions are welcome.

Reply 2 of 4, by tauro

User metadata
Rank Member
Rank
Member
Harry Potter wrote on 2025-03-19, 10:55:

Try EMSMagic! https://www.emsmagic.com/.

EMSMagic appears to be geared towards running programs that require EMS on NTVDM.

I'm talking about conventional memory here, not EMS. On DOS 7.1 EMSMagic takes about 70k of conventional memory...

Reply 4 of 4, by Harry Potter

User metadata
Rank Oldbie
Rank
Oldbie

If you want UMBs but not EMS, EMM386.EXE can take a NOEMS switch. I have UMBPCI on my Win98SE tower and can try to look for the proper switch there if you want. I used to use QEMM on a DOS laptop, but it broke. I think I still have it and a manual in my downloads folder. Should I try to look through them?

Joseph Rose, a.k.a. Harry Potter
Working magic in the computer community