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

Помогите новичку
https://board.kolibrios.org/viewtopic.php?f=2&t=684
Page 64 of 76

Author:  punk_joker [ Sat Oct 04, 2014 3:14 am ]
Post subject:  Re: Помогите новичку

В общем есть необходимость прочитать таблицу разделов на жестком. То, что сначало необходимо определить устройство на PCI шине через 62 функцию и как это сделать понятно. А вот что делать потом?

Author:  Mario_r4 [ Sat Oct 04, 2014 6:06 pm ]
Post subject:  Re: Помогите новичку

punk_joker wrote:
В общем есть необходимость прочитать таблицу разделов на жестком. То, что сначало необходимо определить устройство на PCI шине через 62 функцию и как это сделать понятно. А вот что делать потом?

А потом нужно делать все то что делает код ядра. Это не совсем вопрос для новичка. Открой код ядра и начни разбираться. Однако в ядре код только для ATA контроллеров.
З.Ы. Не хотелось бы выглядеть невежливым, но пересказывать код словами занятие не совсем умное.
З.З.Ы. Кулаков В. "Программирование дисковых подсистем" тебе в помощь. Более толковой и разжеванной книги я еще не видел.

Author:  punk_joker [ Sat Nov 08, 2014 11:06 pm ]
Post subject:  Re: Помогите новичку

Вопросы носят чисто образовательный характер:
1. Для получения инфы о разделах, необходим низкоуровневый доступ к накопителям, что и делает ядро (или драйвер?). Так вот, Так вот, Редактору разделов например, необходимо все теже действия повторять или же в ядре необходима реализация некоторого функционала, который предоставлял подобный функционал этой программе?
2. Драйвер имеет доступ к API предоставляемому ядром приложению, или же у него отдельный набор функций взаимодействия с ним?

Author:  Mario_r4 [ Sun Nov 09, 2014 1:25 am ]
Post subject:  Re: Помогите новичку

punk_joker
1. Большинству программ не нужна такая функциональность в ядре, так что проще сделать функцию посекторного чтения/записи. Потому в больших ОС более сложный функционал реализован в программах и/или драйверах.
2. Вот тут нужно спрашивать у более компетентных товарищей, но вроде как драйвер может дополнять/подменять существующий API.

Author:  Serge [ Thu Nov 13, 2014 6:35 pm ]
Post subject:  Re: Помогите новичку

punk_joker
У драйверов дисковых устройств есть свой API, он описан здесь: http://websvn.kolibrios.org/filedetails ... rs_api.txt
Тебе надо пройти по списку дисков и найти нужный, после чего использовать функциии из DISKFUNC

Author:  derlafff [ Sat Nov 15, 2014 7:07 am ]
Post subject:  Re: Помогите новичку

Приветствую.

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

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

В mtdebug библиотеку не получилось подгрузить. У меня идеи кончились.

Author:  CleverMouse [ Mon Nov 17, 2014 8:30 pm ]
Post subject:  Re: Помогите новичку

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

Author:  punk_joker [ Thu Dec 04, 2014 1:19 am ]
Post subject: 

Вопрос для общего развития. Можно ли окну отправлять события мыши не зависимо от положения курсора? Или же например эмулировать действия мыши в отдельном окне (не активном) и продолжать при этом пользоваться системой в обычном режиме?

Author:  Mario_r4 [ Thu Dec 04, 2014 2:52 am ]
Post subject:  Re: Помогите новичку

punk_joker
Ты решил заново изобрести MOUSEMUL - эмуляция мыши?
Вообще окнам отправляются события мыши (Event 6), если принудительно не запрещать. через bit 31 ф.40.

Author:  punk_joker [ Thu Dec 04, 2014 3:15 am ]
Post subject: 

Ну MOUSEMUL простш переносит функционал мыш на клавиатуру. Мне же нужно эмулировать работу ыши и выполнять действия заданные в конфиге, желательно чтоб события отправлялись конкретному окну, которое может быть неактивным и вообще свернутым. При этом должна быть возможность продолжать работу с системой.

Author:  punk_joker [ Thu Dec 04, 2014 3:20 am ]
Post subject: 

Возможно сейчас это не реализуемо, потому и спрашиваю на будущее.

Author:  Mario_r4 [ Thu Dec 04, 2014 3:33 am ]
Post subject:  Re:

punk_joker wrote:
желательно чтоб события отправлялись конкретному окну, которое может быть неактивным и вообще свернутым

Вот этого я вообще не понимаю. Работа с координатами мыши имеет смысл только когда окно развернуто, когда оно свернуто, то оно имеет реально физические размеры 0 и 0. Его по факту нет для системы.

Author:  igevorse [ Sat Dec 20, 2014 9:01 pm ]
Post subject:  Re: Помогите новичку

Здравствуйте.
У меня есть несколько вопросов о создании консольных приложений на 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:
#define __stdcall __attribute__((stdcall))
#define _cdecl __attribute__((cdecl))
#define _stdcall __attribute__((stdcall))

Никакие дополнительные файлы подключать не нужно.

Author:  Wildwest [ Sat Dec 20, 2014 11:08 pm ]
Post subject:  Re: Помогите новичку

viewtopic.php?f=23&t=1623

по форуму есть поиск search.php , достаточно набрать в нём console.obj C ++

Author:  klb1 [ Tue Jan 27, 2015 1:11 pm ]
Post subject:  Re: Помогите новичку

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

Page 64 of 76 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/