====================================================================== Microsoft(R) Product Support Services Application Note (Text File) PD0456: HOW DO I GET MS-DOS(R) TO RUN IN THE HIGH MEMORY AREA? ====================================================================== Revision Date: 4/93 No Disk Included The following information applies to Microsoft MS-DOS versions 5.0 and 6.0. -------------------------------------------------------------------- | INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY | | ACCOMPANY THIS DOCUMENT (collectively referred to as an | | Application Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY | | KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO | | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A | | PARTICULAR PURPOSE. The user assumes the entire risk as to the | | accuracy and the use of this Application Note. This Application | | Note may be copied and distributed subject to the following | | conditions: 1) All text must be copied without modification and | | all pages must be included; 2) If software is included, all files | | on the disk(s) must be copied without modification [the MS-DOS(R) | | utility DISKCOPY is appropriate for this purpose]; 3) All | | components of this Application Note must be distributed together; | | and 4) This Application Note may not be distributed for profit. | | | | Copyright (C) 1991-1993 Microsoft Corporation. All Rights Reserved.| | Microsoft and MS-DOS are registered trademarks and Windows is a | | trademark of Microsoft Corporation. | | | | AT, IBM, and PS/2 are registered trademarks of International | | Business Machines Corporation. AT&T is a registered trademark of | | American Telephone and Telegraph company. CompuAdd is a registered | | trademark of CompuAdd Corporation. Everex is a trademark of Everex | | Systems, Inc. Hewlett-Packard, HP, and Vectra are registered | | trademarks of Hewlett-Packard Company. Hitachi is a registered | | trademark of Hitachi, Ltd. Intel is a registered trademark of Intel| | Corporation. Toshiba is a registered trademark of Kabushiki Kaisha | | Toshiba. Tulip is a registered trademark of Tulip Computers | | International, BV. Unisys is a registered trademark of Unisys | | Corporation. WYSE is a registered trademark of Wyse Technology. | | Zenith is a registered trademark of Zenith Electronics Corporation.| -------------------------------------------------------------------- INTRODUCTION ============ Microsoft MS-DOS can conserve memory by loading itself into the first 64 kilobytes (K) of extended memory, known as the high memory area (HMA). However, sometimes MS-DOS cannot load into the HMA. WHAT ARE THE PREREQUISITES FOR LOADING MS-DOS INTO THE HMA? =========================================================== MS-DOS can load itself into the HMA if all the following conditions are met: - Your computer must have an 80286 or higher processor. - Your computer must have extended memory (MS-DOS cannot load into expanded memory). Use the MEM command to find out what type of memory your computer has. - Your CONFIG.SYS file must contain a DEVICE command for HIMEM.SYS or an equivalent extended memory manager. (For details, see "What should I do if MS-DOS won't load into the HMA?" later in this document.) - Your CONFIG.SYS file must contain either a DOS=HIGH or DOS=HIGH, UMB command. The DOS command should appear after the DEVICE command for HIMEM.SYS, and before any other DEVICE commands. (For details, see "What should I do if MS-DOS won't load into the HMA?" later in this document.) HOW DO I FIND OUT WHETHER MS-DOS HAS SUCCESSFULLY LOADED INTO THE HMA? ====================================================================== To find out whether MS-DOS has loaded into the HMA, type "mem" (without the quotation marks) at the MS-DOS command prompt. MS-DOS displays information about your system's memory. If the last line of the display reads "MS-DOS is resident in the High Memory Area," MS-DOS has successfully loaded into the HMA. WHAT SHOULD I DO IF MS-DOS WON'T LOAD INTO THE HMA? =================================================== If MS-DOS fails to load into the high memory area, follow the procedures below in order. Procedure 1: Make Sure Your System Meets the Prerequisites for Loading MS-DOS into the HMA. -------------------------------------------------- 1. Make sure your system has an 80286 or higher processor. 2. Make sure your computer has extended memory. To find out, type "mem" (without the quotation marks) at the MS-DOS command prompt. The MEM command reports the type and amount of memory that your computer has. 3. Edit your CONFIG.SYS file. To edit the file using MS-DOS Editor, type the following at the MS-DOS command prompt: edit c:\config.sys 4. Make sure your CONFIG.SYS file contains a DEVICE command for HIMEM.SYS. If the file doesn't contain one, insert the following line at the beginning of the file: device=c:\dos\himem.sys 5. Make sure your CONFIG.SYS file contains a DOS=HIGH command or a DOS=HIGH, UMB command. If the file doesn't contain one of these commands, insert the following line: dos=high 6. If you're using MS-DOS Editor, choose Exit from the File menu. When MS-DOS Editor displays a dialog box prompting you to save your file, choose the Yes button or press ENTER. 7. Restart your computer by pressing CTRL+ALT+DEL. 8. Use the MEM command to find out whether MS-DOS has loaded successfully into the HMA. If MS-DOS has failed to load into the HMA, continue with the next procedure. NOTE: If your MS-DOS directory is on a drive other than C, substitute the appropriate drive letter for "c" in the above steps and in the remaining procedures. Procedure 2: Add the /CPUCLOCK Switch to the Device Command for HIMEM.SYS. ------------------------------------- 1. Create an MS-DOS startup disk. To do so, insert a formatted floppy disk in drive A and type the following: sys c: a: Notes - Do not use drive B when you create a startup disk. Most computer BIOS startup procedures do not look for a disk in drive B when starting the computer (even though the light on drive B may turn on momentarily). - If you are using MS-DOS 6.0, you can skip to step 3. You do not need to create a startup floppy disk because you can use the MS-DOS 6 .0 interactive startup key (F8) to bypass commands in your CONFIG.SYS file if they cause your system to stop responding (hang). For more information on using interactive startup, see the "MS-DOS User's Guide and Reference," Chapter 4, "Configuring Your System." 2. Copy your CONFIG.SYS file to the startup disk by typing the following: copy c:\config.sys a:\ 3. Use MS-DOS Editor to open your original CONFIG.SYS file. Locate the DEVICE command for HIMEM.SYS and add the /CPUCLOCK:ON switch to it. The command should now appear as follows: device=c:\dos\himem.sys /cpuclock:on 4. Save your CONFIG.SYS file. 5. Restart your computer by pressing CTRL+ALT+DEL. 6. Use the MEM command to find out whether MS-DOS has loaded successfully into the HMA. If MS-DOS has failed to load into the HMA, continue with the next procedure. Procedure 3: Add the /MACHINE Switch to the Device Command for HIMEM.SYS. ------------------------------------ 1. Use MS-DOS Editor to open your CONFIG.SYS file. Locate the DEVICE command for HIMEM.SYS and add the /MACHINE switch to it. The /MACHINE switch specifies the type of computer you have. The switch should be followed by a colon (:) and your machine number (see the following list). For example, the following DEVICE command specifies that your computer is a Toshiba(R) 5100 (machine number 7): device=c:\dos\himem.sys /cpuclock:on /machine:7 The following table lists machine types in alphabetical order, and shows the corresponding number to specify with the /MACHINE switch: Machine Type Number ------------------------------------------------ Abacus 386 1 Acer 1100 6 AT&T(R) 6300 Plus 5 Bull Micral 60 16 Chaplet 1 CompuAdd(R) 386 systems 1 or 8 CSS Labs 12 Datamedia 386/486 2 Everex(TM) AT Plus 1800 1 Everex Notebook ELX 1 Excel Computer Systems 13 Hitachi(R) HL500C 8 Hewlett-Packard(R) 14 (HP(R)) Vectra(R) HP Vectra (A and A+) 4 IBM(R) PC/AT(R) 1, 11, 12, or 13 IBM PS/2(R) 2 Intel(R) 301z or 302 8 JDR 386/33 1 OPT 386-25 motherboard 1 Pak 386SX 1 PC Limited 4 PC 380/33C, PC 350/33C, 2 or PC300/33C BIOS revision 1.14 Philips 13 Phoenix Cascade BIOS 3, 1, or 8 Toshiba 1600 and 1200XE 7 Toshiba 5100 7 Tulip(R) SX 9 Unisys(R) PowerPort 2 WYSE(R) 12.5 MHz 286 8 Zenith(R) ZBIOS 10 If your computer is not on the list, or you are not sure which number to use, try machine numbers in the following order: 1, 11, 12, 13, 8, 2-10, 14-16. 2. Save your CONFIG.SYS file. 3. Restart your computer by pressing CTRL+ALT+DEL. If your computer fails when you restart it, or you see the "ERROR: Unable to control A20 line!" message, the machine number you specified is incorrect for your hardware. If the computer hangs and you are using MS-DOS 5.0, insert the startup disk in drive A and restart your system. If you are using MS-DOS 6.0, use the F8 key to start the interactive startup procedure. When you are prompted to load HIMEM.SYS, press the N key. Then, edit your CONFIG.SYS file, specify a different machine number, save your changes, and restart your system. You may need to try several machine numbers before you identify the one that works for your computer. 4. After your computer starts, use the MEM command to find out whether MS-DOS loaded into the HMA. If it did not, repeat this procedure and specify a different machine number. ADDITIONAL INFORMATION ====================== If you are using MS-DOS 5.0, refer to the following sources for additional information: "Microsoft MS-DOS User's Guide and Reference," page 282, which explains how to load MS-DOS into the HMA. "Microsoft MS-DOS User's Guide and Reference," pages 610-613, which provides details about the HIMEM.SYS device driver. If you are using MS-DOS 6.0, refer to the following sources for additional information: "Microsoft MS-DOS User's Guide," Chapter 6, "Making More Memory Available" Microsoft MS-DOS Help Command Reference, (type "help" [without the quotation marks] at the MS-DOS command prompt).