.\" -*- nroff -*- (This is for Emacs) .TH DOSEMU.BIN 1 "@RELEASE_DATE@" "Версия @PACKAGE_VERSION@" "Эмуляция DOS" .SH ИМЯ dosemu.bin, dosdebug \- запускает DOS и приложения DOS под Linux .SH СИНТАКСИС .B dosemu.bin [ .B \-ABCcdkVNXtsgKm234OU ] [ .B \-h ] [ .B \-F .I файл ] [ .B \--Fusers .I файл ] [ .B \--Flibdir .I каталог ] [ .B \--Fimagedir .I каталог ] [ .B \-f .I файл ] [ .B \-u .I переменная_настройки ] [ .B \-D .I флаги ] [ .B \-e .I объем ] [ .B \-x .I объем ] [ .B \-P .I файл ] [ .B \-o .I файл ] [ 2\> .I файл_отладки ] [ .B \-I .I опции_настройки ] [ .B \-E .I dos-команда ] [ .B \-K .I unix_путь[:dos_путь] ] [ .I env1=val1 .I ... ] [ .I unix_путь_к_дос_программе [ .I -- ] [ .I аргументы_дос_команды ] .sp .B dosdebug .SH ОПИСАНИЕ .B dosemu.bin является бинарным файлом, который запускается скриптом .B dosemu (1), активизирующим эмулятор DOS под Linux, также известный как .BR DOSEMU . .br .I Файл_отладки представляет собой опциональный файл, куда будет перенаправляться вся отладочная информация. .PP .B dosdebug используется для управления или отладки уже запущенного .BR DOSEMU . .PP Хотя эта программа известна как .I эмулятор DOS, она в действительноти является виртуальной машиной для DOS, позволяющей оперировать DOS и программами, написанными для DOS, в окружении, подобном стандартному IBM PC/AT компьютеру или совместимому с процессором Intel 80x86 в реальном режиме. .B DOSEMU предоставляет эмуляцию таких сервисов как видео подсистемы, дисковой, клавиатурной, последовательного порта и подсистемы принтера, доступных через BIOS; памяти CMOS для настроечной информации; часов реального времени; работу с памятью через спецификации XMS 3.0, EMS 4.0 и DPMI 0.9. .PP Поскольку .B DOSEMU не является действительным эмулятором DOS, требуется копия FreeDos, которая сейчас преднастроена и включена как часть официального бинарного дистрибутива DOSEMU. В дополнение, любой доступный сейчас проприетарный DOS (такой как MS-DOS, PC-DOS, DR-DOS) может быть запущен, при настройке должным образом. .SH ТРЕБОВАНИЯ К ЯДРУ На текущий момент времени, необходимо иметь Linux 2.0.28 или выше с вкомпилированной опцией SYSV IPC (System V InterProcess Communication facilities, смотрите .BR ipc (2)). Опция SYSV IPC включается в окне настройки ядра Linux в процессе его компиляции. .SH ОПИЦИИ .TP .I -A загрузка с дисковода A (не требует наличия реального дисковода, смотрите ниже) .TP .I -B загрузка с дисковода B (не требует наличия реального дисковода, смотрите ниже) .TP .I -C[num] загрузка с диска C. Если указан num, то соответствующий диск сначала становится диском C. Например, -C1 означает переименовать диск D в C, а потом с него загрузиться. .TP .I -c[d] использвать видео консоль напрямую (должно зыпускаться из консоли, требуется, чтобы .B dosemu был запущен с опцией -s) .br .I -cd отсоединиться от текущей виртуальной консоли или tty устройства и присоединиться к первой свободной виртуальной консоли .TP .I -d path монтировать путь path как дополнительный диск в DOS. Можно указывать более одного раза. .TP .I -E dos-команда Запуск команды DOS в DOSEMU. Путь к бинарнику можно указать с помощью опции \-K. Например, .nf dosemu -K /home/joeuser/dosemu/freedos/bin -E "xcopy my_file my_dir" .fi запустит /home/joeuser/dosemu/freedos/bin/xcopy.exe с 2 аргументами. .br Замечание: это только работает с дефолтным autoexec.bat, в котором есть вызов "system \-e". .TP .I -K unix_путь[:dos_путь] Указать путь unix к программе, запускаемой через \-E. Можно не использовать \-E, а указать полный путь через \-K, но это не рекомендуется, и может быть удалено в будущем. Указывать в \-K надо только путь к каталогу. .br Если указан dos_путь, тогда он используется в качестве директории запуска dos-программы. Если unix_путь не указан, то буква диска берётся из dos_пути: .nf dosemu -K :C:\\\\games\\\\carma -E carma.exe .fi Так запустится carma.exe из C:\\games\\carma .TP .I -V использовать VGA спефицичную оптимизацию видео .TP .I -k использовать прозрачную клавиатуру консоли (должно запускаться из консоли) .TP .I --Fusers Обойти файл dosemu.users и взять предоставленный файл вместо него (принимается только в случае, когда .B dosemu.bin .I не имеет флага suid-root). .TP .I --Flibdir Обойти каталог по умолчанию DOSEMU_LIB_DIR (как, возможно, определено в dosemu.users) и использовать предоставленный каталог вместо него (принимается только в случае, когда .B dosemu.bin .I не имеет флага suid-root). .TP .I --Fimagedir Обойти каталог по умолчанию для загрузочного и каталога образов диска (DOSEMU_IMAGE_DIR) и использовать предоставленный каталог вместо него (принимается только в случае, когда .B dosemu.bin .I не имеет флага suid-root). .TP .I -f Разобрать предоставленный конфигурационный файл вместо .dosemurc. Если задействована опция -n, то указанный здесь конфигурационный файл будет использован вместо основного dosemu.conf. .TP .I -n Пропустить (не разбирать) пользовательский файл конфигурации .dosemurc. Конфигурационный файл, указанный в -f, будет разобран, но, в этом случае, он заменит основной конфиг dosemu.conf. .TP .I -L Записывает в лог-файл. .TP .I -I Обработать строку, следующую за опцией. .I -I работает с таким же синтаксисом, как и global.conf или .dosemurc, например, .TP dos ... \-I 'video { mda }' Эта опция полезна, если необходимо временно заменить предоставленный настроечный параметр. Также можно использовать общую настройку путем запуска скрипта как показано ниже .TP dos ... \-I "`myconf.sh`" где .I myconf.sh является скриптом, выдающим настройку на стандартный вывод. Если имеется альтернативный файл настроек помимо .dosrc, то команда .TP dos ... \-I "`cat myother.conf`" его будет использовать. Однако заметьте, что необходимо взять в кавычки параметр за .I -I, потому что ожидается .I один аргумент. .TP .I -i input_data Вводит .I input_data с эмулируемой клавиатуры. Можно использовать \\r в качестве Enter. Так же обрабатываются другие эскейп-последовательности, например можно вставлять задержки с помощью конструкций вида "\\p10;", где 10 - величина задержки в десятках миллисекунд. .TP .I -D определяет какие отладочные сообщения позволить, а какие запретить .TP .I -h вывести справку. .TP .I -H определяет флаги, поддерживаемые dosdebug. В настоящий момент только `1' имеет смысл. С .I -H1 происходит принуждение dosemu к ожиданию, пока подсоединен dosdebug терминал. Отсюда, чтобы отладить DOS сессию с самого начала, необходимо вначале запустить dosemu с параметром \-H1, а затем запустить dosdebug. DOSEMU будет затем заблокирован перед переходом в загруженный boot сектор в ожидании соединения dosdebug. Однажды присоединившись, программа находится в состоянии `остановлена' и можно установить точки останова или пройтись пошагово через загрузочный код. .TP .I -O использовать стандартный поток ошибок для вывода отладочных сообщений .TP .I -o использовать предоставленный файл для вывода отладочных сообщений в него .TP .I -m разрешить внутреннюю поддержку мыши .TP .I -P копировать отладочный вывод в предоставленный файл .TP .I -2,3,4 выбрать 286, 386 или 486 процессор (Будьте осторожны! .B DOSEMU не является полностью 32-хбитным, так что при определении программой 386 или 486 процессора и использовании 32-хбитных регистров, возможно сбивание ее с толку из-за функций BIOS. Если предполагается, что такое случается, используйте \-2 для принужденного перехода .B DOSEMU в режим 286.) .TP .PD 1 .SH ЖЕСТКИЕ ДИСКИ .B DOSEMU поддерживает четыре метода замещения DOS с жесткими дисками: .IP 1. виртуальный файл диска, находящийся на файловой системе Linux, который эмулирует жесткий диск. .IP 2. непосредственный доступ к разделу DOS через прозрачное дисковое устройство (например, /dev/hda, /dev/hdb, /dev/sdX). .IP 3. непосредственный доступ к разделу DOS через доступ к единичному разделу (к примеру, /dev/hda1, /dev/hdb2, /dev/sdxx). Необходимо запустить программу .B mkpartition для разрешения .B DOSEMU доступа к разделу DOS с SPA (Single Partition Access). .IP 4. доступ к файловой системе Linux как к "сетевому" устройству, используя драйвер emufs.sys, поставляемый с .B DOSEMU как commands/emufs.sys. .PP Настройка ресурсов жесткого диска .B DOSEMU выполняется путем редактирования файла .B dosemu.conf перед запуском .BR DOSEMU . Смотрите также @docdir@/README.txt. .SH ФЛОППИ ДИСКИ .B DOSEMU поддерживает два метода замещения DOS с флоппи дисками: .IP 1. виртуальный файл диска, находящийся на файловой системе Linux, эмулирующий флоппи дисковод .IP 2. непосредственный доступ к физическому флоппи дисководу через прозрачное дисковое устройство (к примеру, /dev/fd0, /dev/fd1). .PP Настройка ресурсов флоппи диска .B DOSEMU выполняется путем редактирования файла .B dosemu.conf перед запуском .BR DOSEMU . .SH ВИДЕО .B DOSEMU может запускаться на любом tty устройстве. Однако, увеличенная производительность и функциональность может быть получена с применением дополнительных особенностей консоли Linux. Так, для запускаемого в консоли .B DOSEMU желательно исследовать ключи .I \-c, .I \-k, и .I \-V. Также некоторая укороченная документация находится в файле dosemu.conf, который можно редактировать, если это необходимо. .PP Вкратце, правильное использование консольного устройства и соответствующих ключей позволяет пользователю работать с DOS программой в оригинальном цвете и с оригинальным шрифтом, без проблем переодического обновления экрана при кодах вывода на базовое устройство tty. .SH КЛАВИАТУРА Те, кто желает применять .B DOSEMU в консоли Linux, могут также воспользоваться прямым доступом к клавиатуре. Такой режим действия, выбранный ключом .I \-k, предоставляет пользователю доступ ко всей клавиатуре прямо из-под DOS. Любые комбинации клавиш ALT, CTRL и SHIFT могут использоваться для генерации необычных кодов клавиш, ожидаемых многими программами. .SH ПЕЧАТЬ Сервисы печати BIOS эмулирутся через стандартный I/O доступ к файлам UNIX через временные файлы, которые периодически опрашиваются LPR либо другим клиентом печати как указано в параметре $_printer в файле dosemu.conf. .SH ОТЛАДОЧНЫЕ СООБЩЕНИЯ Отладочные сообщения могут контроллироваться как в командной строке, так и в настроечном файле. Просмотрите документацию, находящуюся внутри файла config.dist, включённого в подкаталог примеров .B DOSEMU, для информации об опциях отладки. В командной строке можно определить какие классы сообщений будут доступны .B dos. Синтаксис тут передаётся .B DOSEMU через опцию "\-D FLAGS", где FLAGS представляет собой строку букв, которые определяют какие опции будут печатать на экран, а какие подавляться. .B DOSEMU разбирает эту строку справа налево. + включает следующие опции (начальное состояние) \- выключает следующие опции a включает или выключает все опции в зависимости от флага 0 выключает все опции 1-9 устанавливает уровень отладки: чем выше, тем больше выводится # где # - это буква из списка верного класса, включает или выключает опцию в зависимости от состояния +/\-. .I Классы Сообщений: d диск R чтение с диска W запись на диск D int 21h C компакт дисковод v видео X поддержка X k клавиатура i порты I/O s послед. порты m мышь # прерывания p принтер g базовые c настройка w предупреждения h оборудование I IPC E EMS x XMS M DPMI n сеть IPX P пакетный драйвер S ЗВУК r PIC T трассировка IO Z PCI-BIOS A драйвер ASPI Q mapping driver Любые классы отладки, следующие после символа .I \+ до символа .I \-, будут включены (неподавляющиеся). Любые, следующие после символа .I \- до символа .I \+, будут подавлены. Символ .I a действует подобно строке со всеми возможными классами отладки, так .I \+a включит все отладочные сообщения и .I \-a выключит все отладочные сообщения. Символы .I 0 и .I 1-9 также специального назначения: .I 0 выключает все отладочные сообщения, а .I 1-9 включает все отладочные сообщения, но также устанавливает и уровень отладки. Символ .I \+ приписывается в начало строки FLAGS. Некоторые классы, типа класса ошибок, не могут быть выключаны. В случае, если перенаправление на стандартный поток ошибок нежелательно, ближайший путь для достижения результата - перенаправить весь вывод в устройство .B /dev/null. Несколько примеров: "\-D+a\-v" или "\-D1\-v" : все сообщения кроме видео "\-D+kd" : по умолчанию вместе с клавиатурой и диском "\-D0+RW" : только чтение с диска и запись на диск Любая опциональная буква может располагаться в любом месте. Даже бессмысленные комбинации, типа .I -D01-a-1+0, будут разобраны без ошибки, так что будьте осторожны. Некоторые опции установлены по умолчанию, некоторые наоборот. Это предмет авторского каприза и возможны изменения между версиями. Можно обеспечить четкую установку конкретных опций, всегда явно определяя их. .SH СПЕЦИАЛЬНЫЕ КЛАВИШИ В режиме работы с клавиатурой напрямую (смотрите опцию .BR \-k), .B DOSEMU возвращает известные последовательности клавиш как управляющие функции. .PP .PD 0 .IP ctrl-scrlock = показать 0x32 векторов прерываний .IP alt-scrlock = показать регистры vm86 .IP rshift-scrlock = генерировать int8 (таймер) .IP lshift-scrlock = генерировать int9 (клавиатура) .IP ctrl-break = ctrl-break как под DOS. .IP ctrl-alt-pgup = перегрузить DOS. Не доверяйте этому! .IP ctrl-alt-pgdn = выйти из эмулятора .PD 1 .PP Используйте --<Функциональная клавиша>, чтобы переключиться на другую виртуальную консоль. .SH ПАМЯТЬ Поддержка памяти XMS в .B DOSEMU соответствует расширенной спецификации памяти Lotus/Intel/Microsoft/AST версии 3.0. Реализованы все функции XMS кроме функции 0x12 (Перераспределить Верхний Блок Памяти). .PP В то время как идет реализация функций UMB, они крайне глупые и будут почти всегда действовать неоптимально. Очередная версия .B DOSEMU будет иметь разумную поддержку UMB. .PP .B DOSEMU также поддерживает EMS 4.0 и DPMI 0.9 (1.0 частично). .SH АВТОРЫ .B DOSEMU (содержащий в себе файлы .B dosemu.bin и .B dosemu ) базируется на версии 0.4 оригинальной программы, написанной Matthias Lautner (текущий адрес которого на данный момент неизвестен). .PP Robert Sanders поддерживал и расширял воплощение .B DOSEMU, с которым начало распространяться это man руководство. Втечение около 4-х лет James B. MacLean был неустанным лидером команды dosemu, реализация DPMI (которая позволила запускать Windows-3.1, dos4gw, djgpp и прочее) произошла втечение его 'правления' и перенесла проект ближе к состоянию Beta. Hans Lermen работал над новой версией и выпустил первый релиз версии 1.0. Сейчас Bart Oldeman является основным разработчиком этого прекрасного программного обеспечения. Перевод выполнен Andy Shevchenko . .SH ОШИБКИ Их число довольно велико, лучше свести список до минимума. .PP Пожалуйста, отсылайте отчеты об ошибках автору. Также автору нравиться слышать о тех программах, которые работают. Присылайте только подробную заметку о том, какая программа (и какой версии) используется, что работает, а что нет и тому подобное. .SH ДОСТУПНОСТЬ Большинство последних версий .B DOSEMU можно получить с сайта www.dosemu.org; скоростное зеркало расположено по адресу ibiblio.unc.edu:/pub/Linux/system/emulators/dosemu/. Если хотите получать частные версии для разработчиков, вступайте в команду разработчиков .B DOSEMU, всего лишь хорошие и подробные отладочные отчеты - всё, что необходимо! .SH ФАЙЛЫ .PD 0 .TP .I @bindir@/dosemu.bin Исполняемый модуль .TP .I @bindir@/dosemu Оберточный скрипт, рекомендуемый для запуска dosemu.bin, который не стоит запускать непосредственно. .TP .I @bindir@/xdosemu То же самое, но служит для запуска DOS в X window. .TP .I $HOME/.dosemu Локальный каталог на каждого пользователя .B DOSEMU. Создание каталога происходит молча, если он отсутствует. .TP .I $HOME/.dosemu/tmp Создание всех временных файлов происходит здесь, /tmp больше не используется. .TP .I /var/run/dosemu.* или .TP .I $HOME/.dosemu/run Различные файлы, используемые .B DOSEMU, включая отладочные каналы. .TP .TP .I $HOME/dosemu/freedos Загрузочный каталог, содержащий FreeDos. .TP .I dosemu.conf Основной настроечный файл для .BR DOSEMU, включающийся в .I global.conf (global.conf включен в dosemu.bin по умолчанию). .TP .I dosemu.users или .TP .I @sysconfdir@/dosemu.users Для запускаемых бинарников с suid-root: определение прав доступа к .BR DOSEMU на базисе каждого пользователя и установка некоторой необходимой конфигурации. Этот настроечный файл имеет только фиксированное расположение, .BR DOSEMU вначале ищет .I dosemu.users и, если он не найден, обращается к .I @sysconfdir@/dosemu.users. Через ключевой параметр .I default_lib_dir= в файле .I dosemu.users системно расширяющий каталог .I DOSEMU_LIB_DIR может быть перемещен куда-нибудь. За более детальной информацией обращайтесь к .I @docdir@/README.txt .TP .I @sysconfdir@/dos.ini Настроечный файл для IPX. .TP .I @docdir@/DPR Команда разработчиков dosemu: кто и какую часть проекта .B DOSEMU ведет? .TP .I doc/DANG.txt Помощь для изучения кода .B DOSEMU. .TP .I @docdir@/README.* Различная документация. .TP .I ChangeLog Изменения в .B DOSEMU с момента последнего релиза. .TP .I README.bindist Информация о том, как использовать готовый к работе пакет бинарников DOSEMU/FreeDos. .TP .I README.distributors Информация для дистрибьютеров Linux о том, как паковать сборку .B DOSEMU, для расширения возможностей системы. .TP .I Список рассылки MSDOS Для подробной информации пишите на адрес .IP linux-msdos@vger.kernel.org .SH "СМОТРИ ТАКЖЕ" .BR dosemu "(1), " mkfatimage16 "(1)"