Discussion Locked

EMM386 and Windows95

0 helpful
13 replies
Closed to new repliesThis discussion is closed. It stays readable, but it takes no new replies.

Does EMM386 serve a purpose with Windows95?
We run a rather complex DOS based database accounting program under Windows. The support department had us rem out the Device=emm386 statement in Config.sys, saying we do not need it. Now the program locks up more often, so now I am confused.

I know in generalities what EMM386 did under DOS, but I do not know its function under Windows and a Pentium 200MMX PC with 32MB of RAM.

Thanks for any input! Gregg

13 replies

by yorkster

emm386.exe is effective under win 95 it controls your conventional memory and since your running a dos app it will run in the first 640 k of memory. a better setting would be as follows
device=himem.sys
dos=high,umb
device=c:\windows\emm386.exe noems
you can then run mem /c /p to see what programs are being loading into high mem, then adjust them so that the biggest ones load first. that way you will get the most conventional memeory possible
hope this helps

by don christner

Hi Gregg,

Look here on the TechRepublic site for an article named "Understanding low-level memory under Windows 98", written by Brien Possey and dated March 23, 2000. Very good info on how to manage memory.

Don

by vinh.le

Hello,

I agreed with Gary. Adjust your config.sys to have the following

device=c:\windows\himem.sys
device=c:\windows\emm386.exe noems
dos=high,umb
files=99
buffers=30,0
lastdrive=z

This should help with your MS-DOS based application.

by duong beo

Hi,

The answer is yes. EMM386 originally had 2 task:
- Dealing with EMS.
- Helps loading drivers, DOS and some other utilities into UMB (unused memory blocks in Upper Memory Area between 640K and 1024K) and HMA (memory between 1024K and 1088K).

After the born of Win9x, the first purpose is no longer needed as Windows9x has its own way for managing EMS. It will grant EMS to old DOS applications when needed but without EMM386, you cannot load anything into UMB, HMA. As a result, they willflock up your conventional memory and you get low in memory for DOS applications. 1st answer is right on track. You can use the command EMM386 with parameter NOEMS (NO Expanded Memory Specification) then in the config.sys you can load things into UMB and HMA as Vinh.LE's answer.

Good luck,

Duong beo

by isys

The parameters in your AUTOEXEC.BAT and CONFIG.SYS are run after your registry and could have the effect of fragmenting your system memory. I also have a resource-hog DOS program, and what worked for me was to increase the FILES= and BUFFERS= statements in the CONFIG.SYS. In Windows 95 you still have the MS/DOS limit of 255 for the FILES statement; I use 220. BUFFERS I set to 40. It works OK for me.

by bshapess

yes emm386 will help. Put the following lines in your config.sys file in this order.

device=c:\windows\himem.sys
device=c:\windows\emm386.exe noems
dos=high,umb

you should notice it run faster, and less lockups.

This discussion is closed to new replies.