DOSBox (an x86 emulator with DOS)

Различное программное обеспечения. Параметры настройки, советы по применению
Ответить
Ra_47
Сообщения: 7
Зарегистрирован: 02 янв 2017, 11:02
Темы: 2
Статус: Не в сети

DOSBox (an x86 emulator with DOS)

Сообщение Ra_47 » 29 янв 2017, 08:40

DOSBox - эмулятор с открытым исходным кодом, распространяется под лицензией GPLv2. Воссоздаёт DOS-окружение, что позволяет запускать старые программы и игры, разработанные для MS-DOS, под управлением современных операционных систем.

Главное требование для запуска - наличие библиотеки libsdl для вашей системы. Минимальные требования соответствуют минимальным требованиям для запуска MS Windows 9x плюс наличие SVGA-совместимой видеокарты. Однако эти требования могут меняться в зависимости от приложения, которое вы пытаетесь запустить.

C установкой никаких проблем возникнуть не должно. Набор библиотек SDL входит в стандартную поставку большинства дистрибутивов GNU/Linux. Для большинства дистрибутивов есть соответствующие пакеты для установки DOSBox в репозитории.

В самом крайнем случае, вы можете собрать DOSBox из исходников самостоятельно:
Показать
1. Скачайте исходный код и распакуйте в любую директорию на жестком диске:
$ wget https://sourceforge.net/projects/dosbox ... z/download
$ mkdir -pv ~/src
$ tar xf dosbox-*.tar.gz -C ~/src

2. Перейдите в получившуюся директорию:
$ cd ~/src/dos*

3. В терминале отдайте команду на конфигурацию и сборку исходников:
$ ./configure && make

4. Когда сборка закончится, удалите отладочную информацию из файла (это почти в 5 раз сократит его размер):
$ strip -s src/dosbox

5. Скопируйте получившийся исполняемый файл из папки src в любую папку на жестком диске, из которой вы собираетесь запускать приложение:
$ cp src/dosbox /любая/папка/на/вашем/жестком/диске

Если вы хотите установить DOSBox для всех пользователей в системе, то лучше производить сборку под рутом и cкопировать исполняемый файл в /usr/bin:
# cp src/dosbox /usr/bin

6. Удалите мусор, оставшийся после сборки:
$ cd ~/ && rm -rf ~/src
Настройка.

Первым делом нам нужно разок запустить dosbox, чтобы в каталоге текущего пользователя появилась папка настройки:
$ dosbox

После запуска в окне программы сразу же пишем exit, чтобы выйти - нам сейчас нужна только папка настроек.

Настройки по умолчанию прописываются в ~/.dosbox/dosbox*.conf (для самых маленьких, алиас ~/ ссылается на переменную окружения $HOME, т.е. на домашний каталог текущего пользователя /home/имя_пользователя).

1. Делаем резервную копию настроек:
$ cp ~/.dosbox/dosbox*.conf ~/.dosbox/dosbox-conf.bak

2. Открываем файл настроек ~/.dosbox/dosbox-0.74.conf и ищем секцию [dos]. В ней опцию keyboardlayout=auto, меняем на keyboardlayout=ru441

Теперь у нас две разные раскладки (русская и латинская). Переключаться между ними мы можем с помощью сочетаний клавиш [LAlt]+[LShift] и [LAlt]+[RShift].

3. Русифицируем наш DOSBox.

Качаем пакет русификации с сайта DOSBox:
$ wget http://www.dosbox.com/tools/DOSBox-russian-lang-074.zip

Распаковываем:
$ unzip DOSBox-russian-lang-074.zip -d ~/.dosbox/

Теперь говорим досбоксу где лежит файл русификации, для этого снова открываем файл ~/.dosbox/dosbox-0.74.conf и ищем в нем секцию [dosbox], в этой секции после language= дописываем russian.txt, должно получиться: language=russian.txt (здесь можно прописать полный путь до файла, для верности)

4. Запускаем DOSBox, любуемся русскими буквами, снова вводим exit и выходим из программы. Если после запуска видим примерно такую картинку, то все отлично, русификация завершена.

Изображение

ВНИМАНИЕ!! Если вместо русских букв у нас "крокозябры", проверяем конфиг dosbox-0.74.conf. Скорее всего мы забыли сохранить изменения перед запуском DOSBox'а из-за чего файл был перезаписан значениями по умолчанию.

5. Настраиваем автозапуск.

Для начала немного матчасти. По умолчанию DOSBox монтирует только виртуальный диск Z:\, на котором лежит несколько системных файлов (вроде COMMAND.COM или AUTOEXEC.BAT). Но для работы такой диск не годится. Нам нужно смонтировать в досбоксе какой-нибудь диск С:\. В качестве этого диска может выступать любая папка на реальном жестком диске, т.е. при желании можно и /usr смонтировать, но такой экзотикой мы страдать не будем.

Создаем папку будущего диска С:
$ mkdir ~/.dosbox/drive_c

Напомню, что папка может находиться где угодно, так что можете с чистой совестью создавать ее там, где вам удобнее.

Теперь нужно эту папку смонтировать в досбоксе в качестве диска C:\. Для этого можно просто отдать команду mount с параметрами в окне досбокса, но после выключения досбокс все забудет, и нам придется подключать папку снова. Чтобы автоматизировать этот рутинный процесс, открываем многострадальный конфиг и ищем в самом конце секцию [autoexec]. Пишем в нее:

mount c /home/имя_пользователя/.dosbox/drive_c
set PATH=Z:\;C:\
C:


Конечно, вместо <имя_пользователя> нужно указать логин текущего пользователя в системе.

Что значит этот набор команд?
- Смонтировать локальную директорию в качестве диска С:\.
- Добавить этот диск в переменную PATH досбокса (не всей системы, а только досбокса).
- Перейти на только что смонтированный диск C:\.

Точно ток же можно монтировать другие директории в качестве дисков D, Е, F..

Ну с основными настройками вроде бы все.

Досбокс поддерживает основные команды COMMAND.COM, как например: DIR, CD, COPY, MKDIR и прочие (полный список можно узнать по команде help), так что пользователи MS-DOS почувствуют себя почти как дома. А вот заядлые пользователи Linux начнут плеваться, т.к. по привычке будут вводить / вместо \. :twisted:

Дополнительно.

* Все подробности о запуске, настройке, тонких параметрах и возможных проблемах описаны в файле ~/.dosbox/DOSBox 0.74 Manual RUS.txt. (этот файл появится после русификации).

* Так же не помешает в самом DOSBox'е ввести команды:
intro
intro mount
intro cdrom
intro special


Cправка intro многостраничная, не поленитесь потыкать какую-нибудь клавишу на клавиатуре, чтобы пролистать все страницы.

* Настройки масштабирования окна ищите в конфиге в секции [sdl], а графики и фильтров в секции [render].

Ну и напоследок, несколько полезных горячих клавиш:
[Ctrl]+[F1] - Запустить настройщик клавиш.
[Alt]+[Enter] - Переключить на полный экран и обратно.
[Ctrl]+[F10] - Захватить/Отпустить мышь.
[Ctrl]+[F4] - Сменить смонтированный образ диска (CD или дискеты). Обновить кэш директории для всех дисков.
[Ctrl]+[F5] - Сохранить скриншот. (в формате PNG)
[Ctrl]+[Alt]+[F5] - Старт/Стоп создания ролика с экрана. (захват видео и запись в avi)

Ну-с, надеюсь вам не надоело все это читать. Всем удачи. :geek:
Последний раз редактировалось Ra_47 29 янв 2017, 10:28, всего редактировалось 1 раз.

Аватара пользователя
nk
Модератор
Сообщения: 398
Зарегистрирован: 14 сен 2014, 00:35
Темы: 75
Статус: Не в сети

Re: Настраиваем DOSBox

Сообщение nk » 29 янв 2017, 09:05

Изображение ИзображениеУстановка в slackware-14.2:
• Web: Firefox • Jabber: Gajim • WM: Openbox
Изображение

Ra_47
Сообщения: 7
Зарегистрирован: 02 янв 2017, 11:02
Темы: 2
Статус: Не в сети

Re: DOSBox (an x86 emulator with DOS)

Сообщение Ra_47 » 30 янв 2017, 22:38

Некоторые размышления по поводу возникновения DOSBox.

Если открыть вики, то сразу можно прочитать следующее:

"DOSBox эмулирует Intel x86 PC с полной поддержкой звука, графики, мышки, джойстика, модема и всего остального, что необходимо для запуска большинства старых игр под MS-DOS, которые не так-то просто запустить на современных компьютерах и операционных системах, таких как: MS Windows XP, Windows Vista, Linux и FreeBSD."

Но из этого описания возникает один вопрос. Зачем устанавливать на Windows XP еще один эмулятор MS-DOS, когда эмулятор от мелко-мягких уже идет в комплекте? И нет, я не говорю про командную строку cmd.exe. Я говорю о сеансе MS-DOS, который запускается файлом ..WINDOWS\system32\command.com. Вот вам скриншот для сравнения, в верхнем окне - command.com, а в нижнем - стандартная командная строка.

Изображение Изображение

Правда это не Windows XP, а Windows 2003 server, но в XP все точно так же.

Настройки этого официального эмулятора хранятся в файле ..WINDOWS\system32\AUTOEXEC.NT, и если посмотреть на настройки SoundBlaster: "SET BLASTER=A220 I5 D1 P330 T3",- то их формат почти такой же, какой мы видим при запуске DOSBox: "SET BLASTER=A220 I7 D1 H5 T6".
Показать
в переводе на человеческий SET BLASTER=A220 I5 D1 P330 T3 означает:

* Базовый порт ввода-вывода Sound Blaster = 220
* Номер прерывания (IRQ) = 5
* Канал 8-bit DMA = 1
* Базовый порт ввода-вывода MPU-401 = 330
* Тип карты Sound Blaster = 3 (Sound Blaster 2.0)
Только у проприетарного от мелкософт поддержка разных моделей звуковых карт дос-эпохи шире.

В общем, есть мнение, что DOSBox появился благодаря простому незнанию того, что в XP есть виртуальный сеанс MS-DOS, что правда не делает его плохим эмулятором.

Ra_47
Сообщения: 7
Зарегистрирован: 02 янв 2017, 11:02
Темы: 2
Статус: Не в сети

Re: DOSBox (an x86 emulator with DOS)

Сообщение Ra_47 » 03 фев 2017, 14:36

Поскольку DOSBox основан на SDL, он наследует и некоторые баги, например, знакомый многим баг с зажатой клавишей в играх под wine. Связан он с тем, что сигналы мыши интерпретируются как сигналы от несуществующего геймпада. Лечится довольно просто, на время игры нужно удалить из системы устройство /dev/input/js0 (иногда этого оказывается мало и нужно удалить еще и /dev/input/js1), т.е. если вы видите, что в игре постоянно зажата какая-то клавиша, попробуйте перед началом игры от рута выполнить команду:
# mv /dev/input/js0 /dev/input/jsback

Когда наиграетесь, верните устройство на место:
# mv /dev/input/jsback /dev/input/js0
Показать
Если ваш пользователь прописан в /etc/sudoers, то вы можете сделать это через sudo:
$ sudo mv /dev/input/js0 /dev/input/jsback
$ sudo mv /dev/input/jsback /dev/input/js0
Баг проявляется довольно редко, лично я с ним сталкивался лишь в Tomb Raider. Ну и /dev/input/js0 - в конце ноль, а не буква о.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей