Программная эмуляция DOS в ULFS: Bochs против QEMU и DOSBOX

Каким бы не был хорош QEMU для эмуляции современных операционных систем, при эмуляции DOS возникают серьезные проблемы: то мышь отваливается, то гостевая система виснет. Чтобы решить проблему с запуском DOS приложений можно воспользоваться не только DOSBOX, но и BOCHS.

BOCHS это не специализированный эмулятор DOS, как DOSBOX, это эмулятор X86 который позволяет запускать и другие операционные системы. В следствии чего с DOS у BOCHS имеются небольшие проблемы.

Ретрогейминг

Наглядно разницу в качестве эмуляции DOS системы эмуляторами QEMU, BOCHS и DOSBOX видно на примере демо-версий трех игр MDK, Warcraft 2 и Jazz Jackrabit.

Запуск производился в следующих аерсиях эмуляторов:

  • QEMU: 3.0.0
  • DOSBOX: 0.74-3
  • BOCHS: 2.6.11

При запуске MDK:

  • QEMU нормально запускает MDK
  • Bochs запускает MDK, но некорректно выводит изображение:
  • DOSBOX запускает MDK и корректно выводит изображение

При запуске Warcraft 2:

  • QEMU сразу отваливается:
  • Bochs запускает Warcraft 2, но некорректно выводит звук:
  • DOSBOX запускает Warcraft 2 и корректно выводит звук:

При запуске Jazz Jackrabit:

  • QEMU сразу отваливается:
  • Bochs запускает Jazz Jackrabit, но некорректно выводит звук:
  • DOSBOX запускает Jazz Jackrabit и корректно выводит звук:

Мобильные устройства

Все три эмулятора имеют приложения для Android. Порт QEMU под названием Limbo можно скачать с F-droid, остальные с Google Play. Limbo не содержит рекламы, остальные содержат.

Libvirt

Библиотека абстракции Libvirt не имеет поддержки BOCHS и DOSBOX, только QEMU и ряд других эмуляторов. Причем поддержка машины "isapc" в эмуляторе QEMU, необходимая для запуска DOS, в Libvirt отсутсвует.

Удобство конфигурирования

QEMU можно настраивать как через virt-manager так и через командную строку. BOCHS и DOSBOX настраиваются через конфигурационный файлы. Причем конфигурация BOCHS немного сложнее чем у DOSBOX. Однако на помощь приходит консольный конфигуратор вызываемый в случае если конфигурационный файл не найден.

Удобство использования

Удаленный доступ

QEMU имеет встроенную поддержку SPICE и VNC, BOCHS - только VNC. DOSBOX не имеет поддержки протоколов удаленного доступа.

Полный экран

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

Эмуляция звука

Все трое эмуляторов поддерживают MIDI, а вот со звуком беда в BOCHS. SoundBlaster работает не совсем корректно, нужно регулярно подстраивать параметр dmatimer. В случае с Warcraft 2 смена значений параметра dmatimer не позволяет достичь желаемого результата.

Заключение

BOCHS можно использовать в тех случаях когда QEMU отваливается, а DOSBOX не подходит.

Разделы сайта: