video buffer space, some third-party utilities could add memory at the top of the 640k conventional memory area, to extend memory up to the base address used by hardware adapters. This could ultimately backfill RAM up to the MDA base address. Hardware extensions allowed access to more memory than the 8086 CPU could address through paging memory. This memory was known as expanded memory. An industry de facto standard was developed by the LIM consortium, composed of Lotus, Intel and Microsoft. This standard was the Expanded Memory Specification (EMS). Pages of memory from expanded memory hardware were accessible through an addressing window placed into a free area in the UMA space, and by exchanging it for other pages when needed to access other memory. EMS supported 16 MB of space. Using a quirk in the 286 CPU architecture, the high memory area (HMA) was accessible, as the first 64 KB above the 1 MB limit of 20-bit addressing in the x86 architecture. Using the 24-bit memory addressing capabilities of the 286 CPU architecture, a total address space of 16 MB was accessible. Memory above the 1 MB limit was called extended memory. However the area between 640 KB and 1 MB was reserved for hardware addressing in IBM PC compatibles. DOS and other real mode programs, limited to 20-bit addresses, could only access this space through EMS emulation on the extended memory, or an EMS analog for extended memory. Microsoft developed a standard known as the Extended Memory Specification (XMS). Accessing the memory above the HMA required usage of the protected mode of the 286 CPU. With the development of the i386 CPU architecture, the address space was moved to 32-bit addressing, and a limit of 4 GB. With this CPU, access to 16 MB memory areas was available to DOS programs that used DOS extenders, such as DOS/4GW, MiniGW/16, MiniGW, and others. Initially a de facto industry memory standard for interaction known as VCPI was developed. Later, a Microsoft standard supplanted this, known as the DPMI. These standards allowed direct access to the 16 MB space, instead of the paging scheme used by EMS and XMS. 16-bit OS/2 RAM limit 16-bit OS/2 was limited to 15 MB, due to reserve space designed into the operating system. It reserved the top 1 MB of the 16 MB 24-bit address space for non-memory (from 16 MB to 15 MB). 32-bit x86