How much memory should I have when I boot directly into DOS? is a common topic of conversation. On my machines I have had as much as 639k some claim as much as 704k of free memory in DOS using VIDRAM.COM to add the majority of video memory used by color monitors (thanks to Lance Lyon for this information). VIDRAM.COM was included with Desqview by Quaterdeck who is no longer in business. Finding VIDRAM.COM may be difficult? This would limit any programs executed to black and white (mono) displays. I tend to think anything over 600k is good myself. This will vary with the numbers of drivers and TSR's you load at boot up and with the amount and type of memory your DOS has access to for loading high. Short answer - it depends.
Each new version of DOS has a larger COMMAND.COM file which loads into memory when you boot the machine. This means DOS has had to either become more efficient at handling upper memory or you would lose free memory with each new version. I don't recall the sizes of each version of DOS but v3.3 is 25,308 bytes and W98SE DOS is over 90k bytes in size. Drivers such as HIMEM and EMM386 are larger and so on.
It is not necesssary to use the very newest versions of DOS but older versions such as v3.3 cannot read partitions larger than 32 megabytes in size. This doesn't seem like a problem until you want to put all of Windows v3.x on one partition and it begins to get crowded with addons. Most seem to prefer the v6.22 MSDOS if they primarilly use DOS and Windows v3.x on their machines.
The good news is the newer W98 v4.10.2222 DOS (referred to as MSDOS v7.x) will boot up on my 80386 with 639k of available DOS memory from a rescue disk made using the built in function of W98SE. No need to tweak it or edit anything, it just does.
The bad news is it won't boot on my 80286 even if I erase the config.sys and autoexec.bat files. From discussing this with other DOS users it seems that this version of MSDOS will not boot on any machine earlier than the 80386. I have been told that v7.x MSDOS wants to only work in protected mode and will no longer function if it cannot for any reason.
WARNING!: Configuration of upper memory managers can and usually will make your system unable to boot to DOS or any other OS that you have installed until they are setup properly. Stressful, but it's the only way to find the proper configuration. Keep a boot disk handy when attempting to configure or reconfigure any of the memory managers listed here or the ones not listed here. Expect to do many resets and on/off's before you are finished. Learned the hard way myself. If you're not sure what a boot disk is, click here. Your best protection are your backups.
NOTE: ?more? are the links to more information and my opinion, for what it's worth, of the software's usefulness on legacy machines using 16 bit DOS. All of the programs listed here are the best in their genre but they have a few problem areas. Nothing is ever perfect or easy.
- © Memory Managers - HIMEM and EMM386 are included with newer versions of MSDOS, PCDOS, DrDOS, etc. Newer versions of these drivers are better at managing upper memory and will often work with earlier versions of DOS. I use EMM386 and HIMEM from the W98SE DOS here with my v6.22 MSDOS and W31 setup.
- HIMEM.SYS - Extended memory is a requirement for executing any version of Windows and newer versions of DOS and clones require it to loadhigh into upper memory. ?more?
- EMM386.EXE - Expanded memory for 80386 and newer machines the Microsoft version of this program is no match for QEMM when using MSDOS. DOS graphics applications and games usually want expanded memory and this driver supplies that type of upper memory. ?more?
- QEMMxxx.SYS - Will do both extended and expanded memory ?more?
- QRAM.SYS - For 80286 memory above 640k (questionable value in most cases). Quaterdeck is no more and I can't find this utility anywhere on the Internet. ?more?
- MEMMAKER.EXE - Attempts an automated rewrite of your config.sys and autoexec.bat files to best use upper memory for your hardware and software. Free download from Microsoft as a update to W95 DOS. These DOS update binaries execute with v6.22 MSDOS and might work with other versions of DOS. It's free - try it out.
- Free download (Quarterdeck)
- QEXT.SYS - A version of himem.sys (good on 80286's) - Simtelnet description mentions DOS v5 but I've used this with DOS v3.3 here. ?more?
- Shareware
- DOSMAX © - Allows 'loadhigh' when using DOS versions prior to v6.22. Predates MSDOS improvements. ?more?
- VMIX © - Adds multitasking to 80386 and DOS (complex setup but it does multitask). ?more?
- VRAM.SYS © - Use video ram as a ramdrive ?more?
- UMBPCI.SYS © - Limited to newer hardware but worth mentioning
- Multitasking for DOS - DRDOS (free download) and PTSDOS (Russian DOS clone) both multitask without additional third party software. Makes you think?
- Desqview - 80286 (if QEXT.SYS is used) and 80386 and newer.
- DesqviewX - 80386 and up with 'X' GUI some *nix compatibility
- Multitasking an XT (commercial)
- DoubleDOS © - Used this on an 8086 and could do downloads with TELIX running as a background task! (very stable)
- Task Switching
- MC.COM - Stable and works on 8086's (abandonware?)
- Software Carousel © - Quaterdeck is no longer in business but this is good software if you can find it.
| |
| Information accessed via links in the above text | | HIMEM.SYS or QEXT.SYS Creates HMA also referred to as extended memory used primarilly by multitasking addons for DOS, taskswitchers, and programs that shell out to the command line from within a running program. For the 80286's the Quaterdeck QEXT.SYS seems to work better here on my 1meg `286 than HIMEM.SYS did but QEXT does not provide all the services that HIMEM does meaning some programs will fail when using it. More info here. EMM386.EXE Creates expanded memory that DOS games, graphics editors, and many DOS utilities need to function properly. Switch commands can be used to include or exclude areas of upper memory. The most common switch command is NOEMS when used with W31. Hardware will vary, there are no generic setups for this driver even though you will find websites that claim otherwise. More info here. QEMMxxx.SYS Very complex setups for this one. QEMM is both himem.sys and emm386.sys combined into one program and will create both extended and expanded memory. Early versions were a bit touchy but newer versions seem quite stable here on my 80386. The optomizer that is included is far from perfect, often locking up the machine while 'testing'. Utilities to assist you in determining what adjustments need to be made are included. The most discussed is probably MANIFEST the memory browser, there are others also. Fortunately once you have the correct switches in place QEMM is very effective for managing upper memory. QRAM.SYS Difficult setup but when purchased this comes with many of the same utilities that QEMMxxx has with it. I owned this program long ago but returned it for Software Carousel (task switcher) but I don't remember why. I think it was only at LIM v3.0 and that really only works for LOTUS using upper memory or a disk cache. DOSMAX Allows use of loadhigh when using versions of DOS prior to v6.22. I first used DOSMAX with v3.3 MSDOS. Puts as much as possible in upper memory. Worked very well on my machine. Setup is not as difficult as QEMMxxx but it's not as versatile either. More info here. | | | VMIX Allows DOS to multitask. Difficult setup and I didn't like some of the requirements to use it but I don't remember what they were, sorry. It will definitely multitask DOS, I've set it up twice in the past. VRAM.SYS Easy to use once you've used the other upper memory managers and understand the terminology and the concept. Not particularly useful for legacy machines with minimal video memory available as it won't load into upper memory if you don't have any which means it uses more than it gives back. If you do have upper memory you probably don't need VRAM. Mainly useful for a larger ramdisk on machines with less than 2 megabytes of memory. BOOT DISK This is a diskette that contains the three key files needed for DOS to control your computer and give you access to your hard drive. Two of the files are hidden and won't show up when you use the DIR command without switches. Command.com is the only file you will see but there are actually three files. The names of the two hidden files changed with different versions of DOS but that's not important right now. If you put this diskette into drive A: before the machine is turned on when the computer is switched on it will first look at the A: drive for these hidden files (unless this has been altered in CMOS on newer machines) and will load DOS into memory from the A: drive diskette and allow you to access all of the files and devices connected to your computer. Normally these programs are loaded from C: on your hard drive. Some refer to a boot disk as a systems disk while Windows95 and newer users would recognize a boot disk as a rescue disk which is certainly is if/when Windows goes haywire.
| | CAUTION: Formatting a diskette will erase any files you have previously stored on the disk! Use a new blank diskette or type DIR A: to be certain nothing is on the disk that you want to keep. This disk must be made before you need it, not after. Once your computer will not boot you have no way to create this diskette.
If you are using any version of DOS or one of it's clones you only need to put a blank diskette (or one with files you no longer need) into your floppy drive A: and type: C:\> FORMAT A: /S Take your time and don't use type C: instead of A: or you will erase your hard drive. Don't laugh, it happens. Well, OK, go ahead and laugh if you must. Press the ENTER key and wait until the process finishes. The program format.com will then report the amount of space used for the three files and any bad sectors it has found. If it does find any bad sectors this diskette is dying and should be thrown away. Make another one. After this, assuming there are no bad sectors, format.com will ask you for a label. The label is just a word or phrase to help you find a particular disk. This is optional. I use the date so that I know if it has been years since formatting the disk or recently. Formatting a disk is magnetizing very fine iron oxide particles and diskettes tend to lose this magnetism over time. A new bootdisk should be made every year just to be certain it will boot when you need it to. Now you can copy config.sys and autoexec.bat from your C: drive to this diskette in the A: drive along with any other programs you feel might be handy while you test and configure your system. Possibly a text editor like EDIT so that you can reset your C: drive configuration if it won't boot? C: C:\TEMp> CD \ C:\> COPY CONFIG.SYS A: /V C:\> COPY AUTOEXEC.BAT A: /V C:\> COPY \DOS\EDIT.EXE A: /V You will need to edit config.sys and autoexec.bat to change them from using the C: drive for command.com etc. Generally just change the C:'s to A:'s and then copy any drivers loaded in config.sys to the floppy and any utilities or other software that loads from autoexec.bat and you're finished. This also gives you a copy of these two important files that you can copy back to the hard drive and edit the A: back to C: and get your computer to boot. You now have a boot disk! | | | DRIVER Any program with the last three letters SYS is a driver but there are some that end in EXE. The driver is the work horse program that translates between your OS and the machines hardware. A go-between that makes hardware manufactured by many companies seem to be just one machine. TSR Terminate and Stay Resident abbreviation. These are similar to drivers but are mainly intended to customize the OS in ways that each user finds easier to use for their purposes. TSR's typically load when autoexec.bat is excuted by DOS at boot up but they can also be loaded from the command line or another batch file. Some TSR's will unload themselves from memory others will not. There are utility applications that will remove the stubborn ones without rebooting the machine. These are optional and when more memory is required they can be removed from autoexec.bat or just remarked out using either REM or just a colon (:) as the first character then put back in service by deleting the colon or REM at another time. Partitions Those drive letters C:, D:, E:, etc. are usually not really different hard drives. They are fake hard drives that fool the OS into thinking each one is physically separate. The first C: drive is usually the primary partition which means it's the one the computer looks at for it's operational system software when you turn on the machine. The rest of the drive is set to be an extended partition and then that is divided into logical partitions with each having it's own drive letter. This was necessary in part because early versions of DOS could not keep track of the files on a partition larger than 32 megabytes. Some new machines use just the primary partition with all files on drive C:. This is a mistake in the long run as finding files and organizing the files for backups can be very difficult and time consuming. Better to have dividers which is what patitions seem to accomplish best. Loading High A term that describes putting software into memory above the 640k limit of DOS. The 384k of memory above the first 640k locations is referred to as reserved memory that was set aside for special functions that were never fully realized. Add the 640k to the 384k and you get 1024k which is the correct number for a 1 megabyte machine. Any additional memory is upper memory.
The original PC's and XT's did not have this reserved memory and cannot load high since there is no high memory in the design. It was intended to be realized in the 80286 but did not become fully functional until the 80386 was developed with it's protected upper memory access.
Drivers, buffers, and even parts of COMMAND.COM can be loaded into this space either by design or using helper utilities from third part applications such as QEMM, DOSMAX, and others. This leaves the original 640k for your DOS programs to use. | | | | | | |