MMORPG

Блог о компьютерных играх

Метки: Unreal model, unreal model viewer просмотр моделей mortal kombat komplete edition, unreal model viewer как пользоваться.

Unreal mode (иногда также Big Real Mode, 32 bit Real Mode, Flat Real Mod[источник?]) — недокументированный режим работы процессора 80386. Вариант реального режима, в котором имеется возможность адресовать до 4 гигабайт памяти.

Активно использовался в некоторых приложениях MS-DOS в начале 1990-х годов, в том числе некоторых играх.

Из-за большой популярности режима, компании Intel пришлось поддерживать его в последующих процессорах, хотя он и оставался недокументированным[1].

Содержание

Описание

Ядро MS-DOS исполняется в 16-битном режиме процессора, реальном или же V86.

Чтобы снять ограничение по размеру адресного пространства в 1М, необходим защищённый режим, и, скорее всего, 32-битный защищённый режим (в 16-битном доступно только 16М).

Таким образом, для разработки программ под DOS, использующих всю память, приходилось либо программировать в защищённом режиме и использовать расширитель DOS и DPMI (так написан, например, Doom), либо же использовать недокументированную возможность процессора.

Эта возможность состоит в том, что можно кратковременно войти в 32-битный защищенный режим, загрузить там дескрипторы сегментов с границами, превышающими 64К, и потом выйти обратно в 16-битный реальный режим. При выходе сохраняется значение границы, превышающее 64К, граница не сбрасывается при выходе сама.

После этого можно, применяя явно написанные на ассемблере 32-битные команды, обращаться ко всей памяти машины напрямую, относительно сегмента с «неправильной» границей.

Разработка в защищённом режиме требовала использования всего пакета инструментов и отладчика, рассчитанного на это, и обычно связанного с конкретным расширителем DOS. Такие пакеты были дороги, не так популярны, как обычные среды разработчиков под DOS, и потому часто от их использования отказывались.

Unreal mode позволял использовать всю память из приложения, разработанного в обычной среде разработки под DOS, например, Borland C++.

Ограничения

Метод не может использоваться на 80286. Нельзя использовать этот метод для адресации кода или стека[2].

Невозможность работы ни в каких многозадачных средах на основе DOS и в «Virtual 8086»-окне операционной системы Windows, в том числе в NTVDM Windows NT.

Более того, unreal mode не совместим с EMM386 — последний работает, создавая единственную виртуальную машину режима V86 и помещая в неё весь DOS.

Полноценные виртуальные машины, такие, как Virtual PC и VMWare Workstation, обычно работают без проблем. Впрочем, Hyper-V не поддерживает unreal mode.

Примечания

  1. http://books.google.ru/books?id=MKcaOgrUYoMC&pg=PA58&dq=«unreal+mode»&hl=en&sa=X «Unreal mode became so widely used… that Itnel was forced to support it in all later processors, although its presence was never documented»
  2. The Unabridged Pentium 4.

Ссылки

Литература

  • The Unabridged Pentium 4 IA32 Processor Genealogy, Addison Wesley ISBN 0-321-24656-X. «Big real mode»


Tags: Unreal model, unreal model viewer просмотр моделей mortal kombat komplete edition, unreal model viewer как пользоваться.