DOS Menu OPTIMIZING DOSFull View

      Although DOS has come with the file EMM386.EXE included since at least DOS 5.0, it is not set up when DOS is installed. It is obvious with the variety of memory types and amounts that were installed on computers when DOS 5.0 ruled, that it would be hard to know what manager and settings to use. Today most computers can use the same basic settings.

      Beginning with DOS 6.0, the program MEMORY MAKER was included. This program automatically sets up the commands to "try" to get the most from your system. However, if you have a DOS program that needs plenty of memory with devices loaded, third-party programs such as (Symantec) Quarterdeck's QEMM programs are far more effective and easier to use. These are capable of using memory DOS can't even find.

      On most computers the CONFIG.SYS file should contain:
device=c:\dos\himem.sys /testmem:off
device=c:\dos\emm386.exe noems
buffers=40
files=40
dos=high,umb

This will provide about 630kb of conventional memory. Of course there are no devices loaded here. The "noems" on the EMM386.EXE line blocks the use of EMS Memory. If you need EMS memory for a program, replace that with RAM. If neither are included, the devices will all load in conventional memory.

      Quarterdeck's QEMM 8.0 would provide 634kb to 635kb even with some drivers loaded. Incidentally, these programs are excellent at optimizing Windows 3.x memory usage as well.

      When you add devices such as a CDROM or ZIP Drive, these can be loaded in High Memory. Such a device is normally loaded with the DEVICE= command. To load the device in High Memory you would use DEVICEHIGH= instead (for DOS):

devicehigh=c:\windows\ifshlp.sys
devicehigh=c:\dos\ansi.sys
devicehigh=c:\cdrom\cddriver.sys /d:idecd000
devicehigh=c:\iomega\ASPIPPM1.SYS /INFO FILE=NIBBLE.ILM SPEED= 7
These will work quite efficiently for DOS 5.0 up through Windows 98.

      If you are using an IOMEGA ZIP Drive in DOS, running Guest.exe will not load the drivers high. The program must load an ASP driver when GUEST is run. If you load the correct ASP driver in the CONFIG.SYS file and do away with the GUEST.INI, both the ASP driver and the GUEST.EXE can load high.

      To optimize memory usage, in the AUTOEXEC.BAT file, load all programs before environmental strings such as PATH and SET commands. Environmental contents is stored with programs when they are loaded. By loading them before such environment is used, they use less memory to load. The net result is more conventional memory. In the CONFIG.SYS, reducing the FILES and BUFFERS to the minimum you need, can increase available memory. Keep the LASTDRIVE= to the lowest letter you need (won't see me doing that) as each letter can use about 2kb of RAM. See Vernon Frazee VirtualDr Forums.

      The Environment size is controlled by a switch on the SHELL= line. If you type SET at the prompt, all the data you see listed in in the environment. If you specify a lot of variables, such as when running a complex batch program, you may need to increase the capacity of the environment. You can specify up to 4096 bytes by adding /e:4096 to the end of the shell= line of the config.sys file. See:
Out of Environment Space Error Message in MS-DOS Programs a Microsoft article.

      Keep in mind that these often are more ego methods than practicality. Very few programs need even 600kb, much less 620kb of conventional RAM. Obviously you could skip the CDROM driver to get maximum available memory. But you need the CDROM (sometimes). Unless you have a program that actually needs maximum memory, balance that with having a system that works efficiently. I set LASTDRIVE=Z so I can use that letter for my CDROM. If I used E or F as the last drive, adding another hard drive or partition would shift my CDROM letter, making installed programs that use it, non-functional. To get the best of boh worlds, use Boot Menus so you can select the correct configuration for the program you want to run.

PoliTalk Technical Menu
E-Mail

Comment to PoliTalk
And That's My
My Two Cents

Updated April 16, 2003
1