Воскресенье, 28.04.2024, 00:08
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Меню сайта
Форма входа
Категории раздела
Технические статьи по WineDOS [2]
Всё, что касается установки, настройки, сброки WineDOS.
Прочее [0]
Поиск
Наш опрос
Вам понравился продукт WineDOS?
Всего ответов: 30
Мини-чат
Помоги проекту
Если у Вас есть лишняя копейка, перечислите её на R236237000489 или Z271900088612. Буду очень благодарен!

Если у Вас нет лишних денег, то Вы всё равно можете помочь:
Хочешь помочь? Кликай, вводи код, а мы выплатим проекту бонус!
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Wine под DOS
Главная » Статьи » Технические статьи по WineDOS

Особенности запуска Win32 программ под WineDOS
Общие особенности запуска Win32 программ
Эмуляция Win32 API довольно неплохая, особенно для консольных приложений. Однако есть некоторые важные моменты. Так, "окна" - главное нововведение Windows - представляют собой прямоугольники на сером фоне, внутри которых работает программа. Никакого заголовка, никаких кнопок "Свернуть", "Развернуть", "Закрыть". Выход из программы осуществляется (чаще всего) по Ctrl-C или Ctrl-Break (если программа не имеет своих горячих клавиш для выхода). Если программа требует импорты, не реализованные в WineDOS, DPMILD отказывается запускать программу. Вы можете установить переменную среды DPMILDR=128, но это обычно не даёт нужного эффекта. Если нерешённый импорт будет вызван, программа завершится. К тому же, замечен баг (???): приложения, у которых нет нереализованных точек входа, не запускаются (Unresolved import called). Так что предпочтительнее всего написать в соответствующую тему на форуме с просьбой реализовать нужную функцию. Правда, чаще всего эта функция будет заглушкой (dummy). Также Вы можете использовать PE loader, но учтите, что он запустит далеко не каждую программу.
Запуск DOSBox
Запуск DOSBox, начиная с версии 0.65, не представляет особых проблем. Просто запустите файл DOSBox.exe. Правда, конфигурацию Вам придётся настраивать в уже запущенном DOSBox, т.к. единственная используемая функция из библиотеки shell32.dll, SHGetSpecialFolderPath, реализована лишь в виде заглушки. Версия 0.50 не запускается (Would be nice if I could get a surface), но она и мало для чего пригодна (разве что посмотреть).
Запуск Far
Это одна из самых полезных программ под DOS. Версии 1.00, 1.61, 1.75 были успешно протестированы в работе под WineDOS 0.11 bugfix. Правда, в каждой версии существуют свои незначительные ограничения.

Far 1.00Far 1.61Far 1.75
Просто старая версия.
Не содержит такого же набора
плагинов.
Довольно 
новая версия, но ограничения тоже
есть.
Самая новая 
версия, которая запустилась.
При выходе текущая директория не сохраняется, а меняется на ту, что была в другой панели.<<<<<<Такого бага нет
Такого бага нетТакого бага нетНекоторые команды в командной строке распознаются как 'Bad command or file name'.

Общие ограничения: некоторые плагины, возможно, работать не будут
После запуска более новых версий запуск старых версий может быть невозможен. При возникновении проблем для запуска старых версий удалите файл DOS из рабочей директории WineDOS. Это файл реестра. Проблема в том, что из-за недостаточной реализации работы с реестром все версии воспринимают ключи, созданные другими версиями, как свои. Совместимость "снизу вверх" имеется, а "сверху вниз" - не всегда. В результате система виснет.
Запуск Qemu
Qemu - высокоскоростной кроссплатформенный эмулятор PC, с открытым исходным кодом. Версии Qemu 0.7, 0.8, 0.9 (для Windows) были успешно заявлены на совместимость с HX-DOS. Но тут всё не так просто. С hxldr32.exe запустился лишь Qemu 0.7. 0.8 писал "Could not open SDL display", 0.9 вылетал с необработанным исключением. Для запуска Qemu 0.7 (найти тяжело, можете спросить у меня) лучше не использовать опцию -full-screen. В остальном, эта версия вполне неплохо работает. Также, не заявлена, но работает (под WineDOS 0.13) версия 0.12.
Запускать Qemu 0.8, 0.9, 0.12 можно только через DPMILD32.EXE с опцией -g (например: dpmild32.exe -g qemu.exe -L . -m 128 -hda linux.img)
Ограничения: нет сети (???).
Запуск OpenGL программ
В WineDOS реализованы основные функции библиотеки DCIMAN32.DLL. DCI=Device Context Interface. Эти функции обеспечиваются прямой доступ к памяти, что позволяет выполняться простым OpenGL программам. WineDOS поддерживает библиотеку opengl32.dll только от Windows 9x (95, 98, ME). Если Ваша программа использует распространённые функции, то, скорей всего, она запустится под WineDOS. Функции DCIMAN32.DLL нигде не документированы (даже в Wine 1.5.0 реализовано всего 3 из ~20), поэтому вероятность появления поддержки более поздних версий OpenGL низка. Sad but true.
Запуск GUI программ
Как неоднократно писалось во многих местах, поддержка высокоуровневой графики находится в рудиментарном состоянии. С низкоуровневой графикой дела обстоят лучше, но ограничения всё есть. Меню есть в виде заглушек. Так как кнопки - по сути, те же окна, то кнопок вы, скорей всего, не увидите. Поэтому запустятся лишь некоторые простейшие программы, например, HDEdit - простой дисковый редактор
Категория: Технические статьи по WineDOS | Добавил: Уран-235 (27.04.2012)
Просмотров: 1513 | Рейтинг: 1.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Создать бесплатный сайт с uCozCopyright WineDos.uCoz.ru © 2024