Помогите новичку

Applications development, KoOS API questions
  • punk_joker wrote:В общем есть необходимость прочитать таблицу разделов на жестком. То, что сначало необходимо определить устройство на PCI шине через 62 функцию и как это сделать понятно. А вот что делать потом?
    А потом нужно делать все то что делает код ядра. Это не совсем вопрос для новичка. Открой код ядра и начни разбираться. Однако в ядре код только для ATA контроллеров.
    З.Ы. Не хотелось бы выглядеть невежливым, но пересказывать код словами занятие не совсем умное.
    З.З.Ы. Кулаков В. "Программирование дисковых подсистем" тебе в помощь. Более толковой и разжеванной книги я еще не видел.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Вопросы носят чисто образовательный характер:
    1. Для получения инфы о разделах, необходим низкоуровневый доступ к накопителям, что и делает ядро (или драйвер?). Так вот, Так вот, Редактору разделов например, необходимо все теже действия повторять или же в ядре необходима реализация некоторого функционала, который предоставлял подобный функционал этой программе?
    2. Драйвер имеет доступ к API предоставляемому ядром приложению, или же у него отдельный набор функций взаимодействия с ним?
    to infinity and beyond
  • punk_joker
    1. Большинству программ не нужна такая функциональность в ядре, так что проще сделать функцию посекторного чтения/записи. Потому в больших ОС более сложный функционал реализован в программах и/или драйверах.
    2. Вот тут нужно спрашивать у более компетентных товарищей, но вроде как драйвер может дополнять/подменять существующий API.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • punk_joker
    У драйверов дисковых устройств есть свой API, он описан здесь: http://websvn.kolibrios.org/filedetails ... rs_api.txt
    Тебе надо пройти по списку дисков и найти нужный, после чего использовать функциии из DISKFUNC
  • Приветствую.

    Пытаюсь использовать libimg из сишечки. Вроде бы все получается, да вот беда: закралась ошибка где-то при получении адреса функции, судя по возникновению ошибки "неподдерживаемая инструкция" при вызове функции.

    Вопрос: как мне это отладить, т.е. как мне извлечь из libimg реальный адрес, на который я должен прыгать?

    В mtdebug библиотеку не получилось подгрузить. У меня идеи кончились.
  • Зачем загружать библиотеку в mtdbg? В отладчик нужно загружать программу, её использующую. mtdbg должен подхватить отладочные символы из map-файла, создаваемого при компиляции.
    Сделаем мир лучше!
  • Вопрос для общего развития. Можно ли окну отправлять события мыши не зависимо от положения курсора? Или же например эмулировать действия мыши в отдельном окне (не активном) и продолжать при этом пользоваться системой в обычном режиме?
    to infinity and beyond
  • punk_joker
    Ты решил заново изобрести MOUSEMUL - эмуляция мыши?
    Вообще окнам отправляются события мыши (Event 6), если принудительно не запрещать. через bit 31 ф.40.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Ну MOUSEMUL простш переносит функционал мыш на клавиатуру. Мне же нужно эмулировать работу ыши и выполнять действия заданные в конфиге, желательно чтоб события отправлялись конкретному окну, которое может быть неактивным и вообще свернутым. При этом должна быть возможность продолжать работу с системой.
    to infinity and beyond
  • Возможно сейчас это не реализуемо, потому и спрашиваю на будущее.
    to infinity and beyond
  • punk_joker wrote:желательно чтоб события отправлялись конкретному окну, которое может быть неактивным и вообще свернутым
    Вот этого я вообще не понимаю. Работа с координатами мыши имеет смысл только когда окно развернуто, когда оно свернуто, то оно имеет реально физические размеры 0 и 0. Его по факту нет для системы.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Здравствуйте.
    У меня есть несколько вопросов о создании консольных приложений на C++ в KolibriOS:

    Кратко: Мне необходимы эти функции из console.obj, либо их аналоги, если они есть. Каким образом можно их использовать, что подключить и где взять сам console.obj?

    Upd:
    Сам же и отвечу:
    Функции загружаются из console.obj динамически, сам файл располагается здесь: /sys/lib/console.obj
    Пример загрузки на Asm: /programs/develop/libraries/console/examples/
    Примеры загрузки на C: /programs/system/shell/system/console.c
    Для компиляции кода на C++ (GCC) добавить макросы:

    Code: Select all

    #define __stdcall __attribute__((stdcall))
    #define _cdecl __attribute__((cdecl))
    #define _stdcall __attribute__((stdcall))
    Никакие дополнительные файлы подключать не нужно.
    Last edited by igevorse on Wed Dec 31, 2014 2:13 am, edited 3 times in total.
  • viewtopic.php?f=23&t=1623

    по форуму есть поиск search.php , достаточно набрать в нём console.obj C ++
  • Здравствуйте. Вот решился зарегистрироваться и спросит не подскажете-ли как задействовать работу портов?
    У меня с трудом через долгие перезапуски открывается ОС "ХР". Какой-то мертвый синий экран не позволяет войти и, на сколько я уже информирован, это действие BSOD с которым возился и ничего не добился. Но ХР все-же открываю и решил установить ОС "Колибри". Шустрая KolibriOS и проблем как будто никаких кроме одного. Почему нет в этой системе портов. Нет дисковода. Нет установки под USB.
    Может забыл программы какие установить? Я вообще-то пенсионого возраста и возраст сказывается на трудности в этих компьютерах, но вот как-то бьюсь и чего-то добиваюсь. Интернет не проблема. Программирование на бейсике старых компиляторв тоже не проблема, а ассемблер - это такие дебри, где надо и в голове большую компьютерную память. а и она во мне как решето. Надеюсь что подскажеть и пусть хоть не понятно, но что-то-же усвою на пользу.
  • Who is online

    Users browsing this forum: No registered users and 5 guests