Введение

Бесплатный эмулятор DOS

Разработка

До Windows XP потребительские версии Windows были основаны на MS-DOS. Windows 3.0 и её обновления представляли собой операционные среды, работавшие поверх MS-DOS, а серия Windows 9x состояла из операционных систем, которые по-прежнему базировались на MS-DOS. Эти версии Windows могли запускать приложения DOS. В отличие от них, операционные системы Windows NT не были основаны на DOS. 25 октября 2001 года вышла Windows XP, став первой ориентированной на потребителя версией Windows, не использующей DOS. Хотя Windows XP могла эмулировать DOS, она не могла запускать многие приложения, поскольку они работали только в реальном режиме для непосредственного доступа к аппаратному обеспечению компьютера, а защищённый режим Windows XP препятствовал такому прямому доступу из соображений безопасности. Поддержка MS-DOS продолжалась до конца 2001 года, а вся поддержка любых операционных систем Windows, основанных на DOS, была прекращена 11 июля 2006 года. Разработка DOSBox началась примерно во время выпуска Windows 2000 — системы Windows NT, когда её создатели, голландские программисты Питер Веенстра и Сёрд ван дер Берг, обнаружили, что эта операционная система значительно сократила поддержку программного обеспечения DOS. Они знали о существующих решениях, но не могли запускать приложения в оконном режиме или масштабировать графику. Проект был впервые загружен на SourceForge и выпущен для бета-тестирования 22 июля 2002 года.

Особенности

DOSBox — это программа командной строки, настраиваемая либо набором аргументов командной строки, либо редактированием обычного текстового файла конфигурации. Для удобства использования сообществом пользователей было разработано несколько графических интерфейсов. Хотя проект DOSBox надеется, что однажды эмулятор сможет запускать все программы, когда-либо созданные для ПК, эта цель пока не достигнута, и на момент последней версии основной упор делается на DOS-игры. Базовая версия не поддерживает длинные имена файлов, большинство версий DOS также их не поддерживают, и имена файлов должны соответствовать шаблону 8.3: не более 8 символов для имени и до 3 символов для расширения. В противном случае имена файлов будут изменены для соответствия шаблону. На веб-сайте DOSBox доступны версии с поддержкой длинных имен файлов, но это может привести к несовместимости с некоторыми старыми программами. Основное внимание в базовой (vanilla) версии уделяется играм, поэтому такие функции, как поддержка Ctrl+Break, могут отсутствовать. Некоторые альтернативные версии поддерживают функции, отсутствующие в базовой версии, такие как отключение питания APM, прямой проход параллельного порта для печати и поддержка восточноазиатских символов. Пользователи также могут делать скриншоты и записывать видео сеансов DOS, хотя для воспроизведения видео потребуется кодек. Кроме того, можно записывать команды звуковой карты OPL и MIDI, а также сохранять звуковой вывод в файл WAV. Клавиши клавиатуры и кнопки игрового контроллера можно назначить на другие клавиши и их комбинации.

Эмуляция ОС

DOSBox — это полноценный системный эмулятор, обеспечивающий прерывания BIOS и содержащий собственную внутреннюю оболочку, подобную DOS. Это означает, что его можно использовать без наличия лицензии на реальную операционную систему DOS. Поддерживается большинство команд, содержащихся в COMMAND.COM, однако многие из более продвинутых команд, присутствующих в последних версиях MS-DOS, не поддерживаются. Помимо внутренней оболочки, он также поддерживает запуск файлов-образов игр и программ, изначально предназначенных для запуска без операционной системы. Помимо эмуляции DOS, пользователи могут запускать Windows 3.0 и приложения, разработанные для неё, а также версии Windows семейства Windows 9x. При запуске приложения DOSBox автоматически монтируется виртуальный, постоянный диск Z:, на котором хранятся команды и утилиты DOSBox. Наличие виртуального диска обусловлено соображениями безопасности, но пользователь может подключить другую букву диска в эмуляторе к каталогу, файлу-образу, дисководу для дискет или CD-ROM на хост-системе для доступа к его данным. Конфигурационный файл и его секция AUTOEXEC используются для настройки параметров DOSBox и выполнения команд DOS при запуске соответственно.

Эмуляция оборудования

DOSBox способен запускать программы DOS, которым требуется, чтобы процессор работал в реальном или защищенном режиме. Поскольку DOSBox эмулирует свой процессор посредством интерпретации, эмулируемая им среда полностью независима от процессора хост-системы. DOSBox использует внешнюю библиотеку Simple DirectMedia Layer для обработки графики, звука и устройств ввода. В графическом плане он может использовать API DirectDraw или OpenGL, а также применять билинейную интерполяцию и масштабировать графику для компьютеров с современными дисплеями. Графическая эмуляция поддерживает текстовый режим, Hercules, CGA, EGA, VGA, VESA, S3 Trio 64 и Tandy. Звуковая эмуляция включает в себя динамик ПК, AdLib, Gravis Ultrasound, Sound Blaster, Disney Sound Source, Tandy и MPU 401. Однако, поскольку DOSBox не содержит драйверы Gravis Ultrasound, для полноценной поддержки их необходимо устанавливать отдельно. Он также может эмулировать порт джойстика ПК, предлагая ограниченные возможности: эмуляцию одного джойстика с четырьмя осями и четырьмя кнопками; одного геймпада с двумя осями и шестью кнопками; двух джойстиков, каждый с двумя осями и двумя кнопками; джойстика системы управления полетом Thrustmaster с тремя осями, четырьмя кнопками и переключателем; и CH Flightstick с четырьмя осями, шестью кнопками, которые можно нажимать только по одной, и переключателем. Для работы новым джойстикам и геймпадам потребуется использовать одну из этих конфигураций.

Прием

DOSBox стал фактическим стандартом для запуска DOS-игр. Rock, Paper, Shotgun положительно отметили постоянное получение обновлений, влияние проекта на компьютерные игры и некоторые интерфейсы, разработанные для упрощения его использования. Независимый автор Майкл Рид высоко оценил качество масштабируемой графики и общую направленность проекта на совместимость и точную эмуляцию, но раскритиковал отсутствие как сохранения состояния, так и удобного для пользователя управления эмулятором во время работы, даже с учетом доступных на момент его обзора интерфейсов. DOSBox был назван проектом месяца на SourceForge в мае 2009 года. На сайте SourceForge проект достиг 10 миллионов загрузок 21 июля 2008 года.

Использование

С января 2011 года разработчики Wine интегрировали DOSBox в Wine, чтобы упростить запуск программ DOS, которые не поддерживаются встроенной виртуальной машиной Wine DOS. С января 2015 года Internet Archive добавил тысячи игр для DOS в свою библиотеку программного обеспечения. По состоянию на 2019 год библиотека DOS содержала 6934 игры. Коллекция предоставляется "исключительно в целях обучения и исследований".

Вилки

Em DOSBox использует Emscripten для преобразования C++ кода эмулятора в JavaScript, что позволяет играть в игры в веб-браузере. DOSBox X стремится к совместимости со всеми аппаратными конфигурациями, используемыми в DOS и Windows 9x до 2000 года. DOSBox Staging позиционируется как современное продолжение DOSBox, использующее современные методы разработки и расширенные возможности. DOSBox Pure – это ядро libretro, реализующее DOSBox, с дополнительными функциями, такими как сохранение и откат состояния. jDOSBox – это эмулятор x86, написанный на чистом Java и основанный на DOSBox. Он был создан для запуска всех DOS-игр, а также самого DOSBox, непосредственно в браузере (до прекращения поддержки Java-апплетов). Кроме того, он способен загружать Windows 95/98, Windows NT 4.0, Windows XP, ReactOS и некоторые дистрибутивы Linux, такие как DSL.

Коммерческий

DOSBox также был самым используемым эмулятором DOS и, благодаря простоте запуска игр на современных компьютерах, самым популярным эмуляционным программным обеспечением для разработчиков, переиздающих старые версии своих игр. id Software использовала DOSBox для переиздания классических игр, таких как Wolfenstein 3D и Commander Keen на Steam от Valve. В ходе этого было сообщено о нарушении лицензии программы, GNU GPL; нарушение, которое было признано ошибкой, было оперативно исправлено. Activision Blizzard также использовала DOSBox для переиздания игр Sierra Entertainment для DOS. LucasArts использовала его для переиздания Star Wars: Dark Forces и Star Wars: TIE Fighter для современных машин на Steam и GOG.com. Продюсер 2K Games Джейсон Бергман заявил, что компания использовала DOSBox для переиздания некоторых частей серии XCOM на Steam. Bethesda Softworks рекомендовала DOSBox и предоставила ссылку на сайт DOSBox на странице загрузок The Elder Scrolls: Arena и The Elder Scrolls II: Daggerfall. DOSBox также был включен в обе игры в состав The Elder Scrolls Anthology. Клиент Origin от Electronic Arts использует DOSBox для игр DOS на платформе, включая SimCity 2000.