Unreal mode

Ця стаття не містить посилань на джерела. Ви можете допомогти поліпшити цю статтю, додавши посилання на надійні (авторитетні) джерела. Матеріал без джерел може бути піддано сумніву та вилучено. (січень 2016)

Unreal mode — режим роботи процесора x86, який активно використовували в деяких програмах для MS-DOS на початку 1990-их років, в тому числі деяких іграх, які частково актуальні і зараз. Також відомий як англ. 32-bit flat memory mode, або «плаский режим».

З'явився як недокументована можливість процесора (можливо, що це лише баг).

Опис

Ядро MS-DOS працює в 16-бітному режимі процесора, реальному або V86. Щоб забрати обмеження у розмірі адресного простору в 1Мб, необхідний захищений режим, і, скоріш за все, 32-бітний захищений режим (бо в 16-бітному доступно тільки 16Мбайт).

Так, для розробки програм під MS-DOS, що використовують всю пам'ять, приходилося або програмувати в захищеному режимі й використовувати DOS-extender та DPMI (до речі, так написаний Doom), або ж використовувати недокументовану можливість процесора.

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

Після того можна звертатися до усієї пам'яті комп'ютера прямо, відносно сегменту з «невірною границею».

Розробка в захищеному режимі потребувала використання всього пакету інструментів та налагоджувача, розрахованих на це, та зазвичай, зв'язаного з конкретним DOS-extender'ом. Ці пакети були дорогими і не так популярні, як звичайні середовища розробки під DOS.

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

Обмеження

Неможливість роботи в багатозадачних середовищах на основі DOS та V86-вікні операційної системи Windows, в тому числі в NTVDM Windows NT.

Більш того, unreal mode не сумісний з EMM386 — останній працює, створюючи єдину віртуальну машину V86 та завантажуючи туди весь DOS.

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

Приклади ігор

  • Ultima VII The Black Gate
  • Ultima VII Serpent Isle.

Див. також

  • x86


{{{alt}}} Це незавершена стаття про апаратне забезпечення.
Ви можете допомогти проєкту, виправивши або дописавши її.