Открыть сервис

DOSBox

DOSBox — это эмулятор, предназначенный для запуска программного обеспечения, разработанного для операционной системы MS-DOS и её совместимых аналогов, на современных компьютерах с другими операционными системами (Windows, Linux, macOS, FreeBSD). Эмулятор воссоздаёт среду x86-совместимого персонального компьютера с поддержкой звуковых карт, графических адаптеров, джойстиков и других устройств, характерных для IBM PC-совместимых компьютеров конца 1980-х — середины 1990-х годов. Основное применение DOSBox — запуск классических компьютерных игр и приложений, которые не могут работать в современных версиях Windows или других ОС напрямую из-за отсутствия поддержки устаревшего оборудования и программных интерфейсов.

История

Проект DOSBox был начат в 2002 году. Первоначальная версия была разработана группой энтузиастов, включая Питера Веерена (Peter Veenstra), Сами Нурми (Sami Nurmi) и других. Основной целью было создание кроссплатформенного эмулятора, способного запускать старые игры, которые не работали в Windows XP и более новых системах. Первый публичный релиз (версия 0.1) состоялся в 2002 году. С тех пор проект развивается сообществом разработчиков на условиях открытого исходного кода.

В 2010-х годах DOSBox стал стандартным решением для запуска DOS-игр на современных платформах. Многие коммерческие ре-релизы классических игр (например, в сервисах GOG.com и Steam) используют модифицированные версии DOSBox для обеспечения совместимости. В 2020-х годах разработка продолжается: выпускаются обновления, исправляющие ошибки и добавляющие поддержку новых функций, таких как улучшенная эмуляция звука и графики.

Архитектура и принцип работы

DOSBox эмулирует весь компьютер на уровне аппаратного обеспечения. Он не является простым «переводчиком» команд DOS, а воссоздаёт работу следующих компонентов:

  • Центральный процессор: Эмулируется процессор Intel 8086/80186/80286/80386/80486 с поддержкой расширений (MMX, SSE). Эмуляция может работать в режиме реального, защищённого или 32-битного режима (в зависимости от требований программы).
  • Память: Эмулируется оперативная память (обычно до 64 МБ) и видеопамять.
  • Видеоадаптеры: Поддерживаются стандартные для DOS-эры графические режимы: MDA, CGA, EGA, VGA, Hercules, а также более поздние SVGA (включая S3 Trio64). Эмуляция позволяет выводить изображение с точным воспроизведением цветов и разрешений.
  • Звуковые карты: Эмулируются наиболее популярные звуковые карты того времени: Sound Blaster (1.0, 2.0, Pro, 16), AdLib, Gravis Ultrasound, Tandy Sound, PC Speaker, а также MIDI-интерфейс (через синтезатор или внешний выход).
  • Дисковые накопители: Эмулируются дисководы гибких дисков (3.5" и 5.25") и жёсткие диски (через образы дисков или монтирование реальных папок).
  • Ввод: Эмулируются клавиатура, мышь (в том числе последовательная) и джойстики (включая аналоговые и цифровые).

Программа, запускаемая в DOSBox, «видит» эмулированное оборудование и работает с ним так же, как с реальным компьютером того времени. DOSBox не требует установки DOS — он включает в себя встроенную версию командного интерпретатора (COMMAND.COM), которая является частью эмулятора.

Основные возможности

Монтирование дисков

Для работы с файлами пользователь монтирует реальные папки или образы дисков в эмулированную файловую систему. Например, команда mount c /home/user/games делает папку games на реальном компьютере доступной как диск C: в DOSBox. Поддерживаются образы дискет (.img, .dsk), образы компакт-дисков (.iso, .cue) и образы жёстких дисков (.vhd, .img).

Управление скоростью

DOSBox позволяет регулировать количество эмулируемых циклов процессора (CPU cycles). Это необходимо, так как старые игры были написаны для процессоров с частотой 4–66 МГц и на современных компьютерах работают слишком быстро. Пользователь может установить фиксированное число циклов или включить автоматический режим, который подстраивает скорость под загрузку.

Сохранение состояния

Эмулятор поддерживает функцию «сохранения состояния» (save states). Она позволяет в любой момент сохранить полное состояние эмулируемой системы (память, регистры, состояние устройств) и загрузить его позже, что особенно удобно для игр, не имеющих собственной системы сохранений.

Сетевые возможности

В DOSBox реализована поддержка сетевых протоколов через эмуляцию модемов (для игр по телефонной линии) и IPX (для локальных сетей). Это позволяет запускать многопользовательские игры, такие как Doom или Duke Nukem 3D, по сети или через интернет (с использованием специальных туннелей).

Графические фильтры

Для улучшения качества изображения на современных мониторах с высоким разрешением DOSBox поддерживает различные графические фильтры (например, Scale2x, HQ2x, Super Eagle, 2xSaI). Они сглаживают пиксельную графику, делая её более приятной для глаз.

Конфигурация

Настройки DOSBox хранятся в текстовом конфигурационном файле (обычно dosbox.conf). В нём можно задать:

  • Параметры эмуляции CPU (тип процессора, количество циклов).
  • Разрешение экрана, частоту обновления, режим окна или полноэкранный режим.
  • Тип эмулируемой звуковой карты и её параметры (IRQ, DMA, порт).
  • Расположение монтируемых дисков.
  • Настройки ввода (чувствительность мыши, привязка клавиш).
  • Включение/отключение дополнительных функций (например, эмуляция мыши в играх, требующих её).

Пользователь может создавать отдельные конфигурационные файлы для разных игр, что позволяет оптимизировать эмуляцию под конкретные требования.

Производные проекты и модификации

На основе DOSBox создано несколько ответвлений (форков) и модификаций, расширяющих его функциональность:

  • DOSBox-X: Форк, ориентированный на более точную эмуляцию и поддержку большего числа приложений, включая Windows 3.x и OS/2. Отличается расширенными настройками и поддержкой современных API.
  • DOSBox Staging: Форк, нацеленный на улучшение производительности, добавление современных графических и звуковых технологий (например, OpenGL, Vulkan, FluidSynth) и исправление ошибок.
  • DOSBox Pure: Версия для RetroArch, оптимизированная для использования в качестве ядра (core) для этой мультисистемной эмуляционной платформы. Отличается высокой производительностью и поддержкой сохранения состояний.
  • DOSBox ECE (Enhanced Community Edition): Модификация, добавляющая поддержку более качественного звука (OPL3, Gravis Ultrasound) и улучшенную графику (например, режим «Pixel Perfect»).

Эти проекты развиваются независимо и часто включают функции, которые не вошли в основную ветку DOSBox.

Применение

Запуск игр

Основная область применения DOSBox — запуск компьютерных игр, выпущенных для MS-DOS в период с конца 1980-х до середины 1990-х годов. Среди наиболее известных игр, которые успешно работают через DOSBox: Doom, Wolfenstein 3D, Commander Keen, Duke Nukem 3D, Warcraft: Orcs & Humans, SimCity 2000, The Secret of Monkey Island, Fallout, Elder Scrolls: Arena и многие другие.

Запуск приложений

Помимо игр, DOSBox используется для запуска старых бизнес-приложений, текстовых редакторов (например, WordPerfect 5.1), электронных таблиц (Lotus 1-2-3), систем автоматизированного проектирования (AutoCAD для DOS) и других программ, которые не имеют современных аналогов или требуют специфической среды.

Образовательные и ретро-проекты

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

Критика и ограничения

Несмотря на широкую популярность, DOSBox имеет ряд ограничений:

  • Производительность: Эмуляция на уровне аппаратного обеспечения требует значительных вычислительных ресурсов. На слабых компьютерах (например, с процессорами ARM) некоторые игры могут работать медленно.
  • Неполная совместимость: Некоторые программы, особенно использующие нестандартные аппаратные расширения (например, Voodoo Graphics, 3dfx), не поддерживаются напрямую. Для их запуска требуются дополнительные модификации или использование других эмуляторов (например, PCem или 86Box).
  • Сложность настройки: Для запуска некоторых игр требуется ручная настройка конфигурационного файла, что может быть сложно для неопытных пользователей.
  • Отсутствие поддержки многозадачности: DOSBox эмулирует однозадачную среду DOS, поэтому запуск нескольких программ одновременно невозможен без использования дополнительных инструментов.

Интересные факты

  • DOSBox используется не только для запуска старых игр, но и для эмуляции работы некоторых ранних версий Windows (например, Windows 3.1 и Windows 95) в режиме DOS.
  • В 2018 году DOSBox был включён в состав операционной системы FreeDOS, что позволяет запускать его на компьютерах без установленной DOS.
  • Существуют версии DOSBox для мобильных платформ (Android, iOS), что позволяет запускать классические игры на смартфонах и планшетах.
  • Некоторые современные игры (например, Dusk, Amid Evil) используют стилистику DOS-игр, но работают на современных движках, не требуя эмуляции.

Источники

  • Официальная документация DOSBox (dosbox.com)
  • Статья «DOSBox» в англоязычной Википедии
  • Руководство пользователя DOSBox Staging (dosbox-staging.github.io)
  • История развития проекта на SourceForge (sourceforge.net/projects/dosbox)
  • Обсуждения на форуме Vogons (vogons.org)
Загружаем BFOmetr…