DOSBox для пользователей
Настройка звука в DOSBox
DOSBox эмулирует следующие звуковые карты: PС-Speaker, CMS/Gameblaster, AdLib, Sound Blaster, Gravis Ultrasound, MPU-401 и Roland MT-32.
То есть в программе настройки игры вы можете выбрать любую из них. Обычно предлагается выбрать отдельно карту для воспроизведения оцифрованного звука и карту для воспроизведения музыки, хотя бывает, что надо только одну. Ниже описывается настройка эмуляции звуковой карты Sound Blaster, в качестве альтернативы можно использовать карту Gravis Ultrasound - ее настройка описана в руководстве для "экспертов". В качестве музыкального устройства можно использовать General Midi – MPU-401, значение IO для него по умолчанию - 330.
Настройка эмуляции Sound Blaster
Практически все DOS-игры 90-х годов имеют поддержку Sound Blaster, так что выбирать советую именно его, к тому же эмуляция "бластера", по словам самих разработчиков, наиболее завершённая. Значения по умолчанию стоят такие:
- IO (Port) - 220
- IRQ (Interrupt Request) – 7
- DMA Channel (Direct memory access) - 1
- DMA 16-bit – 5.
Видео
В основном игра сама определяет используемый видеорежим, хотя иногда его предлагают выбрать. Обычно это:
Последний режим требует больше всего ресурсов. Также неофициальные версии DOSBox поддерживает Glide для DOS игр.
Фильтры изображения
В DOSBox существует встроенная возможность выводить изображения на экран, налагая на него различные фильтры. Это бывает полезно, когда игра использует низкое разрешение, например 320х200. С помощью фильтров можно увеличить его в два или три раза, применить различные варианты сглаживания картинки.
Включается это в файле dosbox.conf, на строчке Scaler, а если вы используете ykhwong build, то это можно сделать "на лету", выбрав нужный вариант из выпадающего меню.
Производительность
С подавляющим большинством игр 80-х и начала 90-х проблем не возникнет, появляться они начнут при запуске игр использующих продвинутую 3D-графику (шутеры, симуляторы) или VESA-графику.
Сразу оговорюсь, что системные требования для DOSBox весьма условные: если для простеньких игр середины 80-х хватит Pentium III или Celeron 500MHz, то для запуска 3D-шутеров может понадобится Athlon 2800+.
Для увеличения производительности игры можно увеличить скорость виртуального процессора (Ctrl-F12\Ctrl-F11 +\-). Возможно игре не хватает памяти, хотя для большинства ДОС-игр дефолтных 16-ти мегабайт хватит с головой. В этом случае нужно изменить параметр memsize.
Дополнительные функции
С помощью DOSBox'а вы можете снимать скриншоты, записывать звук (в т.ч. и midi) и даже сохранять видео. Все труды пользователя отправляются в папку Capture в папке с DOSBox.[1]
Список горячих клавиш:
- CTRL-ALT-F5 - Начать/Закончить создание видеоролика в формате AVI (для воспроизведения может понадобиться установка кодека - он приложен к дистрибутиву программы).
- CTRL-F5 - Сохранить скриншот в формате PNG.
- CTRL-F6 - Начать/закончить запись аудиофайла в формате WAV.
- CTRL-ALT-F8 - Начать/закончить запись команд MIDI.
Параметры/Разделы .conf файла.
Естественно, для каждой игры, больше всего, будут подходить различные настройки. Самым подходящим решением будет присваивание отдельного .conf файла для каждой игры (с максимально подходящими для неё настройками). Для уменьшения количества шагов для подобных случаев, создайте ярлык (shortcut) на подобии: DOSBox.exe -conf "DOSbox-GameName.conf", для уменьшения действий перед началом игры. Взято и переведено из: "http://www.dosbox.com/wiki/Dosbox.conf"
[sdl]
Этот раздел содержит все низкоуровневые настройки, с помощью которых DosBox взаимодействует с вашим реальным железом. Вы можете настроить разрешения, которые будут эмулироваться, как DosBox будет вести себя при возникновении ошибок и как он будет реагировать на действия произведённые с помощью вашей мыши, клавиатуры и джойстика. Вы можете достигнуть высокого уровня оптимизации, изменяя эти настройки, однако, в большинстве случаев, стандартные настройки являются лучшим решением. Эти настройки изменяют параметры SDL Library, который имеет дело с низкоуровневыми понятиями, как входные данные(input) и приоритетом задач(thread priority).
- fullscreen = true | false (полный экран = истинно | ложно)
Запускать DOSBox в полноэкранном режиме. По умолчанию false (ложно). (начиная с 0.??)
- fulldouble = true | false (полный двойная = истинно | ложно)
Использовать двойную буферизацию в полноэкранном режиме. Смотрите [1] По умолчанию false (ложно). (начиная с 0.??)
- fullresolution = width x height | original (полноэкранное разрешение = ширина х высота | оригинальное)
Изменение размеров приложения до указанного размера, если устройство вывода изображения (output device) поддерживает аппаратное масштабирование (hardware scaling) (например, любые методы вывода изображения, за исключением метода surface). Original (оригинальное) - разрешение игры по умолчанию, либо выбранное(с помощью Setup.exe, либо через игровое меню) разрешение. Если оригинальное разрешение меньше, чем разрешение рабочего стола, DOSBox постарается переключиться на разрешение, максимально близкое к требуемому игрой, или приложением. Например, если игра, запущенная с помощью DOSBox'а, требует разрешение 320x240, в то время как на вашем рабочем столе установлено разрешение 1920x1200), DOSBox переключится на 320x240, либо следующее максимальное разрешение, поддерживаемое драйверами вашей видео-карты, например 800x600, если оригинальное разрешение недоступно. Разрешение многих игр ниже минимального поддерживаемого на современных видеокартах разрешения, поэтому DOSBox отмасштабирует разрешение, используемое игрой, до поддерживаемого минимума.
Примечание: настройка scaler (преобразователь масштаба) в разделе [render] также способна увеличить, до определённого уровня, масштаб оригинального разрешения. Эти настройки инициируются перед дополнительным масштабированием, осуществляемой настройкой fullresolution (полноэкранное разрешение).
Настройка по умолчанию: original (оригинальное). (Начиная с версии 0.62)
- windowresolution = width x height | original (разрешение в оконном представлении = ширина х высота | оригинальное)
Изменение размеров окна до указанного размера, если устройство вывода изображения (output device) поддерживает аппаратное масштабирование (hardware scaling) (например, любые методы вывода изображения, за исключением метода surface). Original (оригинальное) - разрешение игры по умолчанию, либо выбранное (с помощью Setup.exe, либо через игровое меню) разрешение.
Примечание: настройка scaler в разделе [render] также способна увеличить, до определённого уровня, масштаб оригинального разрешения. Эти настройки инициируются перед дополнительным масштабированием, осуществляемой настройкой windowresolution (разрешение в оконном представлении).
Настройка по умолчанию: original (оригинальное). (Начиная с версии 0.62)
- output = surface | overlay | opengl | openglnb | ddraw(вывод изображения = поверхность | перекрытие | opengl | openglnb | ddraw)
Какой режим использовать для вывода изображения. Surface - не поддерживает масштабирования и коррекции соотношения сторон. Настройка по умолчанию: surface. (Начиная с версии 0.??)
- autolock = true | false (захват мыши = истинно | ложно)
Мышь будет автоматически захвачена, после того, как вы счёлкните в окне DOSBox-а. Настройка по умолчанию: true (истинно). (Начиная с версии: 0.??)
- sensitivity = 1..1000 (чувствительность = 1..1000)
Чувствительность мыши. Настройка по умолчанию: 100. (Начиная с версии: 0.??)
- waitonerror = true | false (ждать после возникновения ошибки = истинно | ложно)
Не завершать работу DOSBox-а если произошла ошибка. Настройка по умолчанию: true (истинно). (Начиная с версии: 0.??)
- priority = when-focused,when-minimzed (приоритет = когда-развёрнуто, когда-свёрнуто)
Степень приоритета DOSBox-а. Второй параметр (после запятой) используется, когда окно DOSBox-а свёрнуто. Возможные значения: lowerest (низший), lower (низкий), normal (нормальный), higher (высокий), highest (высочайший), и pause (пауза). Настройка по умолчанию: higher,normal. (Начиная с версии: 0.??)
- mapperfile = path-to-mapper-file (файл раскладки = путь к файлу раскладки)
Файл используемый загрузки/сохранения раскладки (mappings) кнопок/событий. Настройка по умолчанию: mapper.txt. (Начиная с версии: 0.??)
- usescancodes = true | false
Избегайте использования комбинаций с клавишей SYM (symkeys на мобильных устройствах), они могут не заработать на всех операционных системах. Настройка по умолчанию: true. (Начиная с версии: 0.??)
Устаревшие (не рекомендованные к изменению) параметры.
- fullfixed = true | false (полноэкранное фиксирование = истинно | ложно)
Устарело к версии 0.65. Смотрите параметр fullresolution. (Начиная с версии: 0.??)
- fullwidth = width (полноэкранная ширина = ширина)
Устарело к версии 0.62. Смотрите параметр fullresolution. (Начиная с версии: 0.61)
- fullheight = height (полноэкранная высота = высота)
Устарело к версии 0.62. Смотрите параметр fullresolution. (Начиная с версии: 0.61)
[dosbox]
Раздел [dosbox] содержит настройки, которые не подходят ни под один другой раздел(такие, как: выбор языка, используемого в справочной литературе DOSBox-а, где хранить скриншоты и. т. д.).
- language = path-to-language-file (язык = путь к файлу языка)
Выбрать другой языковой файл. Стандартная настройка: пусто (language= ). (Начиная с версии: 0.??)
- memsize = nn (размер памяти = двузначное число)
Размер доступной программам верхней памяти (в мегабайтах).
Примечание: DOSBox всегда располагает 1 Мегабайтом низкой памяти, поэтому общее количество памяти равно одному мегабайту низкой памяти, плюс значению параметра memsize.
Стандартное значение: 16 (memsize=16). (Начиная с версии: 0.??)
- machine = hercules | cga | tandy | cga | tandy | pcjr | ega | vgaonly | svga_s3 | svga_et3000 | svga_et4000 | svga_paradise | vesa_nolfb | vesa_oldvbe
(Начиная с версии: 0.73) (В прошлых версиях: machine = hercules | cga | tandy | vga)
Тип machine (определение типа графического устройства), которую DOSBox пытается эмулировать. Настройка по умолчанию: svga_s3 (machine=svga_s3) (в прошлых версиях было: vga)
Значения переменных:
- vgaonly (в прошлых версиях vga) - VGA (Video Graphics Array): Графическая система компании IBM, вышедшая вместе с PS/2. Истинное VGA поддерживает 16 цветов при разрешении 640х480, либо 256 цветов при разрешении 320х200 (но не 256 цветов при разрешении 640х480, несмотря на то, что многие люди уверены в обратном). VGA цвета выбираются из палитры 262,144 цветов(не 16.7 миллиона), потому что VGA использует 6 битов для определения каждого цвета, вместо 8-и по сегодняшним стандартам.(информация взята из: http://www.pcguide.com/ref/video/stdVGA-c.html. Вы можете так же посмотреть на Википедии: Video Graphics Array и http://members.chello.at/theodor.lauppert/games/vga.htm)
- Tandy: Отсылка к дополнительным графическим режимам, доступным на Tandy 1000, или PCjr, которые включают в себя: 160x100x16, 160x200x16, 320x200x16 и 640x200x4. В серию Tandy RL/SL/TL так же добавлен режим 640x200x16. (Информация взята с: http://www.mobygames.com/attribute/sheet/attributeId,31/)
- CGA (Color Graphics Adapter): Отсылка к первой цветной, графической карте компании IBM. CGA поддерживает несколько различных режимов; максимальное качество текстового режима - 85х25 символов с палитрой 16 цветов. Графические режимы начинаются от 640x200x2 (монохромный) (который более низкого качества, чем у Hercules карт) до 16-и цветов при разрешении 160х200. Во-всяком случае, самым распространённым режимом для игр был 320х200х4. Однако, эти четыре цвета не могли свободно использовать 16-и цветную палитру CGA. Были только две официальные палитры для этого режима:
- Пурпурный, голубой (magenta, cyan), белый и цвет фона (чёрный по умолчанию). Они больше всего подходили для игр.
- Красный, зелёный, коричневый и цвет фона (чёрный по умолчанию). Иногда есть возможность выбора в качестве альтернативной палитры, в некоторых играх.
Примечание: VGA полностью поддерживает большинство CGA режимов, поэтому вы можете оставить DOSBox в режиме VGA для игры в большинство CGA игр.
- Hercules: Отсылка к графическим картам, которые были разработаны компанией Hercules Computer Technology в качестве конкурента CGA для монохромных мониторов. Системы Hercules, генерируют изображения высокого разрешения, как для текста, так и графики. Разрешение 720x348x2 (один цвет+цвет фона).
(Начиная с версии: 0.??)
- captures = path-to-capture-directory (захваты = путь к директории захвата)
Директория (папка), куда складываются захваченная информация (музыка - wave и midi, скриншоты), после нажатия кнопок CTRL+F5 и CTRL+F6. Скриншоты будут захвачены и сохранены в качестве (PNG) файлов с разрешением 320x200.
Примечание: Директория (папка) для хранения захваченных данных, не будет создана автоматически - вы должны создать её сами, прежде, чем начать захват музыки и скриншотов, иначе ничего не будет сохраняться. Начиная с версии 0.73 (возможно ранее) она создается автоматически после первого использования. Стандартное значение: capture (captures=capture). (Начиная с версии: 0.62).
[render]
Раздел [render] (прорисовка) методами, которые использует DOSBox для увеличения скорости и качества, отображаемого на экране, графики. Например, он может пропустить каждый третий кадр(что сбережёт время), либо, попробует сгладить грубое изображение, низкого разрешения, которое было использовано на старых мониторах, но плохо выглядит на современных мониторах с экранами высокого разрешения.
- frameskip = nnn (пропуск кадров = целое число)
Сколько кадров пропустит DOSBox, прежде, чем нарисует один.
Настройка по умолчанию: 0.
- aspect = true | false(пропорции = истинно | ложно)
Делать-ли коррекцию пропорций. Настройка действует только на режимы, где используются не квадратные пиксели, например VGA Mode 13h, разрешение которого 320x200 и используется многими DOS играми(DOOM и. т. д.). Рекомендуется для тех игр, которые были рассчитаны на 4:3 мониторы, но без коррекции пропорций будут заметны искажения, которые не были предусмотрены разработчиками.
Настройка по умолчанию: false.
- scaler = none | normal2x | normal3x | tv2x | tv3x | rgb2x | rgb3x | scan2x | scan3x | advmame2x | advmame3x | advinterp2x | advinterp3x | 2xsai | super2xsai | supereagle | hq2x | hq3x
Определяет, какой scaler будет использоваться для увеличения и улучшения режимов с низким разрешением, ПЕРЕД какими-либо дополнительными операциями с помощью настроек Fullresolution и Windowresolution в разделе [sdl]. Для просмотра сравнений различных scaler-ов, смотрите далее:
- none: scaling не используется.
- normal: nearest-neighbour scaling (большие, квадратные пиксели).
- scan: Работает так же, как и 'normal', но с горизонтальными чёрными линиями.
- tv: Работает так же, как и 'scan', но с затенённым вариантом соседних пикселей, вместо чёрных линий.
- rgb: Симулирует фосфоры на dot trio CRT(ЭЛТ).
- advmame: Сглаживает углы и зазубрины с диагональных линий.
- advinterp: Идентично 'advmame'.
- sai: Идентично 'advmame', но с гораздо более мягкими цветовыми переходами и краями.
- supersai: Идентично 'sai' но чётче.
- hq: 'high quality'(высокое качество) scaler который выдаёт более чистое и чёткое изображение, чем 'advmame' или 'sai' scaler-ы.
Настройка по умолчанию: normal2x.
Поддерживаемые scaler-ы, для которых требуется описание: supereagle
[cpu]
Раздел CPU управляет методом эмуляции CPU (Центрального процессора) с помощью DOSBox-а, насколько быстрой должна быть эмуляция, и её настройки. DOSBox поддерживает 4 различных метода эмуляции.
- core = simple | normal| dynamic | auto(ядро = простое | нормальное | динамическое | автоматическое)
Используемое в эмуляции, ядро CPU(Центрального процессора). Выбор изменяет эффективность DOSBox-а и в очень редких случаях, влияет на стабильность.
- normal - Программа интерпретируется инструкция за инструкцией. Этот метод гораздо более требователен к ресурсам CPU, чем dynamic, но производит гораздо более точную эмуляцию и требуется для платформ для которых у DOSBox-а нет настройки dinamic.
- simple - Примерно то же самое, что и normal, но оптимизированное для real-mode(старых) игр. В случае запуска protected-mode игр, DOSBox автоматически переключается в режим ядра normal.
- dynamic - Программные инструкции находятся в блоках, которые переводятся в инструкции понятные центральному процессору и выполняются напрямую. В большинстве случаев, этот подход более эффективен, чем интерпретация, за исключением тех тех программ, которые содержат слишком много само-модифицируемого кода. Эта настройка присутствует не на всех платформах.
- auto - Real-mode программы запускаются с настройкой normal. Для protected-mode программ DOSBox переключается на настройку dynamic, если она доступна.
- full - не рекамендована.
Настройка по умолчанию: auto.
- cputype = auto | 386 | 386_slow | 486_slow | pentium_slow | 386_prefetch(Тип CPU)
Тип CPU используемый во-время эмуляции. Настройка "auto" - быстрейший выбор. Настройка по умолчанию: auto. (Начиная с версии: 0.73)
- cycles = fixed nnnn | max [default%] [limit cycle limit] | auto [realmode default] [protected mode default%] [limit "cycle limit"]
Количество инструкций, которые DOSBox пытается эмулировать каждую миллисекунду. Поставте настройку на max, чтобы автоматически увеличить количество циклов(cycles) на максимально-возможное. Настройка auto переключается на max, если это бывает необходимо.
- fixed nnnn(фиксированное число) - Ставит скорость эмулируемого CPU на фиксированное количество циклов(cycles) (nnnn). Значение 3000 приравнивается 3-м MIP-ам. Если это значение слишком велико, некоторые игры будут работать слишком быстро, либо аварийно завершаться. Максимальное значение зависит от мощности вашего CPU. Если значение будет привосходить возможности вашего CPU, эмуляция будет идти медленно и появятся прерывания звука.
- max(максимальное) - Автоматически ставит количество циклов приближенное (необязательно) default%-значение к используемому к вашему физическому CPU. Если значение не определено, оно по умолчанию использует до 100%. Дополнительный параметр limit ограничивает максимальную скорость до указанного значения.
- auto(автоматический) - Для real-mode игр, этот параметр переключается на стандартное значение параметра "realmode", либо на 3000 циклов, если значение не определено. Когда идёт переключение в protected-mode, параметр cycles автоматически переключается в режим max используя остальные дополнительные параметры.
Значение по умолчанию: auto.
Примеры:
cycles=fixed 5000, cycles=5000
Все игры, которые вы начнёте, будут работать с фиксированной скоростью ~5 MIP-ов. Полезно для чувствительных к скорости игр, или игр, для которых требуется постоянная скорость CPU. Вы можете изменять текущее значение с помощью Ctrl+F11 и Ctrl+F12 (комбинации клавиш) во-время работы DOSBox-а.
cycles=max
Все игры, которые вы начнёте, будут работать на, максимально доступной вашему CPU, скорости. Используйте Ctrl+F11 и Ctrl+F12 для изменения процента использования мощности вашего CPU.
cycles=max limit 50000
Все игры, которые вы начнёте, будут работать со-скоростью до 50000 циклов, в зависимости от мощности вашего CPU.
cycles=max 50%
Будет использовано около 50% мощности вашего CPU.
cycles=auto
Real-mode игры будут работать на скорости 3000 циклов. Protected-mode игры будут работать на настройке cycles=max.
cycles=auto 5000 50% limit 50000
Real-mode игры будут работать на фиксированной скорости 5000 циклов, protected-mode игры на настройке cycles=max 50% limit 50000.
- cycleup = nnn (увеличить количество циклов = число)
Количество увеличиваемых, с помощью комбинации клавиш, циклов. Значение по умолчанию: 10. Значения меньше 100 будут изменять процентное соотношение текущего значения.
- cycledown = nnn (уменьшить количество циклов = число)
Количество уменьшаемых с помощью комбинации клавиш циклов. Значение по умолчанию: 20. Значения меньше 100 будут изменять процентное соотношение текущего значения.
[mixer]
(смотрите раздел: Sound)
Здесь вы можете определять качество эмулируемого аудио.
[midi]
(Смотрите раздел: Sound)
Здесь вы можете определять настройки MIDI. Термин MIDI, чаще всего используется, как определение фоновой музыки в старых играх, но в данном случае он означает аудио синтезатор (который направлен напрямую от эмулируемых игр к современному железу).
- mpu401 = intelligent | uart | none
Определяет, какой тип MIDI Processing Unit эмулировать.
- intelligent (умный): (информация из Википедии) MPU-401 может работать в двух режимах, в нормальном режиме и UART (Универсальный Асинхронный Приёмопередатчик) режиме. "Нормальный режим" будет поддерживать физическую систему 8-и канальным секвенсером, MIDI clock вывод, SYNC 24 вывод сигнала, Tape Sync и метроном; из-за этих возможностей, этот режим часто называт "умным режимом" (intelligent mode).
- uart (Универсальный Асинхронный Приёмопередатчик): этот режим просто эмулирует режим UART, ретранслирует в-/исходящие MIDI байты данных.
- none: MIDI не эмулируется.
- mididevice = default | win32 | alsa | oss | coreaudio | coremidi | none
Немного сбивающее с толку название настройки, потому что она определяет не столько, какое MIDI устройство использовать, сколько какой MIDI интерфейс использовать. Так, как, на данный момент, DOSBox не эмулирует MIDI, вместо этого пропускает его через интерфейс, который поддерживает воспроезвидение MIDI. Эта настройка объясняет DOSBox-у через какой MIDI интерфейс, пропускать данные.
- default: Для воспроизведения, используется стандартное, воспроизводящее MIDI, устройство.
- win32: Используется Win32 MIDI устройство воспроезвидения.
- alsa: Используется Linux-овский Advanced Linux Sound Architecture интерфейс воспроезвидения.
- oss: Используется Linux-овский Open Sound System интерфейс воспроезвидения.
- coreaudio: MacOS X's framework для визуализации музыки через встроенный в OS X синтезатор.
- coremidi: MacOS X's framework для направления MIDI команд на устройство, которое было настроено в Audio MIDI Setup
- none: MIDI отключено.
- midiconfig = id of MIDI device
Используется, описанным ранее, MIDI интерфейсом. Эта настройка определяет ID, которое идентифицирует особое MIDI устройство для воспроезведения MIDI. Может быть определено на Windows, используя MIXER /LISTMIDI, либо на Linux, используя pmidi -l в консоли.
[sblaster]
(Смотрите раздел: Sound) Настройки связанные с Sound Blaster.
[gus]
(Смотрите раздел: Sound) Настройки связанные с Gravis Ultrasound.
[speaker]
(Смотрите раздел: Sound) Настройки связанные с PC Speaker.
[joystick]
(Смотрите раздел: Sound) Настройки джойстика.
[serial]
- serialX = device [parameter:value]
device может быть: dummy | modem | nullmodem | directserial parameter (параметр): irq value (значение):
- Для directserial: realport (обязательно), rxdelay (дополнительно).
- Для modem: listenport (дополнительно).
- Для nullmodem: server, rxdelay, txdelay, telnet, usedtr, transparent, port, inhsocket (все дополнительны).
Значения по умолчанию:
- serial1=dummy
- serial2=dummy
- serial3=disabled
- serial4=disabled
Пример настройки реальной serial port для использования I/O:
serial1=directserial realport:com1
[dos]
- xms=true/false
Значение по умолчанию: "true"
- ems=true/false
Значение по умолчанию: "true"
- umb=true/false
Значение по умолчанию: "true"
- keyboardlayout=auto/none/XY
Значение по умолчанию: "auto" (Начиная с версии: 0.73. В прошлых версиях: "none"), смотрите KEYB для поддерживаемых значений (keyboard layout codes/ids)
[ipx]
ipx=true/false
Значение по умолчанию: "false"
Смотрите раздел Connectivity для подробностей использования IPX, когда он включён.
[autoexec]
Здесь вы можете определить содержимое файла AUTOEXEC.BAT(которые выполняются сразу после запуска DOSBox-а). Таким образом, каждый раз, при запуске DOSBox-а, будет выполняться каждая команда, записанная в этом разделе.
Примечания
- ↑ По умолчанию, можно переназначить в файле конфигурации.