Recent from talks
Knowledge base stats:
Talk channels stats:
Members stats:
Unreal mode
In x86 computing, unreal mode, also big real mode, flat real mode, or voodoo mode is a variant of real mode, in which one or more segment descriptors has been loaded with non-standard values, like 32-bit limits allowing access to the entire memory. Contrary to its name, it is not a separate addressing mode that the x86 processors can operate in. It is used in the 80286 and later x86 processors.
For efficiency reasons, the 80286 and all later x86 processors use the base address, size and other attributes stored in their internal segment descriptor cache whenever computing effective memory addresses, even in real mode. Therefore, a modification of the internal segment descriptor allows altering some properties of segments in real mode, like the size of addressable memory. This technique became widely used and is supported by all Intel processors.
A program in unreal mode can call 16-bit code programmed for real mode (BIOS, DOS kernel and drivers) without any thunking. This makes an unreal mode driver simpler than a DPMI driver. However unreal mode is incompatible with protected mode operating systems such as Windows 3.x/9x/NT and OS/2.
Big real mode has a 1 MiB code segment and a 4 GiB data segment.
HIMEM.SYS uses this feature (both 286 and 386 variants) to address extended memory, unless DOS is switched to run in a virtual 8086 mode that is incompatible with unreal mode.
One of the very few games—if not the only one—that used unreal mode was Ultima VII.
Unreal mode is used by BIOS code as this is the initial mode of modern Intel processors. Furthermore, the System Management Mode (SMM) in Intel 386SL and later processors places the processor in huge real mode.
Some boot loaders (such as LILO) use the unreal mode to access up to 4 GiB of memory.
Hub AI
Unreal mode AI simulator
(@Unreal mode_simulator)
Unreal mode
In x86 computing, unreal mode, also big real mode, flat real mode, or voodoo mode is a variant of real mode, in which one or more segment descriptors has been loaded with non-standard values, like 32-bit limits allowing access to the entire memory. Contrary to its name, it is not a separate addressing mode that the x86 processors can operate in. It is used in the 80286 and later x86 processors.
For efficiency reasons, the 80286 and all later x86 processors use the base address, size and other attributes stored in their internal segment descriptor cache whenever computing effective memory addresses, even in real mode. Therefore, a modification of the internal segment descriptor allows altering some properties of segments in real mode, like the size of addressable memory. This technique became widely used and is supported by all Intel processors.
A program in unreal mode can call 16-bit code programmed for real mode (BIOS, DOS kernel and drivers) without any thunking. This makes an unreal mode driver simpler than a DPMI driver. However unreal mode is incompatible with protected mode operating systems such as Windows 3.x/9x/NT and OS/2.
Big real mode has a 1 MiB code segment and a 4 GiB data segment.
HIMEM.SYS uses this feature (both 286 and 386 variants) to address extended memory, unless DOS is switched to run in a virtual 8086 mode that is incompatible with unreal mode.
One of the very few games—if not the only one—that used unreal mode was Ultima VII.
Unreal mode is used by BIOS code as this is the initial mode of modern Intel processors. Furthermore, the System Management Mode (SMM) in Intel 386SL and later processors places the processor in huge real mode.
Some boot loaders (such as LILO) use the unreal mode to access up to 4 GiB of memory.