Supporting Expanded Memory



XMAEM.SYS Device Driver

The purpose of the XMAEM.SYS device driver is to emulate the IBM Personal 
System/2 80286 Expanded Memory Adapter/A by using 80386 memory-map 
registers with extended memory. The XMAEM.SYS device driver can be used only 
with 80386-based systems like the IBM Personal System/2 Model 80.

Important: If you are using an 80386-based system, the DEVICE 
statement for XMAEM.SYS must be placed before the DEVICE statement for 
XMA2EMS.SYS in your CONFIG.SYS file.

If you want to:				Enter in CONFIG.SYS:

Use all available extended		DEVICE=C:\DOS\XMAEM.SYS
memory

Use 1MB of extended memory		DEVICE=C:\DOS\XMAEM.SYS 64

You can set the value from a minimum of 64 pages through the default 
value, which is the maximum total available memory in multiples of 
16KB pages.

Remarks

o    XMAEM.SYS may cause conflicts when loaded with other 
     software that manipulates the 80386 memory-map 
     registers.

o    If you want to change the amount of memory allocated, 
     you must make a change in the CONFIG.SYS file and 
     restart the system.



XMA2EMS.SYS Device Driver

Purpose

This is a device driver that supports the Lotus, Intel, and Microsoft 
(LIM) Expanded Memory Specification (EMS) 4.0 under DOS 4.00.

Important:

o    Expanded memory is memory addressed through a 
     combination of an Expanded Memory Specification (EMS) 
     device driver, such as XMA2EMS.SYS, and a hardware 
     adapter capable of providing expanded memory. This 
     memory enhancement is available to you if you have 
     one of the following installed:

     -  IBM 2MB Expanded Memory Adapter
     -  IBM Personal System/2 80286 Expanded Memory 
        Adapter/A
     -  IBM Personal System/2 80286 Memory Expansion Option
     -  Model 80 or other 80386-based systems with the 
        XMAEM.SYS device driver loaded.

o    You must specify the XMAEM.SYS device driver before 
     XMA2EMS.SYS in the CONFIG.SYS file if you have an IBM 
     Personal System/2 Model 80 or other 80386-based system.

o    Refer to the EMS 4.0 specification for further 
     information about how to allocate the memory in your 
     system.


An Example

For example, to specify a 64KB page frame for EMS applications, two 
16KB pages for DOS usage, and 1MB as the amount of expanded memory to 
allocate, enter the following line in your CONFIG.SYS file:

DEVICE=C:\DOS\XMA2EMS.SYS FRAME=D000 P254=C000 P255=C400 /X:64

The following section explains the values entered in 
this command line and other values that can be substituted.

Remarks

o    The FRAME=D000 parameter specifies the default EMS page frame. It 
     consists of a 64KB contiguous (connecting) space of available 
     memory, specified as one address that automatically sets the next 
     four contiguous pages. You may substitute the address segment, 
     D000, with any 64KB available page frame from address segments 
     hexadecimal C000 through E000.

o    If you specify the FRAME parameter (such as FRAME=D000) to set 
     pages P0, P1, P2, and P3, you cannot individually specify page 
     p0, p1, p2, or p3 in the DEVICE statement. By specifying the 
     FRAME parameter, you are already identifying four contiguous 
     pages.

     For example, you could set pages p0 through p3 from D000 through 
     DC00 or have a page frame begin at D000 if you have a 64KB 
     contiguous space in memory:

DEVICE=XMA2EMS.SYS P0=D000 P1=D400 P2=D800 P3=DC00 P254=C000 P255=C400

              or

	DEVICE=XMA2EMS.SYS FRAME=D000 P254=C000 P255=C400


o    The P254=C000 and P255=C400 parameters in the example represent 
     "pages". A page is a fixed-length block of memory that is equal 
     to 16KB of memory and can represent the value P0, P1, P2, P3, 
     P254, or P255. In the case of the XMA2EMS driver, pages P254 and 
     P255 are reserved for use by DOS. If you specify the P254 page, 
     you can run FASTOPEN in expanded memory by 
     specifying the /X parameter. If you specify P255, you can run the 
     BUFFERS command with the /X parameter specified. If you do not 
     specify P254 or P255 in your DEVICE statement for XMA2EMS, DOS 
     cannot use expanded memory and, therefore, uses conventional 
     memory for DOS functions.

o    You can set the size value of /X from a minimum of four 16KB 
     pages through the default value which is the maximum total 
     available memory in multiples of 16KB pages. For example, the 
     minimum amount of memory you may specify is 64KB (four 16KB 
     pages):

	DEVICE=C:\DOS\XMA2EMS.SYS FRAME=D000 P254=C000 P255=C400 /X:4

o    If you specify the size parameter on XMAEM.SYS and the /X size 
     parameter on XMA2EMS.SYS, DOS ignores the XMA2EMS.SYS size  
     parameter.


New Commands

The following new commands have been added to DOS to support these 
drivers:

XMAEM.SYS

Emulates the IBM Personal System/2 80286 Expanded Memory Adapter/A. It 
can be used only with 80386-based systems like the IBM Personal 
System/2 Model 80.

XMA2EMS.SYS

Provides support for the Lotus, Intel, and Microsoft (LIM) Expanded 
Memory Specification through a combination of the XMA2EMS.SYS device 
driver and a hardware adapter capable of providing expanded memory. 


