EEMS, an expanded-memory management standard competing with LIM EMS 3.x, was developed by AST Research, Quadram and Ashton-Tate ("AQA"); it could map any area of the lower 1 MiB.
The use of expanded memory became common with games and business programs such as Lotus 1-2-3 in the late 1980s through the mid-1990s, but its use declined as users switched from DOS to protected-mode operating systems such as Linux, IBM OS/2, and Microsoft Windows.
Even though the IBM PC AT, introduced in 1984, used the 80286 chip that could address up to 16 MiB of RAM as extended memory, it could only do so in protected mode.
The scarcity of software compatible with protected mode (no standard DOS applications could run in it) meant that the market was still open for another solution.
Originally, a single 64 KiB (216 bytes) window of memory, called a page frame, was used; later this was made more flexible.
A first attempt to use a bank switching technique was made by Tall Tree Systems with their JRAM boards,[2] but these did not catch on.
Slamming his fist on the table during an interview Bill Gates said of expanded memory, "It's garbage!
The caveat was, however, that the standard did not specify how many register sets a board should have, so there was great variability between hardware implementations in this respect.
Given the price of RAM during the period, up to several hundred dollars per MiB, and the quality and reputation of the above brand names, an expanded memory board was very expensive.
An expanded-memory board, being a hardware peripheral, needed a software device driver, which exported its services.
Its name was variable; the previously mentioned boards used REMM.SYS (AST), PS2EMM.SYS (IBM), AEMM.SYS (AT&T) and EMM.SYS (Intel) respectively.
Later, the expression became associated with software-only solutions requiring the Intel 80386 processor, for example Quarterdeck's QEMM, Qualitas' 386MAX or the default EMM386 in MS-DOS, PC DOS and DR-DOS.
Beginning in 1986, the built-in memory management features of Intel 80386 processor freely modeled the address space when running legacy real-mode software, making hardware solutions unnecessary.
The first software expanded-memory management (emulation) program was CEMM, available in September 1986 as a utility for the Compaq Deskpro 386.
Other platforms have implemented the same basic concept – additional memory outside of the main address space – but in technically incompatible ways: