Page 3 of 4

Re: Перенос WinAPI в KolibriOS

Posted: Wed Jan 30, 2008 8:03 pm
by Leency
Я догадывался :)
Хорошо, а сколько таких програм, написанных на чистом ВинАпи? Уже можно какие-то из них портировать?

P.S. Я сам не программист, а дизайнер, но иногда бывает нечего делать. Так что скоро увидите ;)

Re: Перенос WinAPI в KolibriOS

Posted: Thu Jan 31, 2008 5:05 pm
by SHREDER
Да вообще-то все виндовые программы юзают только Win API все MFC, ATL и т.д. это банально враперы над Win API. Только что можно будет портировать без реализации COM (и всех его наворотов типа ActiveX(OLE2) и т.д.)?
В ядре нет помоему даже rpc и как перенести COM?

Вообще лучше подумать хотя бы о поддержке POSIX дабы перенести программы из UNIX из разряда простейших хотябы.

Ну хотя если человеку хочется то пусть делает, хуже от этого не будет.

Re: Перенос WinAPI в KolibriOS

Posted: Sat Mar 15, 2008 9:01 pm
by Sheleh
Отличная идея, только чет я немного не понял твоей мысли. зачем все переписывать?
ИМХО:
1. Для начала нужно просто написать качественный загрузчик WinPE файлов, т.е. прогу, которая бы обрабатывала таблицы импорта и экспорта exe и dll-файлов - берем файл, читаем заголовок, выделяем функции импорта, ищем библиотеки с нужными функциями (но уже экспорта!), грузим в память эти библиотеки по пути перенаправляя адреса их функций на какие-нибудь еще библиотеки, если надо, потом грузим код нашего pe-файла, перенапрявляя адреса функций на уже загруженные перед этим библиотеки. Но это в двух словах, на деле там хренова туча ньюансов!
2. Для начала весь API переписывать не надо, только основные функции ядра, думаю после этого начнутся загружаться и библиотеки самой виндовс. Если нельзя майкросовтовские - пожалуйста, есть библиотеки ReactOS с открытым кодом.
3. Реализация Win GUI API на основе API Kolibri. Либо использование родного GUI, но мне кажется первый вариант предпочтительнее =)

Вообще я целиком всеми руками за этот проект, и более того, эта мысль меня терзает уже давно, я сам определенно намерен этим заниматься, но есть одно но, никогда не писал на асме или на си. ) (но есть опыт делфи и php)))).

PS Где взять описание внутреннего устройства ядра колибри и принципов реализации многозадачности. Есть что-нибудь в научно-популярном стиле? ))

Re: Перенос WinAPI в KolibriOS

Posted: Sat Mar 15, 2008 9:20 pm
by Leency
Есть FreePascal, научится Си несложно.
А лучший док по ядру - это каменты в нём :)

Re: Перенос WinAPI в KolibriOS

Posted: Sat Jun 14, 2008 8:55 pm
by barsuk
Мне удалось пофиксить работу всех не работавших функций (CreateDirectorty, DeleteFile).
Однако даже с набором функций, указанных в list.txt, не запустится даже виндовский блокнот... писать еще очень и очень много.

Re: Перенос WinAPI в KolibriOS

Posted: Tue Jun 17, 2008 4:26 pm
by SHREDER
В общем P.S.
На всем известный Wine со дня старта и по версию 1.0 ушло 10 лет и это с ядром и кучей библиотек котрые в принципе не хуже от Win32 по функциональности. И то ничего сложнее WinRar и блокнота без танцев с бубном запустить не получается. В общем идея в принципе сложно реализуемая на данном ядре.

Re: Перенос WinAPI в KolibriOS

Posted: Tue Jun 17, 2008 9:16 pm
by Albom
Я знаю про Wine. Работа грандиозная (35 метров исходников), а результат пока не очень впечатляющий. Но приведу другой пример. DosWin32 - пакет эмуляции Win32-подсистемы в ОС DOS. Программа шароварная и с закрытыми исходниками, возможности приличные. Запускается rar, far и другие консольные приложения Винды. Ведь по статистике в консольных приложениях используется всего 100-200 API функций, реализовать которые вполне реально. Кроме того в DosWin32 есть механизм плагинов - можно самостоятельно реализовать недостающие функции.

Re: Перенос WinAPI в KolibriOS

Posted: Mon Jul 28, 2008 7:53 pm
by rabid rabbit
По-моему, эта затея с переносом хороша только для изучения API Колибри самим автором в процессе написания этого самого "емулятора винды" ;)

Re: Перенос WinAPI в KolibriOS

Posted: Wed May 08, 2013 12:20 am
by GerdtR
Albom, у Вас есть более новая версия WinAll, чем та, что уже выложена? Скиньте, пожалуйста.

Re: Перенос WinAPI в KolibriOS

Posted: Wed May 08, 2013 7:28 am
by Albom
GerdtR
Более новой версии нет. Последняя - за 18 января 2008 года (во вложении).
Сейчас бы я по-другому реализовывал эти функции... Используя предыдущие наработки (kolibri.c из shell) и применяя gcc вместо MSVC. Основная идея - заставить компилироваться (а потом и запускаться) хотя бы одну виндовую (консольную) программу.
Кстати, можно "на ты".

Re: Перенос WinAPI в KolibriOS

Posted: Thu May 09, 2013 2:58 am
by GerdtR
Моя идея несколько сложнее: заставить работать хотя бы несколько вин-прог в Колибри. А что бы использовать труды из Wine нужно как минимум переписать ntdll, kernel32, и добруя часть user32. Вот меня и интересует сия разработка.
Мало) Хочу ещё)

Re: Перенос WinAPI в KolibriOS

Posted: Thu May 09, 2013 3:32 am
by Mario_r4
Намного более реалистично портировать wine. Функции WinAPI несколько сложнее, чем функции Колибри.

Re: Перенос WinAPI в KolibriOS

Posted: Thu May 09, 2013 7:29 am
by Albom
GerdtR
Какие конкретно проги тебя интересуют?

Re: Перенос WinAPI в KolibriOS

Posted: Thu May 09, 2013 10:05 am
by Kopa
Mario_r4 wrote:Намного более реалистично портировать wine. Функции WinAPI несколько сложнее, чем функции Колибри.
Загрузчик PE также есть в HX DOS Extender (c исходниками и список испытанных приложений хороший) и в других "местах" (ReactOS)
А поддержку или подгрузку необходимых функций win DLL ( WinApi) "достаточно" выполнить минимальную, как например в ещё и doswin32
или запускать существующие решения в рамках DOS BOX

P.S. Получится запустить, "достаточно" много windows приложений помимо консольных и FAR.
Разве никто это ещё не "испытал" в рамках колибри? (хотя с выводами, наверное поторопился)

Re: Перенос WinAPI в KolibriOS

Posted: Thu May 09, 2013 12:57 pm
by Mario_r4
Kopa wrote:Разве никто это ещё не "испытал" в рамках колибри? (хотя с выводами, наверное поторопился)
Насколько мне известно - нет.