himem.sys(CMD) 19 June 1992 himem.sys(CMD) Name himem.sys - manage the use of extended memory Syntax device=[drive:][path]himem.sys [/hmamin=m] [/numhandles=n] [/int15=xxxx] [/machine:xxxx] [/a20control:on|off] [/shadowram:on|off] [/cpuclock:on|off] Description HIMEM.SYS manages programs' use of extended memory and of the high memory area (HMA). This prevents programs from simultaneously using the same area of memory. You install the HIMEM.SYS device driver by adding a de- vice command for it in your CONFIG.SYS file. The device command for HIMEM.SYS must precede any device commands for programs or device drivers that use extended memory (such as SMARTDRV.SYS, RAMDRIVE.SYS, and EMM386.EXE). Parameter [drive:][path] Specifies the location of the HIMEM.SYS file. Switches /hmamin=m Specifies the amount of memory (in kilobytes) a program must use before HIMEM.SYS permits the program to use the high memory area. Valid values for m are in the range 0 through 63. The default value is 0. /numhandles=n Specifies the maximum number of extended-memory-block (EMB) handles that can be used simultaneously. Valid values for n are in the range 1 through 128. The default value is 32. Each additional handle requires an addi- tional 6 bytes of resident memory. /int15=xxxx Allocates the specified amount of extended memory (in kilobytes) for the Interrupt 15h interface. Some older programs use a conflicting extended-memory scheme. To use memory allocated by this switch, programs must recognize VDisk headers. To ensure enough memory is available, add 64 to the value you want to specify for xxxx. Valid values for xxxx are in the range 64 through 65535. If you specify a value less than 64, the value becomes 0. The default value is 0. /machine:xxxx Specifies the A20 handler to be used. An A20 handler is a part of your computer that gives it access to the high memory area. The xxxx value can be any of the following codes or their equivalent numbers: _________________________________________________________________________ Code Number A20 handler _________________________________________________________________________ at 1 IBM PC/AT ps2 2 IBM PS/2 pt1cascade 3 Phoenix Cascade BIOS hpvectra 4 HP Vectra (A and A+) att6300plus 5 AT&T 6300 Plus acer1100 6 Acer 1100 toshiba 7 Toshiba 1600 and 1200XE wyse 8 Wyse 12.5 MHz 286 tulip 9 Tulip SX zenith 10 Zenith ZBIOS at1 11 IBM PC/AT at2 12 IBM PC/AT (alternative delay) css 12 CSS Labs at3 13 IBM PC/AT (alternative delay) philips 13 Philips fasthp 14 HP Vectra Typically, HIMEM.SYS detects which A20 handler is being used. You might have to specify a value for this setting if the A20 handler reports problems or if you have prob- lems using MS-DOS in the high memory area. If the machine you are using is not listed, see the README.TXT online file for additional values. The default value for the /machine:xxxx switch is at or 1. /a20control:on|off Specifies whether HIMEM.SYS is to take control of the A20 line even if A20 was on when HIMEM.SYS was loaded. If you specify /a20control:off, HIMEM.SYS takes control of the A20 line only if A20 was off when HIMEM.SYS was loaded. The default setting is /a20control:on. /shadowram:on|off Specifies whether HIMEM.SYS is to switch off shadow RAM- random-access memory (RAM) used for read-only memory (ROM)-and add that RAM to its memory pool. If your com- puter has less than 2 megabytes of RAM, the default set- ting is /shadowram:off. This parameter is supported only on some computers. /cpuclock:on|off Specifies whether HIMEM.SYS is to affect the clock speed of your computer. If your computer's speed changes when you install HIMEM.SYS, specifying /cpuclock:on might correct the problem. Enabling this switch slows down HIMEM.SYS. Notes Default memory allocation Only one program can use the high memory area at a time. If you omit the /hmamin=m switch (or set it to 0), HIMEM.SYS reserves the HMA for the first program that requests it. HIMEM.SYS reserves the HMA for the first program that meets the memory requirements set by the /hmamin=m switch. To ensure the most efficient use of your system's high memory area, you should set /hmamin=m to the amount of memory required by the program that uses the most HMA memory. Loading MS-DOS into the high memory area HIMEM.SYS or another XMS driver must be loaded before you can load MS-DOS into the high memory area (HMA). You load MS-DOS into the HMA by using the dos=high command in your CONFIG.SYS file. Examples To install HIMEM.SYS, using the default values, add the following line to your CONFIG.SYS file: device=himem.sys Since no location is specified, MS-DOS searches for HIMEM.SYS in the root directory of your startup drive. Suppose you want a program to use at least 40K of memory before it has access to the high memory area. To specify this and that HIMEM.SYS is located in the DOS directory of drive C, add the following line to your CONFIG.SYS file: device=c:\dos\himem.sys /hmamin=40 To install HIMEM.SYS and specify the A20 handler for an IBM PS/2 com- puter, add either of the following lines to your CONFIG.SYS file: device=himem.sys /machine:ps2 device=himem.sys /machine:2 Suppose you want to install HIMEM.SYS and allow simultaneous use of as many as 128 extended-memory handles. Also suppose that HIMEM.SYS is located in the DEVICES directory on drive D. To do this, add the follow- ing line to your CONFIG.SYS file: device=d:\devices\himem.sys /numhandles=128