ИМЯ
dosemu.bin, dosdebug - запускает DOS и приложения DOS под LinuxСИНТАКСИС
dosemu.bin [ -ABCcdkVNXtsgKm234OU ] [ -h уровень ] [ -F файл ] [ --Fusers файл ] [ --Flibdir каталог ] [ --Fimagedir каталог ] [ -f файл ] [ -L dexe_файл ] [ -u переменная_настройки ] [ -D флаги ] [ -M объем ] [ -e объем ] [ -x объем ] [ -P файл ] [ -o файл ] [ 2> файл_отладки ] [ -I опции_настройки ] [ -U вх_канал[:вых_канал] ]ОПИСАНИЕ
dosemu.bin является бинарным файлом, который запускается скриптом dosemu (1), активизирующим эмулятор DOS под Linux, также известный как DOSEMU.ТРЕБОВАНИЯ К ЯДРУ
На текущий момент времени, необходимо иметь Linux 2.0.28 или выше с вкомпилированной опцией SYSV IPC (System V InterProcess Communication facilities, смотрите ipc(2)). Опция SYSV IPC включается в окне настройки ядра Linux в процессе его компиляции.ОПИЦИИ
- -A
- загрузка с дисковода A (не требует наличия реального дисковода, смотрите ниже)
- -B
- загрузка с дисковода B (не требует наличия реального дисковода, смотрите ниже)
- -C
- загрузка с жесткого диска C (не требует наличия реального жесткого диска и даже файловой системы msdos, смотрите ниже)
- -c
- использвать видео консоль напрямую (должно зыпускаться из консоли, требуется, чтобы dos был с флагом suid для пользователя root)
- -d
- отсоединиться от текущей виртуальной консоли или tty устройства и присоединиться к первой свободной виртуальной консоли
- -V
- использовать VGA спефицичную оптимизацию видео
- -k
- использовать прозрачную клавиатуру консоли (должно запускаться из консоли)
- -F
- Обработать предоставленный настроечный скрипт вместо встроенного файла global.conf (необходимо запустить DOSEMU от root с установленным флагом suid)
- --Fusers
- Обойти файл dosemu.users и взять предоставленный файл вместо него (принимается только в случае, когда dosemu.bin не имеет флага suid-root).
- --Flibdir
- Обойти каталог по умолчанию DOSEMU_LIB_DIR (как, возможно, определено в dosemu.users) и использовать предоставленный каталог вместо него (принимается только в случае, когда dosemu.bin не имеет флага suid-root).
- --Fimagedir
- Обойти каталог по умолчанию для загрузочного и каталога образов диска (DOSEMU_HDIMAGE_DIR) и использовать предоставленный каталог вместо него (принимается только в случае, когда dosemu.bin не имеет флага suid-root).
- -f
- Разобрать предоставленный настроечный файл вместо .dosemurc
- -u
- установить пользовательскую переменную настройки. Префиксированная опция u_ применяется для недопущения конфликта имен. Эта переменная может быть проверена в файле dosemu.conf или global.conf при изготовлении некоторой специальной настройки.
- -L
- Загрузить и запустить файл DEXE (специальный преднастроенный загрузочный образ диска, содержащий только одно приложение DOS)
- -I
- Обработать строку, следующую за опцией. -I работает с таким же синтаксисом, как и global.conf или .dosemurc, например,
- dos ... -I 'video { mda }'
- Эта опция полезна, если необходимо временно заменить предоставленный настроечный параметр. Также можно использовать общую настройку путем запуска скрипта как показано ниже
- dos ... -I "`myconf.sh`"
- где myconf.sh является скриптом, выдающим настройку на стандартный вывод. Если имеется альтернативный файл настроек помимо .dosrc, то команда
- dos ... -I "`cat myother.conf`"
- его будет использовать. Однако заметьте, что необходимо взять в кавычки параметр за -I, потому что ожидается один аргумент.
- -D
- определяет какие отладочные сообщения позволить, а какие запретить
- -h
- вывести дамп настроек на стандартный поток ошибок и выйти (поздразумевается установка -D+c). Опция полезна для отладки файла настроек, необходимо использовать -O также для направления сообщений типа +c на стандартный поток ошибок. Возможны `уровни' 0, 1 или 2, которые управляют количеством выводимой отладочной информации обработчика настроек: без отладочной информации (0), отладка петли обработчика (1), отладка if_else_endif (2).
- -H
- определяет флаги, поддерживаемые dosdebug. В настоящий момент только `1' имеет смысл. С -H1 происходит принуждение dosemu к ожиданию, пока подсоединен dosdebug терминал. Отсюда, чтобы отладить DOS сессию с самого начала, необходимо вначале запустить dosemu с параметром -H1, а затем запустить dosdebug. DOSEMU будет затем заблокирован перед переходом в загруженный boot сектор в ожидании соединения dosdebug. Однажды присоединившись, программа находится в состоянии `остановлена' и можно установить точки останова или пройтись пошагово через загрузочный код.
- -O
- использовать стандартный поток ошибок для вывода отладочных сообщений
- -o
- использовать предоставленный файл для вывода отладочных сообщений в него
- -M
- установить базовую память в предоставленное значение объема в килобайтах
- -m
- разрешить внутреннюю поддержку мыши
- -P
- копировать отладочный вывод в предоставленный файл
- -2,3,4
- выбрать 286, 386 или 486 процессор (Будьте осторожны! DOSEMU не является полностью 32-хбитным, так что при определении программой 386 или 486 процессора и использовании 32-хбитных регистров, возможно сбивание ее с толку из-за функций BIOS. Если предполагается, что такое случается, используйте -2 для принужденного перехода DOSEMU в режим 286.)
- -U
- определяет входной и выходной каналы для асинхронного управления DOSEMU из других процессов. Формат такой (без пробелов между словами):
- вх_канал:вых_канал
- где `:вых_канал' может быть опущен. В последнем случае можно не ожидать обратной связи от DOSEMU. По соображениям безопастности DOSEMU не создает именованные каналы самому себе, так пользователь отвечает за установку корректных прав доступа на каналы. Заметьте, что при использовании этих опций, инородный процесс может контроллировать сессию DOSEMU (типа ввода с клавиатуры). Опция будет следоватьльно использована только внешними интерфейсами (типа kdos), которые вначале содадут соответствующие именованные каналы и затем запустят на исполнение DOSEMU. Специальные управляющяя команда ( ack on ) может быть использована, чтобы принудить DOSEMU возвратить признаки установки связи через `вых_канал' такой, чтобы внешний интерфейс знал когда управляющая команда началась или закончилась и была ли она успешна. Формат такого диалога признаков показан ниже
- SYN: <имя_команды>
- <различный вывод от команды>
- ACK: code=n
- где n равно 0 в случае успеха. Простой управляющий терминал, который служит как пример, замещается программой dosctrl. Она берет только два канала как аргументы и дает возможность затем вводить управляющие команды, из которых `help' наиболее важна ;-) Заметьте, dosctrl не запускает на выполнение DOSEMU, что необходимо сделать вручную.
ЖЕСТКИЕ ДИСКИ
DOSEMU поддерживает четыре метода замещения DOS с жесткими дисками:- 1.
- виртуальный файл диска, находящийся на файловой системе Linux, который эмулирует жесткий диск.
- 2.
- непосредственный доступ к разделу DOS через прозрачное дисковое устройство (например, /dev/hda, /dev/hdb, /dev/sdX).
- 3.
- непосредственный доступ к разделу DOS через доступ к единичному разделу (к примеру, /dev/hda1, /dev/hdb2, /dev/sdxx). Необходимо запустить программу mkpartition для разрешения DOSEMU доступа к разделу DOS с SPA (Single Partition Access).
- 4.
- доступ к файловой системе Linux как к "сетевому" устройству, используя драйвер emufs.sys, поставляемый с DOSEMU как commands/emufs.sys.
ФЛОППИ ДИСКИ
DOSEMU поддерживает два метода замещения DOS с флоппи дисками:- 1.
- виртуальный файл диска, находящийся на файловой системе Linux, эмулирующий флоппи дисковод
- 2.
- непосредственный доступ к физическому флоппи дисководу через прозрачное дисковое устройство (к примеру, /dev/fd0, /dev/fd1).
ВИДЕО
DOSEMU может запускаться на любом tty устройстве. Однако, увеличенная производительность и функциональность может быть получена с применением дополнительных особенностей консоли Linux. Так, для запускаемого в консоли DOSEMU желательно исследовать ключи -c, -k, и -V, разъясненные более подробно в QuickStart.Ю Также некоторая укороченная документация находится в файле dosemu.conf, который можно редактировать, если это необходимо. Вкратце, правильное использование консольного устройства и соответствующих ключей позволяет пользователю работать с DOS программой в оригинальном цвете и с оригинальным шрифтом, без проблем переодического обновления экрана при кодах вывода на базовое устройство tty.КЛАВИАТУРА
Те, кто желает применять DOSEMU в консоли Linux, могут также воспользоваться прямым доступом к клавиатуре. Такой режим действия, выбранный ключом -k, предоставляет пользователю доступ ко всей клавиатуре прямо из-под DOS. Любые комбинации клавиш ALT, CTRL и SHIFT могут использоваться для генерации необычных кодов клавиш, ожидаемых многими программами.ПЕЧАТЬ
Сервисы печати BIOS эмулирутся через стандартный I/O доступ к файлам UNIX через временные файлы, которые периодически опрашиваются LPR либо другим клиентом печати как указано в параметре $_printer в файле dosemu.conf.ОТЛАДОЧНЫЕ СООБЩЕНИЯ
Отладочные сообщения могут контроллироваться как в командной строке, так и в настроечном файле. Просмотрите документацию, находящуюся внутри файла config.dist, включённого в подкаталог примеров DOSEMU, для информации об опциях отладки. В командной строке можно определить какие классы сообщений будут доступны dos. Синтаксис тут передаётся DOSEMU через опцию "-D FLAGS", где FLAGS представляет собой строку букв, которые определяют какие опции будут печатать на экран, а какие подавляться. DOSEMU разбирает эту строку справа налево.+ включает следующие опции (начальное состояние)
- выключает следующие опции
a включает или выключает все опции в зависимости от флага
0 выключает все опции
1-9 устанавливает уровень отладки: чем выше, тем больше выводится
# где # - это буква из списка верного класса,
включает или выключает опцию в зависимости от состояния +/-.
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
"-D+a-v" или "-D1-v" : все сообщения кроме видео
"-D+kd" : по умолчанию вместе с клавиатурой и диском
"-D0+RW" : только чтение с диска и запись на диск
СПЕЦИАЛЬНЫЕ КЛАВИШИ
В режиме работы с клавиатурой напрямую (смотрите опцию -k), DOSEMU возвращает известные последовательности клавиш как управляющие функции.- ctrl-scrlock = показать 0x32 векторов прерываний
- alt-scrlock = показать регистры vm86
- rshift-scrlock = генерировать int8 (таймер)
- lshift-scrlock = генерировать int9 (клавиатура)
- ctrl-break = ctrl-break как под DOS.
- ctrl-alt-pgup = перегрузить DOS. Не доверяйте этому!
- ctrl-alt-pgdn = выйти из эмулятора
ПАМЯТЬ
Поддержка памяти XMS в DOSEMU соответствует расширенной спецификации памяти Lotus/Intel/Microsoft/AST версии 3.0. Реализованы все функции XMS кроме функции 0x12 (Перераспределить Верхний Блок Памяти). В то время как идет реализация функций UMB, они крайне глупые и будут почти всегда действовать неоптимально. Очередная версия DOSEMU будет иметь разумную поддержку UMB. DOSEMU также поддерживает EMS 4.0 и DPMI 0.9 (1.0 частично).АВТОРЫ
DOSEMU (содержащий в себе файлы dosemu.bin и dosemu ) базируется на версии 0.4 оригинальной программы, написанной Matthias Lautner (текущий адрес которого на данный момент неизвестен). Robert Sanders <[email protected]> поддерживал и расширял воплощение DOSEMU, с которым начало распространяться это man руководство. Втечение около 4-х лет James B. MacLean <[email protected]> был неустанным лидером команды dosemu, реализация DPMI (которая позволила запускать Windows-3.1, dos4gw, djgpp и прочее) произошла втечение его 'правления' и перенесла проект ближе к состоянию Beta. Hans Lermen <[email protected]> работал над новой версией и выпустил первый релиз версии 1.0. Сейчас Bart Oldeman <[email protected]> является основным разработчиком этого прекрасного программного обеспечения. Перевод выполнен Andy Shevchenko <[email protected]>.ОШИБКИ
Их число довольно велико, лучше свести список до минимума. Пожалуйста, отсылайте отчеты об ошибках автору. Также автору нравиться слышать о тех программах, которые работают. Присылайте только подробную заметку о том, какая программа (и какой версии) используется, что работает, а что нет и тому подобное.ДОСТУПНОСТЬ
Большинство последних версий DOSEMU можно получить с сайта www.dosemu.org; скоростное зеркало расположено по адресу ibiblio.unc.edu:/pub/Linux/system/emulators/dosemu/. Если хотите получать частные версии для разработчиков, вступайте в команду разработчиков DOSEMU, всего лишь хорошие и подробные отладочные отчеты - всё, что необходимо!ФАЙЛЫ
- /usr/bin/dosemu.bin
- Исполняемый модуль
- /usr/bin/dosemu
- Оберточный скрипт, рекомендуемый для запуска dosemu.bin, который не стоит запускать непосредственно.
- /usr/bin/xdosemu
- То же самое, но служит для запуска DOS в X window.
- $HOME/.dosemu
- Локальный каталог на каждого пользователя DOSEMU. Создание каталога происходит молча, если он отсутствует.
- $HOME/.dosemu/tmp
- Создание всех временных файлов происходит здесь, /tmp больше не используется.
- /var/run/dosemu.*
- или
- $HOME/.dosemu/run
- Различные файлы, используемые DOSEMU, включая отладочные каналы.
- $HOME/dosemu/freedos
- Загрузочный каталог, содержащий FreeDos.
- dosemu.conf
- Основной настроечный файл для DOSEMU, включающийся в global.conf (global.conf включен в dosemu.bin по умолчанию).
- dosemu.users
- или
- /etc/dosemu/dosemu.users
- Для запускаемых бинарников с suid-root: определение прав доступа к DOSEMU на базисе каждого пользователя и установка некоторой необходимой конфигурации. Этот настроечный файл имеет только фиксированное расположение, DOSEMU вначале ищет dosemu.users и, если он не найден, обращается к /etc/dosemu/dosemu.users. Через ключевой параметр default_lib_dir= в файле dosemu.users системно расширяющий каталог DOSEMU_LIB_DIR может быть перемещен куда-нибудь. За более детальной информацией обращайтесь к /usr/share/doc/dosemu/README.txt
- /etc/dosemu/dos.ini
- Настроечный файл для IPX.
- /usr/share/doc/dosemu/DPR
- Команда разработчиков dosemu: кто и какую часть проекта DOSEMU ведет?
- doc/DANG.txt
- Помощь для изучения кода DOSEMU.
- /usr/share/doc/dosemu/README.*
- Различная документация.
- QuickStart
- Бытрая установка DOSEMU.
- ChangeLog
- Изменения в DOSEMU с момента последнего релиза.
- README.bindist
- Информация о том, как использовать готовый к работе пакет бинарников DOSEMU/FreeDos.
- README.distributors
- Информация для дистрибьютеров Linux о том, как паковать сборку DOSEMU, для расширения возможностей системы.
- Список рассылки MSDOS
- Для подробной информации пишите на адрес
СМОТРИ ТАКЖЕ
dosemu(1), mkfatimage16(1)2013-01-05 |