dz (dz) wrote,
dz
dz

Category:

Koilbri box в Фантоме - проект выходного дня

Решил на выходных попробовать сделать в Фантоме поддержку исполняемого формата и API Колибри.

Если коротко - около 4 часов работы до запуска первого приложения:

Приложение Kolibri (Arcanoid) работает в ОС Фантом
«Приложение Kolibri (Arcanoid) работает в ОС Фантом» на Яндекс.Фотках

В сумме часов 6 потрачено, хочется, чтобы заработали и системные приложения Колибри тоже, но пока - не весь API реализован, так что много чего не работает.

Что получилось:

- грузим несжатые исполняемые файлы Колибри. При этом реально они могут вызывать оба API - основной (POSIX) и int 40 (Kolibri). На сдачу под Фантомом можно запускать Колибри-elf-ы. :)

(совсем на сдачу по окончании переноса ядра на арм получится армовский Колибри:)

- работает весь графический вывод (кроме режимов инверсии и некоторых мелочей), часть сервиса.
- написан файловый API, но пока не протестирован.

- вряд ли будут сделаны функции Колибри, которые лезут в порты и аппаратуру - хотя с uid == 0 - можно и их разрешить. (Поскольку процессы Колибри по сути - позиксные процессы, у них есть uid/gid/euid/etc...)

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

Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 24 comments