0

Настройка DOSBox

Posted by admin on 17.05.2012 in Windows 7 |

На Windows 7 DOS-программы приходится запускать в специальной виртуальной машине DOSBox. Во многих случаях DOSBox спасает от проклятой виндузы, но все же виртуализация работает не совсем «прозрачно» и привносит дополнительные сложности. Основные проблемы, с которыми пришлось столкнуться:
— чудовищно низкая скорость (двухъядерный, трехгигагерцовый ПК превращается в ХТшку),
— DOSBox перехватывает функциональные клавиши, блокируя нормальную работу программы,
— некорректное подключение сетевых дисков.

Настройка скорости. Добиться хоть сколько-нибудь приемлемой скорости с помощью изменения параметров в конфигурационном файле dosbox.conf так и не удалось. На 2-хядерном Core 2 Duo наилучшие результаты получились при значении

cycles=fixed 100000

Если увеличить или уменьшить cycles в 2 раза, то уже заметно ухудшение производительности. При больших значениях cycles, например больше миллиона, прога просто умирает.

Дополнение 22.05.2012

Обнаружилось, что системные часы в виртуальной машине живут своей жизнью, независимо от основного ПК. При запуске DOSBox время правильное, но во время работы оно стремительно отстает от реального по релятивистскому закону: чем выше скорость (больше параметр cycles), тем медленнее течет время. Более-менее терпимое отставание при сносной скорости было получено при cycles=fixed 40000. Другой вариант — задать cycles=max.

Перехват функциональных клавиш самим DOSBox можно отключить, удалив в файле mapper-0.74.map строку

hand_mapper "key 282 mod1"

она пятая сверху. Сразу после установки DOSBox этого файла нет в каталоге программы. Он генерируется для возможности вносить изменения в назначение функциональных клавиш. Запускаем пустой DOSBox или программу в нем и нажимаем CTRL+F1. Появляется интерфейс для изменения клавиш. В нем можно сразу мышкой начать кнопку «Save». В результате в каталоге программы создастся файл mapper-0.74.map.

Запуск программы с сетевого диска. На удаленной машине cavs-r расшарен каталог C:\Regim под именем regim. На локальной машине шара \\cavs-r\regim подключена на диск R:. Раньше в Windows XP можно было запускать программу с удаленного ПК просто как R:\zavs_gaz.exe. По документации DOSBox, если сделать строку запуска:

«C:\Program Files (x86)\DOSBox-0.74\DOSBox.exe» R:\zavs_gaz.exe

то сетевой диск R: должен автоматически подключиться в DOSBox на диск C: и с негозапуститься программа zavs_gaz.exe. Но на деле этого не происходит.

Можно поступить иначе, в строке запуска указываем не программу, а специальный конфигурационный файл для запуска этой программы:

«C:\Program Files (x86)\DOSBox-0.74\DOSBox.exe» -conf «zavs_gaz.conf»

Имя файлу можно дать любое. Копируем первоначальный dosbox.conf в каталоге DOSBox под новым именем zavs_gaz.conf, открываем его в редакторе и дописываем в конце в разделе [autoexec] строки:

mount C R:\
C:
ZAVS_GAZ.EXE

В первой строке подключаем диск R: (ранее подключенный в Windows 7) на диск C: для DOSBox. Во второй строке переходим на только что подключенный диск C:. В третьей строке запускаем с него свою программу. Так все работает.

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

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

keyb ru441 866

Делать это нужно выше запуска своей программы.

Метки:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Copyright © 2011-2017 Сисадминские будни All rights reserved.
Любое воспроизведение материалов сайта возможно только с активной ссылкой на admsoft.ru.