Tom's Guide | Tom's Hardware | Tom's Games
![]() |
![]() |
![]() |
I have noticed on some computers DOSX loads into high memory as instructed in AUTOEXEC.NT ...
eg.
REM Install DPMI support
lh %SystemRoot%\system32\dosxHowever, on some other computers it doesn't, even though instructed to.
Instead it loads into conventional memory.
Anyone have any ideas why?

Windows XP has no DOS, only a DOS emulator, therefore it has no knowledge of high memory. High memory only ever existed because of a peculiarity of the memory addressing of the original 8088 CPU.
High memory, conventional memory and XMS memory are concepts going back to the days of DOS. In XP, memory is just one continuous chunk from start to end. These memory areas are emulated and could appear anywhere in the memory space.
There is no need to load DOSX via Autoecex, it is loaded automatically by the system.
Stuart

There has never been MSDOS or equivelant in the OS/2 / NT family and it is about time that people got used to the fact that COMMAND PROMPT is not DOS even though it looks like it, even Linux / Unix in Command Line looks like DOS, for that matter so does BASIC. MSDOS or equivelent is what it is and will never be anything different whatever anybody may argue. See:
http://www.windowsitlibrary.com/Content/226/03/1.html

Thanks for the replies folks but there seems to be a misunderstanding.
I'm not "trying to load" DOSX.
In fact I haven't changed anything from standard at all.The line
lh %SystemRoot%\system32\dosx
is a standard line in everyone's AUTOEXEC.NT file (in the WINDOWS/SYSTEM32 folder)On most systems with XP if I type
MEM /C | MORE
at the command prompt it tells me DOSX loads into upper memory, but on some it shows that it has loaded into conventional.I'd love to know why.

Firstly, I've tried the command "mem" with both yours and all other combinations of switch I could think of and it appears to do nothing whatsoever on any of my 3 XP Pro machines!
Secondly, a Google search for "dosx XP" reveals it described thus:
"DOSX.EXE (DOS Extender). A virtual DOS machine (VDM) MS-DOS extender for standard mode"
from which I guess that it is just a file to enhhance compatibility with some DOS applications by fooling them into thinking thay are running under real DOS.
But I may be wrong !

Hi DavefromAus and all
Here at work I'm using W2K, and to my surprise I get exactly the same result as yours, and I also have the same line in the Autexec.NT file.My guess is that the DOS emulator reserves 1MB RAM (maybe more) and divides it into 640 KB and high mem, to perform as equal to pure DOS as possible. And to keep the 640 available to a program, the emulator is loaded high.
Nigel

Thanks Nigel,
it's good to know I'm not going completely crazy.I think you're right about it emulating conventional and upper memory.
After all, why would they (Microsoft?) start the line in AUTOEXEC.NT with "lh"If you try it on several different machines like I have you might get some showing DOSX loads high (emulated) and loads into conventional (emulated) memory.
cheers >>> Dave

It's mid day here and I'm at work. I'll try on three XP-machines when I get home and post back the results, no matter how they may come out.
And I agree about that "lh" statement.
Until later
Nigel

All three computers shows upper memory when running mem /c|more in the Command Window. And all three also have more than one "lh" lines in Autoexec.NT
My guess in response 5 remains the same, even if I'm not 100% certain.
Nigel

Thanks Nigel,
Just out of curiosity, is dosx loading into conventional or high (emulated of course) on the different machines. Are they all the same or is there a mixture like I find here.
Dave

Hi Dave
DOSX is loaded high, as is the CD driver and one more command I cannot remember right now (I'm at work again). So, all three commands in Autoexec.NT are loaded high.
Surely this must be to reserve as much emulated conventional RAM (below 640)as possible for any application that is supposed to be run. Just the way it used to be done in time of "pure" DOS.Nigel

Hi again Nigel,
thanks again but could you do one more favour for me please.
I know that dosx is supposed to load high because of the "lh". But is it actually being loaded into high mem (emulated of course)??.
I find here that on some machines it actually loads into conventional (emulated), even though it has the "lh" at the start of the line in AUTOEXEC.NT (I check that with the MEM /C | MORE command)
This seems to happen only on some machines and those machines subsequently lose some functionality of some dos based programs due to the lowering of available conventional (emulated) memory.
regards
Dave

Sounds strange to me. Gotta check this.
Here at work (W2K) the following are loaded in conventional memory:
MSDOS, KBD, HIMEM, COMMAND (2 instances), KB16. Free = 624448Upper memory:
SYSTEM, MOUSE, MSCDEXNT, REDIR (currently used MORE command?), DOSX. Free = 80432Get back with home computer info later.
Nigel

Dave,
DOSX loads partly in conventional, partly in upper memory. This goes for one machine with 512 and two with 256 MB RAM.Nigel

Small world, Dave..
I'm scouring the net for answers to our common problem and just when I think" Hey! this guy has the same problem.. maybe he's found a fix!!"
And it just us, again..
I'm still asking around... but the crux of the prob is as you say.. DOSX load a little into upper and leaves most in conventional.. even when there appears to be more than enough free in upper.
It does this on my own XP Pro system..I'll let you know if I get anywhere..
Mal
Mal Fields

This is hardly an answer to the original question, but I can tell you that the loading or lack of loading the network redirector "REDIR" seems to impact where DOSX goes. Perhaps the autoexec.nt file is different for the computers showing it all in low vs. split between high and low? Also, check the PIF file, if any to see if the shortcut memory properties are different between the differing computers.
(Stumbled across this thread when Googling for memory settings trying to get an old DOS program to run on Win2K.)
Ken.

![]() |
![]() |
![]() |

This post is quite old and has been locked from receiving new replies. Please create a new posting instead.
| Ads by Google |