Unreal Mode - Overview

Overview

For efficiency reasons, the 80386 and later x86 processors use the base address stored in their internal segment descriptor cache whenever accessing memory, regardless of whether they are operating in real or protected mode. The "selector", i.e. the 16-bit "segment number" visible to the programmer is used once, while reloading a segment register, to update the base address of the respective descriptor.

Some DOS extenders use this feature to address the high memory. It was used by many computer games in the 1990-to-1995 time frame, because it allowed programmers to address more memory than in real mode (only 1 MiB; only 640 KiB usable on IBM PC-compatible machines), without losing access to the DOS operating system (which doesn't work in protected mode). After the introduction of Windows 95, unreal mode quickly fell out of favor because programs using it cannot run in the DOS prompt of Microsoft Windows; they require a "Restart in MS-DOS mode" in Windows 95 and 98, and cannot be run at all on NT and later Windows systems. For those operating systems, an emulator such as DOSBox is the only way to run programs designed for unreal mode. Unreal mode is still extensively used by BIOS code. In particular the System Management Mode in Intel 386SL and later processors places the processor in unreal mode.

Read more about this topic:  Unreal Mode