Программирование, радиоэлектроника,
саморазвитие и частичка из моей жизни здесь...

Запуск программ и игр для DOS под Windows и Linux

Думаю что многие сталкивались с проблемами запуска старых DOS совместимых приложений под современными операционными системами Windows. Иногда бывает что старую и нужную программу или игру не получится запустить под Windows, приходится для этого держать старенький компьютер или же запускать DOS под VirtualBox. Для решения подобной проблемы есть отличное и удобное свободное ПО  - DosBox.

Содержание:

  1. Что такое DosBox
  2. Установка и настройка DosBox
  3. Исправляем кракозябры
  4. Скриншоты рабочих программ
  5. Заключение

Что такое DosBox

DosBox - это программный эмулятор IBM-PC совместимого компьютера под управлением операционной системы(ОС) DOS. Программа DosBox является свободным программным обеспечением, которое позволяет запускать старые программы и игры на современных компьютерах и устройствах под управлением операционных систем Windows, Linux, Adndroid и других.

Официальный сайт программы: www.dosbox.com

Краткий перечень возможностей и плюсов DosBox:

  • MS-DOS окружение без наличия физического x86 процессора и оригинала ОС;
  • Эмуляция прерываний BIOS и аппаратной части IBM-PC совместимого компьютера;
  • Подключение любой папки на компьютере как рабочий диск в виртуальной ОС;
  • Графика - Text Mode, Hercules, CGA, EGA, VGA, VESA;
  • Аудио - AdLib, Sound Blaster, PC-Speaker(пищалка) и другие старые железки;
  • Сеть - TCP/IP, IPX, Com-port(Windows);
  • Кроссплатформенность;
  • Открытое ПО, наличие исходных кодов;
  • Маленький размер дистрибутива 1,5-2 Мб;
  • Возможность запуска в портабельном режиме.

Установка и настройка DosBox

Свежую версию программы всегда можно скачать на официальном сайте, а также через систему репозиториев в системах Linux. Для установки DosBox под Linux (Debian/Ubuntu) достаточно одной команды:

apt-get install dosbox

Для операционной системы Windows очень удобно использовать портабельную версию программы, которая запускается и работает с флешки или сменного жесткого диска. Можно сделать, например, подарочную флешку с набором стареньких игр и программ для своего друга на день рождения - если он работал раньше в MS-DOS то наверняка будет что вспомнить.

Качаем и устанавливаем портабельную версию программы -  DosBox Portable (2Мб).

После запуска DOSBoxPortable.exe откроется два окошка: первое - окно статуса программы. а второе - окно где производится эмуляция.

DosBox portable запуск по умолчанию

Для тех кто знает Английский язык проблем с встроенной системой помощи(HELP) не возникнет. Расскажу кратко некоторые полезности.

Команда INTRO позволяет максимально быстро пройтись по основным пунктам при работе с программой - монтирование директорий как дисков, работа с образами CD-ROM, список горячих клавиш.

Основные консольные команды

Команда HELP выводит на экран список всех доступных в эмуляторе по умолчанию команд:

  • DIR - отображает содержимое директории;
  • CD - смена текущего каталога;
  • CLS - очистка экрана;
  • COPY - копирование файлов;
  • DEL - удаление файлов;
  • EXIT - выход;
  • MD - создание директории;
  • RD - удаление директории;
  • REN - переименование одного или нескольких файлов;
  • TYPE - отображение содержимого текстового файла;
  • VER - отображает текущую версию DosBox, а также версию эмулируемой DOS.

Список горячих клавиш

  • ALT-ENTER  - включение/выключение полноэкранного режима;
  • ALT-PAUSE  - приостановка работы эмулятора DosBox;
  • CTRL-F1  - запуск редактора горячих клавиш;
  • CTRL-F4  - обновление кеша директорий что подмонтированы;
  • CTRL-ALT-F5  - запуск и остановка захвата экрана с последующим сохранением в видеофайл;
  • CTRL-F5  - захват и сохранение скриншота;
  • CTRL-F6  - запуск и остановка записи звука в Wav файл;
  • CTRL-ALT-F7  - старт и остановка записи OPL команд;
  • CTRL-ALT-F8  - старт и остановка записи разных MIDI команд;
  • CTRL-F7  - уменьшить количество пропускаемых фреймов;
  • CTRL-F8  - увеличить количество пропускаемых фреймов;
  • CTRL-F9  - холодное выключение DosBox (kill);
  • CTRL-F10  - включение и отключение захвата мышки;
  • CTRL-F11  - замедление эмулятора, уменьшение количества циклов микропроцессора;
  • CTRL-F12  - ускорение эмулятора, увеличение количества циклов микропроцессора;
  • ALT-F12  - отключение лимита скорости, максимум.

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

Теперь приступим к созданию директории - виртуального диска. Хотелось бы заметить что это может быть любая директория и на любом из подключенных дисков. Для подключения нужно выполнить команду:

mount C D:/DOS_Games

После запуска команды будет выведено оповещение что диск с буквой "C" подмонтирован и для него используется директория "D:/DOS_Games". Таким образом можно подмонтировать несколько виртуальных дисков с директориями.

Подключаемая директория должна существовать, также хочу заметить что в путях можно использовать слеш(unix)  - "/"вместо обратного(win) - "".

Конфигурационные файлы

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

После первого запуска DosBox будет автоматически создан конфигурационный файл по умолчанию - dosbox.conf. Вот его местонахождение:

  • Windows: "{system drive}:/Users/{username}/AppData/Local/DOSBox/dosbox-{version}.conf" ;
  • Linux:  "~/.dosbox/" ;
  • Windows(PortableApps):  в папке "Data/settings/dosbox.conf" относительно DOSBoxPortable.exe .

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

DOSBox.exe -conf "ConfigName.conf"

Где "ConfigName.conf" - имя конфигурационного файла. Если конфигурационный файл лежит не в директории по умолчанию то вместо имени нужно указывать полный путь к файлу.

Автовыполнение команд после запуска

Реализуем так называемый autoexec.bat в эмуляторе, это очень удобно если после запуска программы-эмулятора DosBox нужно выполнить некоторые команды. Например можно почистить мусор в какой-либо директории, подмонтировать новый диск, запустить Norton/Volkov Commander, автоматически запустить игру или программу, выполнить другие действия при старте.

В принципе все уже реализовано, нам нужно только добавить список нужных команд в конфигурационный файл dosbox.conf. Как было указано выше он находится в папке "Data/settings/dosbox.conf" относительно DOSBoxPortable.exe.

К примеру, после старта нужно выполнить следующие действия:

  1. подмонтировать папку "Data/Disk_C" для портабельной версии программы как диск "С" в эмуляторе;
  2. перейти на диск С;
  3. вывести список содержимого диска С.

Открываем в текстовом редакторе конфигурационный файл dosbox.conf и ищем в самом низу секцию "[autoexec]" - все команды что будет в этой секции подлежат автоматическому выполнению после запуска эмулятора.

Вот скриншот реализации приведенных выше 3х команд для авто-запуска по очереди:

DosBox добавляем команды в автозапуск. монтирование директории с относительным путем

Хотелось бы обратить внимание на путь к директории "../../Data/Disk_C" - в данном случае мы указываем относительный путь для портабельной версии программы, а не абсолютный (к примеру "c:/Programs/Dosbox/Data/"). Программа DosBox будет искать папку относительно файла DOSBox.exe, что находится в директории "App/DOSBox", поэтому мы поднимаемся на два уровня выше "../../" и уже после указываем расположение директории от текущего уровня.

Данный метод монтирования директорий с относительными путями 100% рабочий и отлично подходит для монтирования директорий что расположены рядом на одном диске с программой.

Запускаем DosBox и вот что мы должны увидеть:

Запуск DosBox с автоматическим монтированием директории как диск С

Директория подмонтировалась как диск С, выполнен переход на диск С и отображены папки и файлы на диске.

Если вы предпочитаете работу в оболочках типа Norton Commander или Volkov Commander то в автозапуск можно также добавить полный путь для запуска оболочки.

Например вы распаковали Volkov Commander в директорию "vc", что расположена в каталоге который будет подмонтирован как диск С. Добавляем в конфигурационный файл примера, что приведен выше, строчку: "c:vcvc.com". Хочу заметить что для всех команд что выполняться внутри эмулятора в путях нужно использовать обратный слеш "".

При запуске DosBox автоматически подмонтируется диск С и запустится Volkov Commander:

Volkov Commander запущен в эмуляторе DosBox

Исправляем кракозябры

При запуске некоторых русскоязычных программ можем увидеть что-то подобное:

dosbox исправляем кракозябры, делаем нормальные русские буквы

Для исправления подобных вещей служат утилиты - руссификаторы клавиатуры. В нашем же случае не нужно искать никаких утилит и все решается просто. Добавляем в конфигурационный файл, в секцию "[autoexec]" строчку:

keyb ru 866

Все, теперь русские символы станут на свое место!

Dosbox - русские символы отображаются верно

Русские символы отображаются корректно!

Скриншоты рабочих программ

На завершение решил сделать десяток скриншотов игр и программ, которые удалось запустить под эмулятором, возможно кто-то вспомнит былые времена:

DosBox - Windows 3.11

Операционная система Microsoft Windows 3.11.

DosBox - Norton Commander хранитель экрана Аквариум.

Файловый менеджер Norton Commander, хранитель экрана  - Аквариум.

Dosbox - Dune 2

Игра от Westwood Studios - Dune 2. Легендарная игра с которой началась серия игр в жанре RTS.

DosBox - Lotus The Ultimate Challange

Игра Lotus The Ultimate Challange - гонки на машинах.

DosBox - Prehistorik 2

Игра Prehistorik 2.

DosBox - WarCraft 2

Легендарный WarCraft II от Blizzard отлично работает под DosBox.

DosBox - Wolfenstein 3D

Игра от Id Software - Wolfenstein 3D. Родоначальник 3D игр. При сжатии RARом умещалась на дискету 1,44. )))

DosBox - DuckTales

Игра от Disney Software - DuckTales.

DosBox - MS-DOS Quick Basic

Среда программирования MS-DOS Quick Basic.

DosBox - Turbo Pascal 7

Оболочка для программирования под Turbo Pascal 7 отлично работает под DosBox.

DosBox - Borland Turbo C++ 3.0

Среда разработки Borland Turbo C++ 3.0, тоже все работает на отлично!

Заключение

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

По данным из Википедии на эмуляторе DosBox версии 0.7 запускаются и работают 876 игр.

Текущая версию эмулятора, на момент написания статьи: 0.74.