Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- XMS Specification (version 3.0) - <b>extended memory specification</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
Extended Memory Specification

The purpose of this document is to define the Extended Memory
Specification (XMS) version 3.00 for MS-DOS. XMS allows DOS programs to
utilize additional memory found in Intel's 80286 and 80386 based
machines in a consistent, machine independent manner. With some
restrictions, XMS adds almost 64K to the 640K which DOS programs can
access directly. Depending on available hardware, XMS may provide even
more memory to DOS programs. XMS also provides DOS programs with a
standard method of storing data in extended memory.

To be considered fully XMS 3.0 compliant, all calls except those
associated with UMB support must be implemented. UMB functions 10h, 11h
and 12h are optional for XMS 3.0 and may return the Function Not
Implemented error code, 80h.

DEFINITIONS:

Extended Memory:

        Memory in 80286 and 80386 based machines which is located above
        the 1MB address boundary.

High Memory Area (HMA):

        The first 64K of extended memory.  The High Memory Area is unique
        because code can be executed in it while in real mode. The HMA
        officially starts at FFFF:10h and ends at FFFF:FFFFh making it
        64K-16 bytes in length.

Upper Memory Blocks (UMBs):

        Blocks of memory available on some 80x86 based machines which are
        located between DOS's 640K limit and the 1MB address boundary.  The
        number, size, and location of these blocks vary widely depending
        upon the types of hardware adapter cards installed in the machine.

Extended Memory Blocks (EMBs):

        Blocks of extended memory located above the HMA which can only be
        used for data storage.

A20 Line:

        The 21st address line of 80x86 CPUs.  Enabling the A20 line allows
        access to the HMA.

XMM:

        An Extended Memory Manager.  A DOS device driver which implements
        XMS. XMMs are machine specific but allow programs to use extended
        memory in a machine-independent manner.

HIMEM.SYS:

        The Extended Memory Manager currently being distributed by
        Microsoft.

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson