|
|
|
Last updated 05 July 1999 Optimizing MSDOS (Conventional) MemorySee also Windows 9x. If you are running Windows 3.1 or Windows 3.11, you should seriously consider upgrading to Windows 98. Windows 3.1(1) Is Not year 2000 ready. I am writing this based on my experience of making more memory available in DOS and Windows. The comments are for DOS 6.2 and above, and Windows 3.1/3.11/Workgroups. Although Windows 3.x uses virtual memory, some things still use conventional memory and it is possible to get "out of memory" errors. When MSDOS starts, it first looks at CONFIG.SYS for device drivers. It will then run AUTOEXEC.BAT. The secret of making more memory available is my modifying these files. If you have run MEMMAKER, use the old files, or remove all the things that MEMMAKER adds to these files (ie the /L... parameters) before continuing. These changes should be done from the MSDOS prompt (not from the MSDOS prompt in Windows). First of all, you will see that I've removed all the code page stuff. Code pages are character sets, mainly relevant for Scandinavian countries and for PS/2 and OS/2 character set compatibility (CP850). The default AT character set is called CP437. This is ok for all English speaking and some non English speaking countries. It saves a lot of memory if you do. Change the line (10) by removing the '850' or '437' between the first and second commas. The 044 is UK, and should be your country code. The files are based on my system. MSDOS is on drive C:\DOS and windows is on C:\WINDOWS Remove the DEVICE=DISPLAY.SYS (only needed if you've changed the codepage) and DEVICE=ANSI.SYS (very few programs rely on this driver, it's a waste of space). Note that line 15 is CDROM specific. Line 16 is sound card specific and initializes my sound card. Note that nearly everything has HIGH appended. This causes MSDOS to try and put stuff above 640K. If you have any problems, press F8 when MSDOS starts loading. (1) is Required!!. If you specify /TESTMEM:OFF (optional), the high memory ram won't be checked and so will start quicker. (2) Required!!, should be the same as in the original AUTOEXEC.DOS. As here, enables the 64K EMS frame. (3) Required!! (4) Specifies number of files that can be open at any one time 40 is currently the suggested number. (5) Specifies the number of buffers. Keep this between 10 and 30. It's an ideal parameter to fine-tune memory usage, just to get that extra 1K (-2 from the value). (6) Specifies the DOS 1.0 compatible FCB's. You have to specify a minimum of 1. Only increase this if an old program fails. (7) only specify this if everything works, makes the boot run faster by not pausing for a key press. (8) Specifies your last drive. Ok, here is something I learned. 2K is wasted for every unused drive letter. Keep all letters as close together as possible. I have two hard disk drives, both compressed. Drive A is floppy disk A. Drive B is a non-existent floppy disk. Drive C is the compressed image of my first hard disk. Drive D is the host of my second hard disk. Drive E is the host of the first hard disk. Drive F is the compressed image of the second hard disk. Drive G is my CDROM drive. (9) A misconception is that stacks are needed. They aren't and this disables them. (10) is mentioned above, I've removed the '850' from 044,850,... (11) Required only if already in your CONFIG.SYS, leave it the same, but change DEVICE to DEVICEHIGH. (12) This moves the doublespace/drivespace driver into memory above 640K. Not needed if you don't have doublespace/drivespace installed (which I suggest if you have enough disk space). (13) is required to allow old Dos tools to work. (14) is my mouse driver. This could equally be mouse.com in autoexec.bat. (15) and (16) already been mentioned. Don't be afraid to juggle (11) to (16) around, or mark some of them as "DEVICE" as opposed to "DEVICEHIGH" to move them into lower memory to make extra room for bigger stuff to go into upper memory. CONFIG.SYS1 DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF The Autoexec is a lot simpler, and is executed after MSDOS is started. It may be wise to add "mouse.com" Don't worry if you don't. The lines are: (1) disables echoing of all lines including this one. (2) sets up the path. (3) and (4) should be set to point to a temporary directory, which ideally should not be the compressed disk. don't use C:\DOS (the default) make a directory (say D:\TMP and use that instead). (5) sets the standard c:\> prompt. (6) sets enhanced keyboard editing with insert mode. (7) can be removed for USA keyboards, but is required for UK and other foreign keyboards. AUTOEXEC.BAT1 @ECHO OFF Make use of the mem command (mem /c/p). See what memory different programs/drivers take up. juggle things around. Eg if there is 30K free in UMB's, there is a 30K driver in UMB and a 50K driver in lower RAM, mark the 30K driver as "DEVICE" instead of "DEVICEHIGH" (or in AUTOEXEC.BAT, remove "LH"). This will free up about 20K in lower RAM. Good Luck |
Comments/Suggestions: WebMaster |