DOCUMENT:Q74210 17-DEC-2000 [msdos] TITLE :Emulating Expanded Memory Using EMM386.EXE PRODUCT :Microsoft Disk Operating System PROD/VER:MS-DOS:5.x,6.0,6.2,6.21,6.22 OPER/SYS: KEYWORDS:msdos ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft MS-DOS operating system versions 5.0, 5.0a, 6.0, 6.2, 6.21, 6.22 ------------------------------------------------------------------------------- SUMMARY ======= To use EMM386.EXE you must have an 80386 or 80486 microprocessor and at least 105K of extended memory available under the Extended Memory Specification (XMS). Extended memory managers such as HIMEM.SYS provide XMS memory. EMM386.EXE uses the XMS memory to emulate expanded memory. EMM386.EXE places expanded memory pages in the upper memory area (UMA), which is the address range between 640K and 1024K. This range is normally reserved for the system ROM BIOS, as well as video, network, and other hardware adapters. MORE INFORMATION ================ LIM 3.2 Expanded Memory ----------------------- To create a LIM 3.2 expanded memory page frame, you need to have a 64K contiguous block of memory available in the UMA. Using four-digit hex notation, a 64K block is equal to 1000h of memory (for example, E000h to EFFFh, or C800h to D7FFh). If you have a 64K block available in the UMA, the default values for EMM386.EXE will automatically create a LIM 3.2 page frame. Assuming that the HIMEM.SYS and EMM396.EXE files are located in the root folder, your CONFIG.SYS file should contain the following lines: DEVICE=C:\HIMEM.SYS DEVICE=C:\EMM386.EXE This will create a default of 256K of expanded memory. If you use the include or exclude switches (i=, or x=, frame=, or /p switches. LIM 4.0 Expanded Memory ----------------------- If you don't have a full 64K contiguous block available, you can create up to four LIM 4.0 expanded memory pages using 16K blocks of the UMA. Please note that these pages will not be LIM 3.2 compatible. Using four digit-hex notation, a 16K block is equal to 400h of memory (for example, D000h to D3FFh). Use the p= switch to specify the location of each block. For example, you could use the following lines in your CONFIG.SYS to create four LIM 4.0 pages: DEVICE=HIMEM.SYS DEVICE=EMM386.EXE RAM i=C800-CFFF p0=C800 p1=CC00 p2=E000 p3=E400 Note: The address ranges used here are for demonstration purposes only. These address ranges may not work on your computer. Consult your hardware documentation to determine the address ranges used by your adapter cards. See pages 606-607 of the version 5.0 "Microsoft MS-DOS User's Guide and Reference" for more information on these switches. For more information on this subject query on the following words: LIM and EMM386.EXE (c) Microsoft Corporation 2000, All Rights Reserved. Contributions by Kevin Zollman, Microsoft Corporation. Additional query words: 6.22 5.00 5.00a 6.00 6.20 emulation akz ====================================================================== Keywords : msdos Technology : kbMSDOSSearch kbMSDOS621 kbMSDOS622 kbMSDOS620 kbMSDOS600 kbMSDOS500 kbMSDOS500a Version : MS-DOS:5.x,6.0,6.2,6.21,6.22 ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 2000.