ARCHIVED: In HIMEM.SYS, what do the /M: switches do?

This content has been archived, and is no longer maintained by Indiana University. Resources linked from this page may no longer be available or reliable.

Note: The software discussed here is no longer in common use at IU, and UITS may no longer be able to verify this text's accuracy; additionally, the UITS Support Center may no longer have the materials needed to adequately support this software.

HIMEM.SYS is used to access the high memory area (HMA), which is the first 64KB of extended memory (1024KB-1088KB). HIMEM.SYS is also the default device driver Windows uses to access extended memory in standard and 386 Enhanced modes. HIMEM.SYS accesses the HMA through the A20 line of memory, and uses what are known as A20 handlers to do this. The method used to access the HMA depends on the system, so the A20 handler needed for this access varies as well. HIMEM.SYS follows a certain routine at load time to determine which A20 handler is appropriate for your computer.

Unfortunately, some nonstandard machines do not respond to the tests that HIMEM.SYS administers during its routine, which can result in the wrong A20 handler being selected. Using the incorrect A20 handler can result in everything from the computer stopping when HIMEM.SYS loads to erratic Windows performance. You can use the  /M  (or /MACHINE) switch to gain control of the A20 line by forcing HIMEM.SYS to use a particular handler.

The handler numbers are the numbers 1 through 16, and 18. For most compatible machines, one of the compatible  /M:1 ,  /M:11 ,  /M:12 , and  /M:13  A20 handler switches will work. Although other switches are intended for use with certain hardware, one of these other switches may be required for proper operation on certain computers if the standard switches do not work.

Check your most current MS-DOS or Windows manual for more information about using the /MACHINE switch with HIMEM.SYS. An example of this statement in the CONFIG.SYS file is as follows:

  device=c:[\path]\himem.sys /machine:1

  or

  device=c:[\path]\himem.sys /m:1

Caution: When you are testing to see which A20 handler is appropriate, make sure you have a system (startup) MS-DOS disk with an ASCII text editor (such as MS-DOS Edit or EDLIN), because some A20 handlers will cause your computer to hang.

This is document aaos in the Knowledge Base.
Last modified on 2018-01-18 09:04:19.

Contact us

For help or to comment, email the UITS Support Center.