====================================================================== Microsoft(R) Product Support Services Application Note (Text File) PD0457: HIMEM.SYS REPORTS "ERROR: UNABLE TO CONTROL A20 LINE!" ====================================================================== Revision Date: 4/93 No Disk Included The following information applies to Microsoft MS-DOS(R) versions 5.0 and 6.0. Introduction ------------ If your computer displays the "ERROR: Unable to control A20 line!" message when you start your computer, HIMEM.SYS did not load properly and therefore cannot make extended memory or the high memory area (HMA) available. If HIMEM.SYS is not loaded correctly, programs such as EMM386.EXE, Windows 3.0, and Windows 3.1 are unable to use extended memory, and Microsoft MS-DOS cannot load into the HMA. This problem occurs if HIMEM.SYS incorrectly identifies your machine type, or if the /cpuclock and /machine switches need to be added to the DEVICE command for HIMEM.SYS. Troubleshooting --------------- To correct this problem, add the /cpuclock and /machine switches to the DEVICE command that starts HIMEM.SYS: 1. If you are using MS-DOS 5.0, create a 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 the 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. 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. This command should appear before any other DEVICE commands: device=c:\dos\himem.sys 5. Add the /cpuclock:on switch to the DEVICE command for HIMEM.SYS. The command should now appear as follows: device=c:\dos\himem.sys /cpuclock:on NOTE: If you are using MS-DOS 6.0, you should also add the /v (verbose) switch following the /cpuclock:on switch to force HIMEM.SYS to display informational messages when it loads. 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. Watch the messages that your computer displays during startup. If HIMEM.SYS is working properly, it should display a message similar to the following: Installed A20 handler number 1. 64K High Memory Area is available. If the error message no longer appears, HIMEM.SYS starts correctly, and your system is working properly, the problem has been corrected. If you still see the "ERROR: Unable to control A20 line!" message, continue with the next step. 8. Edit your CONFIG.SYS file again. 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) (HP[R]) Vectra(R) 14 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, or PC300/33C 2 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, you are not sure which number to use, or the machine number for your computer doesn't correct the problem, try these machine numbers in the following order: 1, 11, 12, 13, 8, 2-10, 14-16. 9. 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 Yes or press ENTER. 10. Restart your computer by pressing CTRL+ALT+DEL. Watch the messages that your computer displays during startup. If HIMEM.SYS is working properly, it should display a message similar to the following: Installed A20 handler number 1. 64K High Memory Area is available. If your computer fails when you restart it or you receive 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. Next, 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. Additional Information ---------------------- If you are using MS-DOS 5.0, refer to the "Microsoft MS-DOS User's Guide and Reference," pages 610-613, for more information. If you are using MS-DOS 6.0, refer to the MS-DOS Help Command Reference by typing the following at the MS-DOS command prompt: help himem.sys