In
x86 computing,
unreal mode, also
big real mode,
huge real mode, or
flat real mode, is a variant of
real mode (PE=0), in which one or more data segment registers have been loaded with 32-bit addresses and limits. Contrary to its name, it is not a separate addressing mode that the
x86-32 and
x86-64 processors can operate in. It is used in the
80386 and later x86 processors.
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...
Read More