Jin said:
I'm trying to run a DOS application on windows XP,
but fail because of not enough memory.
First question is, what kind of memory does DOS use to run
application. Extended or upper or expended?
The answer to the second question is 'depends on the program'. It will
always use some conventional memory from the base 640K of address space,
and may also use Extended (XMS) or Expanded (MM - more probably). As
things are set by default, the amount of conventional memory available
is a bit restricted, and that is probably the problem.
For best DOS conventional memory, edit the windows\system32\config.nt
and autoexec.nt files.
In config.nt have (apart from the large number of REM lines) just
EMM = B=4000 RAM
(note the exact spaces - either side of the first = and before RAM,
none next to the second =) and
dos=high, umb
device=%SystemRoot%\system32\himem.sys
files=40
(or higher files= if needed)
and in autoexec.nt have
REM Install DPMI support
lh %SystemRoot%\system32\dosx
with other earlier lh lines REM ed out, and then any SET or PATH lines
that may already be present at the end.
This should give about 612K for a program, run from a shortcut made to
its .exe file. R-click the shortcut, Properties and on the Memory page
you can set an explicit value - rather than Auto - for any EMM or XMS
memory it may need, and for initial environment space