Released in 1981, the IBM PC was a game-changer for computers.

It took the market by storm, becoming utterly dominant.

With that much success and its hardware an open standard, clones soon popped up.

memory slots

Many software programs were also designed for the PC.

These had to allow for its limitations and, in some cases, rely on them.

This reliance on specific features and its market dominance left an indelible mark on the home computer marketplace.

The PCs main issue was that it could only address 1MiB of memory.

As memory prices fell and more memory-intensive programs were released, this became an issue.

Successors to the IBM PC included newer CPUs that could address more RAM.

The solution was expanded memory.

This technique, however, only provided access to a few more KiB of memory.

Expanded memory was needed to increase capacity.

It then used a system of banks to page in and out extra memory sections to that one window.

This did require the use of a custom driver.

It also needed an expansion card with more physical memory, at least at first.

Later generations, with CPU support, could use software to map expanded memory to extended memory.

This, however, required CPU support as well as the presence of extra memory to map to.

The software also needed to be configured to be able to use it.

How Did It Work?

Expanded memory worked by utilizing a window section of the memory.

It was mapped from 1 to 1 to a larger pool of memory.

Mapping 1 to 1, however, doesnt allow the use of any more memory.

This is like changing your desktop background.

You still have the same monitor but a new picture.

Having to swap banks did mean that performance was down compared to a larger native memory pool.

Where possible, using extended memory would have been better.

The first mainstream public system to use expanded memory was LIM EMS 3.0.

LIM was an acronym of the three companies that made it, Lotus Development, Intel, and Microsoft.

EMS stands for Expanded Memory Specification.

Version 3.0 was able to add 4 MiB to the PC.

By modern standards, thats essentially nothing, but that quintupled the memory capacity of the IBM PC.

The final version of EMS, version 4.0, offered support for up to 32MiB of memory.

Version 3.2 was the first version to see real products hit the market.

It used a 64KiB window, split into four 16KiB pages, to provide stability when switching pages out.

This put the final nail in the coffin for expanded memory.

Expanded memory was always a bit of a bodge job.

It was implemented to fix a functionality issue that would otherwise have required a complete hardware replacement.

Newer generations of DOS-based PCs werent limited to 1MB of RAM.

Still, the software had to allow for that little because of the vast installed user base.

The switch to using larger memory pools via protected mode by default signaled the death knell for expanded memory.

The whole concept of the memory areas was essentially rendered obsolete.

The entire concept was developed to bypass IBM PCs hard 1MiB memory limit brought on by CPU limitations.

It was impossible to add new memory space.

Doing so required a special driver as well as hardware.

The advent of graphical operating systems, such as Windows, changed the operating system compatibility landscape.

The concept has been essentially obsolete since the early 1990s.