Computing.Net > Forums > Disk Operating System > Extended memory in DOS

Computer Problems? Computing.Net has over 1,000,000 posts about all things technology related! Over 90% answered within 24 hours! Click here to start participating now! Also, be sure to check out the New User Guide.

Extended memory in DOS

Reply to Message Icon

Name: Dr. Nick
Date: July 4, 2003 at 02:02:39 Pacific
OS: WinXP Pro b2600 SP1
CPU/Ram: P4 2.0Ghz & 1024MB pc133
Comment:

Alright. I'm trying to run a few DOS applications that won't run in Windows XP. I know that XP's DOS is just emulated, so I setup some boot disks, put NTFSDOS on them, booted to DOS, and tried running them.

My problem is that pretty much any DOS program complains that I don't have enough memory to run it. I've tried to use EMM386 and Himem.sys, but to no avail. I've used the Winodws 98 OEM boot disk, an ME boot disk, and a few others. Each says that it supports extended memory, but it doesn't seem to be working.

I guess my questions are, how do you use himem.sys and EMM386 to get extended memory? How can you tell how much memory is available to DOS? What bootdisk do you think is the best bet for a good DOS environment?

Any suggestions/solutions are greatly appreciated!

Thanks.



Sponsored Link
Ads by Google

Response Number 1
Name: Ivo
Date: July 4, 2003 at 02:52:33 Pacific
Reply:

Are you sure your DOS programs are in short of memory or they call for extended memory?

First of all Emm386.exe is an Expanded (not extended!) memory emulator and its main use is to get control of the Upper Memory Blocks (the area located between 640kb and 1Mb) so freeing more conventional memory (the memory under the 640kb barrier) for applications.
Very fiew and legacy programs require the extend memory emulation.

If otherwise your programs run in DOS Protected Mode (DPMI), you need a DOS extender that works using HiMem.sys (that is an Extended memory enabler).
In Win Xp it is DOSX, but you can find many on the freeware sites.

Be more accurate in describing the error messages reported by your programs and post your config.sys and autoexec.bat


0

Response Number 2
Name: IVO
Date: July 4, 2003 at 06:09:23 Pacific
Reply:

Reading again your post, I noticed you say to put NTFSDOS TSR program in all your booting diskettes. I presume to get access of the C: hard drive holding NTFS Windows XP mainstream file system.
Well, I suppose that is the problem, NTFSDOS stealing conventional memory and reducing the available addressing space to applications. Type MEM at DOS prompt to get the amount of your conventional memory.
If it's so, a way to work around is to load NTFSDOS in Upper Memory via EMM386 (LoadHigh).
I do not know the practical characteristic of NTFSDOS, so what I said is only hipotetyc,but that may be the right way.

Again post your Autoexec.bat and Config.sys.


0

Response Number 3
Name: Petit Jean
Date: July 4, 2003 at 10:31:38 Pacific
Reply:

Keep in mind that dos will only work with a FAT partiton.A typical config.sys that will give you Extended or Expanded memory depending on the program needs and without you having to do anything about it is (in this example the files are on the boot disk - check the path to your files):

device=himem.sys
device=emm386.exe 4096 ram
dos=high,umb

The 4096 figure here is a good example. You can go much higher but DOS does not usually need much more.

Other config.sys that sometimes are required are:
device=himem.sys
dos=high

or

device=himem.sys
device=emm386.exe noems
dos=high,umb

Some people advocate the use of the AUTO switch with emm386.exe.I don't use it. The following boot disk is a Windows 98 boot disk that can be used for experimenting with the above config.sys.Edit the config.sys and auitoexec.bat present on the boot disk to suit your needs.This boot disk uses the traditional approach normally seen on a boot disk:basic system files with drivers plus config.sys and autoexec.bat.The usual boot disks for Win 98 and ME are not suitable for you because they use a RAM disk that is not needed to make a dos program run.
http://www.csupomona.edu/~djlee1/winworld/files/boot/Win98DOSBT.rar
Good luck.


0

Response Number 4
Name: Dr. Nick
Date: July 4, 2003 at 10:50:55 Pacific
Reply:

Thanks for the replies!

Yes, I do use NTFSDOS so that I can access my hard drives, and it works very well. I do think you are right about it using memory, but am not sure if that's the only problem.

The only error message I get is "Not enough memory". It's always the exact same, so I figured it was DOS giving me the message, not the individual program. Most of what I'm trying to run are old DOS games.

I guess I need a better idea of how to use EMM386. What switches and options would you suggest?


0

Response Number 5
Name: SkipCox
Date: July 4, 2003 at 12:24:37 Pacific
Reply:

As in the above replies, DOS games are looking for available memory below 640k. For example Blake Stone wants 610k available whereas Tetris is only looking for about 255k. Anything you can load in upper memory (640 - 1024k) will free up the memory you need. Memmaker did this in DOS 6.x but you'll likely have to do it manually. Your autoexec.bat and config.sys files will tell us what we need to know.


0

Related Posts

See More



Response Number 6
Name: Dr. Nick
Date: July 4, 2003 at 13:46:48 Pacific
Reply:

I would post the autoexec and config files, but I've used a number of different ones, from different places. I really just want to start over from scratch and make a new boot disk to support more memory.

What do you suggest putting in the config and autoexec files? What version of DOS should I use?

Thanks again.


0

Response Number 7
Name: Al
Date: July 4, 2003 at 20:45:09 Pacific
Reply:

I have a boot disk for an old dos football game I have. I have 6 files on it. 1. io.sys 2. msdos.sys 3. command.com 4. config.sys 5. autoexec.bat 6. mouse.com

The autoexec.bat file reads:
echo off
path c:\windows;c:\windows\command;c:\dos
prompt $p$g
set comspec=c:\windows\command.com
loadhigh c:\mouse.com
c:\windows\smartdrv.exe /x /v

The config.sys file reads:
device=c:\windows\himem.sys
device=c:\windows\emm386.exe ram
dos=high,umb
files=30
buffers=20

This boot disk works well for me, it gives a lot of available conventional memory and expanded memory. You need to use the attrib command to transfer the .sys files. If you need cd you will have to add that in.


0

Response Number 8
Name: JackG
Date: July 6, 2003 at 03:42:25 Pacific
Reply:

Running old DOS based games that require EMS memory through a UMB page frame on machines designed for XP/NT can be a bit of a problem. Some of the video cards often take the whole C000h segment as the video BIOS, and the E000h and F000h segments are taken by the system BIOS. Throw in a network card, with it taking part of the D000h segment, and there is no room for a 65k UMB page frame to supply EMS memory. AUTO will not work.

In this case, you have to "force" EMM386 to assign a page frame in the D000h segment and overlay any network card there. Assumes you are not using the network to play the game. Normally, under DOS you need access to the Video BIOS and to the System BIOS. Use the MEM /d command under DOS to see how your memory is allocated. Your game may need a 65k page frame for "Upper" memory.

You may need to find some documentation on the games and find out how much of what kind of memory they require. (Conventional (lower) memory, Upper memory and/or a UMB page frame, Extended (XMS) memory, or Expanded (EMS) memory through a UMB page frame. Then compare that with what MEM /d shows for your current configuration and adjust EMM386 settings in the CONFIG.SYS as required.



0

Response Number 9
Name: Dr. Nick
Date: July 6, 2003 at 16:32:31 Pacific
Reply:

Thanks, and thanks again to everyone who responded.


0

Sponsored Link
Ads by Google
Reply to Message Icon

loading an operating syst... date Value in a variable ...



Post Locked

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


Go to Disk Operating System Forum Home


Sponsored links

Ads by Google


Results for: Extended memory in DOS

Extended Memory in DOS www.computing.net/answers/dos/extended-memory-in-dos/3004.html

freeing up XMS memory in DOS www.computing.net/answers/dos/freeing-up-xms-memory-in-dos/6914.html

Freeing memory in DOS (long post) www.computing.net/answers/dos/freeing-memory-in-dos-long-post/4437.html