Порт wine

Projects yet to be implemented in working code
  • если у вас есть желание научить колибри запускать вин-приложения, думаю стоит попробовать научить само ядро, с вайна потребуются только либы. процесс будет не совсем легкий, но получите опыт.
    хотя я больше придерживаюсь, что если нужно что-то с винды, то лучше портировать, тем самым поможете проекту с софтом.
  • Нафиг ядро? viewtopic.php?f=9&t=2318
  • SoUrcerer wrote:Нафиг ядро? viewtopic.php?f=9&t=2318
    а приложения, которым требуется псевдо виндовый реестр как будут работать?
  • Кто мешает сделать это в user-mode? В любом случае библиотеки используются. Это может быть что-то вроде ARWINSS, только не ARWINSS :)
  • Ядро(точнее драйвер) нужен только затем, что бы выделить память в любом месте виртуального пространства. А остальное элементарно сооружается в user-mode. А реестр - это файлы. И вин-проги обращаются к нему через функции вин-библиотек. Т.е. даже не обязательно соблюдать вин-формат файлов реестра(хотя желательно:) ).
    PS: Не предсталяю как можно портировать автодиагностические программы, если не то что исходники, но просто дизассемблировать их - работа иногда очень сложая. По крайней мере у меня ни умений, ни желания нет)
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • Вот выкладываю свои старания. Пока библиотеки мягко говоря не развиты. Работает MesageBox(и Юникод тоже). ExitProcess вылетает:( User умел создавать окно, кнопки и обрабатывать элементарные события, но после переделки разучился :D. Но это пока. Вот. Ядро этой программы(назвал Victoria, надеюсь претензий не будет:) ) умеет грузить проги и библиотеки PE. Также в ней находятся некоторые общие функции для библиотек(менеджер памяти, конвертор кодировок...). Компиляция несколько сложновата. Приходится преобразовывать отладочную инфу для Victoria в инклудник(это можно сделать с помощью DbgToOffsTabl). Этот инклудник нужен библиотекам, иначе они просто не смогут пользоватся функциями ядра проги. Вот. Для работы этой проги нужно скопировать драйвер vicdrv.obj в /sys/drivers. И для этого драйвера нужно, что бы ядро экспортировало функцию user_alloc_at. В архив я положил модифицированное ядро. Так что к ядерщикам просьба: добавьте, пожалуйста. Затем надо в Victoria.ini прописать путь до папки /dlls(в ней лежат псевдоWin-библиотеки). Ну и тогда можно запускать вин-проги: victoria /hd0/1/proga.exe . Если прога досовая(точнее не PE), то она будет запущена в dosbox(путь до него содержиться Victoria.ini). Единственная фишка в пути: он не должен содержать ".exe " (последний пробел. Если его нет, то работать будет нормально). Ну в общем сие творение чего-то полезного пока не запускала, но, надеюсь, всё будет. Пока пару пробных прог есть в архиве в tests (прога micronw.exe выводит HelloWorld на доску отладки, testdll тоже, просто у неё чуть сложнее загрузка импортируемых библиотек).
    Attachments
    Victoria.zip (259.72 KiB)
    Downloaded 397 times
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • Who is online

    Users browsing this forum: No registered users and 4 guests