Программирование KolibriOS

Гость

Участник
Сообщения
2
Реакции
0
Приветствую.

Хотелось вообще ответить в другой теме https://servahoc.ru/threads/ischu-programmista-kolibrios.5701 но там не получилось.
Заранее извиняюсь, если вдруг форум не тот, но хотелось пообщаться с конкретно тем человеком, ну и может ещё кому было бы интересно.
У меня есть опыт разработки приложений и библиотек под KolibriOS.
Конкретно с драйверами дела не имел, но в принципе это по сути та же программа, но для взаимодействия с каким-либо оборудованием.
В принципе это тоже не настолько сложно.
Вот к примеру драйвер COM мыши, наверное, один из простейших драйверов http://websvn.kolibrios.org/filedetails.php?repname=Kolibri+OS&path=/drivers/mouse/commouse.asm
между прочим, содержит исходный код товарища Кулакова, это который автор http://progbook.ru/assembler/1001-kulakov-programmirovanie-na-apparatnom-urovne-specialnyi-spravochnik.html
используются инструкции для ввода\вывода в порт in\out плюс функции, экспортируемые ядром, такие как
  • RegService
  • AttachIntHandler
  • ReservePortArea
  • Kmalloc
  • SysMsgBoard
  • SetMouseData
  • Sleep
Кроме того можно привести пример драйвера, работающего не с оборудованием, а эмулирующего это оборудование, имеется в виду драйвер
виртуальных tmp-дисков http://websvn.kolibrios.org/filedetails.php?repname=Kolibri+OS&path=/drivers/disk/tmpdisk.asm
очень хорошо документирован, надо заметить
А вот программа для управления(взаимодействия) http://websvn.kolibrios.org/filedetails.php?repname=Kolibri+OS&path=/programs/cmm/tmpdisk/t_gui.c

Простейший "скелет" драйвера под KolibriOS выглядит вот так http://websvn.kolibrios.org/filedetails.php?repname=Kolibri+OS&path=/drivers/sceletone.asm

На данном этапе вообще не понятно, что там за железка и что-то конкретное я не скажу.

Я думаю, надо попробовать спросить у таких людей как XProger, gtament, среди тех, кто участвовал в GSOC на KolibriOS форуме.
Они имели опыт разработки за деньги.

Вот, кстати, программа для управления драйвером от gtament Я думаю, понятно, что для более менее функциональных драйверов нужны приложения, с помощью которых можно как-то управлять, изменять работу драйвера.

В общем с моей стороны я мог бы сделать приложения для взаимодействия и управления драйвером.
А также тестирование(оборудование, драйвер, приложение), а уж оно очевидно, что понадобится.
Непонятно только, где брать это оборудование и как потом тестировать, если его ещё не существует?
Я считаю, что неплохо ориентируюсь в проекте и форуме KolibriOS(а именно там можно найти много ответов на вопросы).

У меня есть опыт разработки, например, таких программ(ищите темы на форуме KolibriOS):
  • COFF Dumper - вывод содержимого объектных файлов в формате MSCOFF
  • SPEDump - в данный момент драйвера в формате Stripped PE, программа выводит содержимое в консоль, а вот этот макрос(автор НЕ я) на FASM делает Stripped PE из обычного PE
  • PELoad(надо бы уже переименовать в WinLoad) - запуск и эмуляция простейших программ под Windows(например, Turbo Assembler запускался), на самом деле там много ещё надо делать
  • KEm - это эмулятор KolibriOS API из-под Windows.

Я больше использую MASM-совместимый ассемблер UASM И Pascal(конкретно Delphi 7, но можно и FreePascal).
Принимал участие(в основном тестирование и советы) в проекте http://codeziron.com/

Были ещё некоторые идеи:
Если кому интересно, то можно на том форуме и обсудить(ну или на этом).
Было бы здорово найти единомышленников.

Кстати, добавлю ещё про установку http://ms-sys.sourceforge.net/
This program is used to create Microsoft compatible boot records.
Нас интересуют следующие ключи:
  • -q, --fat32kos Write a FAT32 partition KolibriOS boot record to device
  • -k, --mbrkolibrios Write a KolibriOS MBR to device

Вообще только одним человеком лишь для написания драйвера ограничиваться нельзя.
Кто-то потом должен поддерживать этот код, если тот человек перестанет с Вами сотрудничать.
Кто-то должен вести документацию.
Кто-то заниматься тестированием.
Говоря проще, нужна целая команда, то есть, искать надо сразу несколько человек, готовых между собой взаимодействовать.
А со стороны заказчика нужно постоянно проверять, как идёт работа, иначе ничего не получится.
Ну, если Вы тоже имеете отношение к программированию, то нас уже двое, но это всё равно мало.
 

Гость

Участник
Сообщения
2
Реакции
0
Ну, в общем, если кому интересно, то, как оказалось, эта идея давно уже реализована.
И по моему мнению на изобретение там не тянет.
Но говорить, что это, не буду, так как обещал этого не делать.
И, кстати, KolibriOS там тоже мимо.
Ну, то есть, она может и подошла бы(да теоретически много чего подошло бы), но она только под x86.
 
Сверху