Win2k hates Expanded Memory


Jan 5, 2002
I've been trying to get Master of Magic and Impulse Tracker going under my Win2k install. Both of these programs demand Expanded Memory. When I search for fixes through google, I find all kinds of suggestions for changing the expanded memory properties by creating a shortcut. This seems to work for everybody else, except me. No matter what I've tried, I can't get any expanded memory to come up at all. Here's what I'm currently trying:

When I run command.exe, and type mem /d, this is what I get:

Address Name Size Type
------- -------- ------ ------
000000 000400 Interrupt Vector
000400 000100 ROM Communication Area
000500 000200 DOS Communication Area

000700 IO 000370 System Data
CON System Device Driver
AUX System Device Driver
PRN System Device Driver
CLOCK$ System Device Driver
COM1 System Device Driver
LPT1 System Device Driver
LPT2 System Device Driver
LPT3 System Device Driver
COM2 System Device Driver
COM3 System Device Driver
COM4 System Device Driver

000A70 MSDOS 001630 System Data
0020A0 IO 002020 System Data
KBD 000CD0 System Program
HIMEM 0004E0 DEVICE= XMSXXXX0 Installed Device Driver
000490 FILES=
000090 FCBS=
0007D0 STACKS=
0040D0 COMMAND 000A20 Program
004B00 MSDOS 000070 -- Free --
04B80 COMMAND 0004A0 Environment
005030 COMMAND 0003C0 Data
005400 DOSX 0087A0 Program
00DBB0 DOSX 000080 Data
00DC40 COMMAND 000A20 Program
00E670 COMMAND 0003A0 Environment
00EA20 MEM 0003B0 Environment
00EDE0 MEM 017550 Program
026340 MSDOS 079CA0 -- Free --
09FFF0 SYSTEM 02F000 System Program

0CF000 MSDOS 0003C0 -- Free --
0CF3D0 MSCDEXNT 0001D0 Program
0CF5B0 REDIR 000A70 Program
0D0030 MSDOS 00BFB0 -- Free --
0DBFF0 SYSTEM 008000 System Program

0E4000 IO 003100 System Data
MOUSE 0030F0 System Program
0E7110 MSDOS 008EE0 -- Free --

655360 bytes total conventional memory
655360 bytes available to MS-DOS
594432 largest executable program size

12582912 bytes total contiguous extended memory
0 bytes available contiguous extended memory
4045824 bytes available XMS memory
MS-DOS resident in High Memory Area

Here is my config.nt
REM EMM=RAM Tried it uncommented -- doesn't work
dos=high, umb

And my autoexec.nt
@echo off
lh %SystemRoot%\system32\mscdexnt.exe

lh %SystemRoot%\system32\redir

And here's my System.ini:

; for 16-bit app support


ReservePageFrame=yes ; Doesn't help if removed

And the current PIF setup that I've been trying:

I've tried setting it to Auto as well.

I have tried this with VDMSound, and it can't get expanded memory to go either. For now, I'm trying to get the programs to go without any sound support, and just EMS support.


Jan 5, 2002
The plot thickens! This is on a laptop. I have heard that laptop makers like to cram things into the memory region where EMS usually resides. I have tried to work around this by using different EMM = lines in my config.nt. Here is one of them:

EMM = A=8 B=0x1000 RAM

When I run command (which executes config.nt), it claims that this line has syntax errors! Does anybody know how to do this right?


Sep 11, 2001
your usage looks correct. At least going by this:

EMM = [A=AltRegSets] [B=BaseSegment] [RAM]

specifies the total Alternative Mapping Register Sets you
want the system to support. 1 <= AltRegSets <= 255. The
default value is 8.

specifies the starting segment address in the Dos conventional
memory you want the system to allocate for EMM page frames.
The value must be given in Hexdecimal.
0x1000 <= BaseSegment <= 0x4000. The value is rounded down to
16KB boundary. The default value is 0x4000

specifies that the system should only allocate 64Kb address
space from the Upper Memory Block(UMB) area for page frames
and leave the rests(if available) to be used by DOS to support
loadhigh and devicehigh commands. The system, by default, would
allocate all possible and available UMB for page frames.

The EMM size is determined by pif file(either the one associated
with your application or _default.pif). If the size from PIF file
is zero, EMM will be disabled and the EMM line will be ignored.