Board.KolibriOS.org
http://board.kolibrios.org/

Koilbri box в Фантоме
http://board.kolibrios.org/viewtopic.php?f=7&t=1936
Страница 1 из 3

Автор:  some_man [ Пн сен 26, 2011 11:43 am ]
Заголовок сообщения:  Koilbri box в Фантоме

Всем привет! Блуждая в инете набрёл на ЭТО: http://dz.livejournal.com/675037.html#comments
Попытка сделать в Фантоме поддержку исполняемого формата и API Колибри. 8)
Ваше мнение? :)
(на картинке приложение Arcanoid (Kolibri OS), которое работает в ОС Фантом :roll: )

Вложения:
0_52c84_812df085_L.png
0_52c84_812df085_L.png [ 139.84 КБ | 5238 просмотров ]

Автор:  XVilka [ Пн сен 26, 2011 12:06 pm ]
Заголовок сообщения:  Re: Koilbri box в Фантоме

Это он после Chaos Constructions сделал :D

Автор:  SoUrcerer [ Пн сен 26, 2011 12:09 pm ]
Заголовок сообщения:  Re: Koilbri box в Фантоме

Уу, до полноценного запуска приложений Колибри еще далеко. Хотя есть KlbrInWin - в Windows более-менее работало когда-то. Видели мы и Miraculix. Арканоид использует далеко не все возможности API.
Предрекаю сложности с библиотеками и низкоуровневой работой, а так же infinity. А вообще прикольно, я не против - пусть себе Фантом запускает программы Колибри.

Автор:  XVilka [ Пн сен 26, 2011 12:34 pm ]
Заголовок сообщения:  Re: Koilbri box в Фантоме

Просит помощи:
Цитата:
есть вопросы по реализации. Если это читает кто-то из команды Колибри - отзовитесь, пожалуйста. Из документации не вполне ясна семантика некоторых полей заголовка исполняемого файла, и нигде не могу найти описания алгоритма (а лучше - кода на си) распаковки.

Автор:  SoUrcerer [ Пн сен 26, 2011 12:52 pm ]
Заголовок сообщения:  Re: Koilbri box в Фантоме

Пытался ответить, но у меня нет учетки на LJ, через другие сервисы комментировать lj не дает. Так что не судьба.

Автор:  art_zh [ Пн сен 26, 2011 1:51 pm ]
Заголовок сообщения:  Re: Koilbri box в Фантоме

Кинул ответ.
Все-таки человек все воскресенье посвятил Колибри - надо оценить :)
Другой вопрос - а нужен ли Фантом нам? Какие бонусы от симбиоза двух (прямо скажем) малоизвестных OCей?
Насчет того, что он собирается портировать Фантом на АРМ вместе с эмулятором API Колибри -- улыбнуло.

Автор:  dzavalishin [ Пн сен 26, 2011 3:31 pm ]
Заголовок сообщения:  Re: Koilbri box в Фантоме

Привет.

Вопросы и предложения:

1. загрузка приложения: можно ли проигнорировать адрес стека и сделать стек просто выше, чем конец данных? Каков объём буферов имени программы и командой строки? Что туда пишется? Значит ли что-то номер версии формата в заголовке программы? Где-то проскакивала информация о том, что один из указателей заголовка смотрит на иконку приложения. Верно ли? Какой? Что с форматом иконки?

2. видео через gs: - кто-то это реально использует, или фича неактуальна? (и почему 24-битный, а не aligned 32-bit цвет? - риторический вопрос)

3. думаю, полезно задокументировать фичу с отрицательными позициями окна (== отсчёт от правого края)

4. у функции считывания информации о треде есть в возвращаемой структуре третье поле, которое номер слота процесса, которому принадлежит окно номер ECX. Скажите мне, что это реально не используется? :)

5. Какую версию ядра мне лучше отдавать? Сейчас 0.7.7.0, так как я ориентируюсь на него.

6. Какой сетевой (tcp/ip) API реально надо эмулировать - тот, что в документации, или новый?

7. загружаемые драйвера я пока не трогал, не нашёл документации. где почитать?

8. Почему 12.1 (начать перерисовку) убивает баттоны? За что??! :) Где вообще почитать про логику работы графики - обязано ли приложение звать 12.1 и 12.2? Если нет - зачем они?

9. В чём считается загрузка CPU - каково максимальное значение (числа тиков)?

10. не хочет ли сообщество стандартизовать коды возврата и внедрить их во все вызовы? Ноль в EAX вернуть несложно...

Автор:  Serge [ Пн сен 26, 2011 4:04 pm ]
Заголовок сообщения:  Re: Koilbri box в Фантоме

1)256 байт для командной строки и 1024 для полного пути. I_ICON это путь к программе.
Номер формата имеет значение. Структуры заголовков есть в taskman.inc
2)24 - устаревшая документация, формат соответствует формату первичной поверхности.. Фича тоже устарела. Есть прямой доступ к видеопямяти по адресу LFB_BASE.

Автор:  dzavalishin [ Пн сен 26, 2011 4:13 pm ]
Заголовок сообщения:  Икона

Спасибо.
А формат icon?

Автор:  Serge [ Пн сен 26, 2011 4:21 pm ]
Заголовок сообщения:  Re: Koilbri box в Фантоме

Иконки на рабочем столе ? Они сами себя рисуют.

Автор:  Leency [ Пн сен 26, 2011 4:41 pm ]
Заголовок сообщения:  Re: Koilbri box в Фантоме

>>8. Почему 12.1 (начать перерисовку) убивает баттоны? За что??! Где вообще почитать про логику работы графики - обязано ли приложение звать 12.1 и 12.2? Если нет - зачем они?

Если нет 12.2 окно не будет отображаться. Обязательно 12.1 потом окно потом 12.2, потом может идти отрисовка всего чего угодно, или же 12.2 в конце. Пока что 12.1 и 12.2 условности и толку в них нет никакого - это на будущее когда оконная подсистема станет круче.

Автор:  SoUrcerer [ Пн сен 26, 2011 4:50 pm ]
Заголовок сообщения:  Re: Икона

dzavalishin писал(а):
Спасибо.
А формат icon?

I_ICON - фактически рабочая папка программы, как я понимаю.

Автор:  Serge [ Пн сен 26, 2011 5:34 pm ]
Заголовок сообщения:  Re: Koilbri box в Фантоме

I_ICON - argv[0], рабочий каталог задаётся другой функцией.

Автор:  dzavalishin [ Пн сен 26, 2011 5:39 pm ]
Заголовок сообщения:  Re: Koilbri box в Фантоме

Правильно ли я понимаю, что вызов 12.2 не обязателен? Я в настоящее время по нему делаю апдейт окна в видеопамять, но по факту часть программ его не зовут.

Опять же - действительно ли 12.1 убивает кнопки (8), и за что она это делает? В чём идея?

Автор:  SoUrcerer [ Пн сен 26, 2011 6:11 pm ]
Заголовок сообщения:  Re: Koilbri box в Фантоме

AFAIK 12.2 как раз-таки обязателен.
12.1 действительно убивает все кнопки.
Фантазии на тему "зачем":
Спойлер: Показать
В системе нет процедуры "изменить параметры кнопки". Создание множества кнопок с одним id приведет к фактическому созданию множества кнопок с одним id. Возможно, задумка автора (а я уверен, это еще со времент Menuet) была в том, чтобы быстро удалить все кнопки.
Другой вариант. Есть только окно (по сути канва, на которой можно рисовать и писать текст) и кнопки. Функция 12.1 очищает холст перед перерисовкой - вместе со всеми элементами. Соответственно все кнопки требуется перерисовать. Хрен его знает, в общем, зачем все сделано именно так.
Третий вариант. Изображение в окнах не кэшируется. Соответственно если окно ушло на задний план, а затем вышло на передний - его целиком нужно перерисовать, вместе с кнопками.

Страница 1 из 3 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/