Поиск драйвера с открытым кодом

Тема в разделе "WASM.BEGINNERS", создана пользователем jora, 3 фев 2008.

  1. jora

    jora New Member

    Публикаций:
    0
    Регистрация:
    3 фев 2008
    Сообщения:
    9
    Добрый день, задали найти драйвер для любого внешнего устройства ПК в виде команд асемблера, в нете нашел только для динамиков. можете помочь с поиском?
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    А для какой ОС то? Драйвера клавы вроде в DDK есть например
     
  3. jora

    jora New Member

    Публикаций:
    0
    Регистрация:
    3 фев 2008
    Сообщения:
    9
    Windows, дело в том что драйвера на мышь, клаву и динамики уже заняты(
     
  4. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    jora
    Для коврика мышки не пойдет?
     
  5. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    TermoSINteZ
    мой первый дравер был для подставки на принтер :)
    ты сбрось, а то человек еще подумает, что стебуцо над ним :)
     
  6. jora

    jora New Member

    Публикаций:
    0
    Регистрация:
    3 фев 2008
    Сообщения:
    9
    нет, тоже занят )
    еще варианты есть?
    я так и подумал, правда причина не ясна, наверное что-то не то ляпнул
     
  7. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    jora
    Устройство, для которого пишется драйвер может быть любым
    Не обязательно реально существующим

    Драйвер для коврика мышки на самом деле принципиально ничем не отличается
    от того же драйвера для самой мышки.

    Написание драйвера для коврика мышки рассматривается тут, в статьях. Ты внимательнее ищи
    FOUR-F написал прекрасный цикл статей
     
  8. jora

    jora New Member

    Публикаций:
    0
    Регистрация:
    3 фев 2008
    Сообщения:
    9
    Magnum
    Представляю глаза училки когда буду ей обьяснять, что писал курсач по драйверу для коврика о_О
    Мне желательно драйвер для существующего устройства.

    Нашел цикл статей "Драйверы режима ядра" автора FOUR-F, но это не совсем то, да и самих драйверов я там не увидел(
     
  9. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    jora
    Плохо искал.
    Там есть целая статья http://www.wasm.ru/article.php?article=drvw2k05

    А так для сущствующиего - ну скачай например с сайта нвидии дрова.
    думаешь для коврика нет дров? ты ошибаешься .
     
  10. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    собери сам что-нибудь. например встрой в ковер светодиоды, и напиши драйвер управляющий ими.
     
  11. jora

    jora New Member

    Публикаций:
    0
    Регистрация:
    3 фев 2008
    Сообщения:
    9
    n0name
    не особо хочется "изобретать колесо"
    мне бы готовое

    TermoSINteZ
    на сайте нвидии они с открытым кодом идут?
     
  12. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    jora
    под винду - врятли, а линь\фря - должны быть опен.
     
  13. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    там собирать дело 5 минут. берется LPT порт, как простой интерфейс для параллельной передачи бит, берутся штук 5 светодиодов, подсоединяются к LPT порту, например, к битам двунаправленной передачи (регистр DATA). пишется драйвер, который создает девайс типа \Device\Kovrik.
    Единственный тип IRP, что он будет обрабатывать (помимо create/close), это будет, допустим, IRP_MJ_DEVICE_CONTROL, через который можно будет устанавливать состояние отдельных светодиодов. Если нужно включить, допустим, 3й светодиод, нужно лишь установить соответствующий бит в регистре DATA, подключенном к определенному порту ввода-вывода сситемы. Если мне не изменяет память, кажется, это порт 888. Соответственно, можно описать функцию, вызываемую из обработчика IRP_MJ_DEVICE_CONTROL:
    Код (Text):
    1. VOID SetLed(UCHAR nLed, LOGICAL state)
    2. {
    3.   __asm {
    4.     mov cl, state
    5.     mov al, nLed
    6.     shl al, cl
    7.  
    8.     mov dx, 888
    9.     in ah,dx
    10.     or ah, al
    11.     out dx,ah
    12.   }
    13. }
    Ну примерно так.
     
  14. agent007

    agent007 New Member

    Публикаций:
    0
    Регистрация:
    3 фев 2007
    Сообщения:
    166
    offtop: не понимаю такие учебные заведения, в которых задают курсовые непонятно по какой теме, и учеников которые потом не понимая вообще про что речь идет пытаются это реализовать...
     
  15. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    agent007
    разве не так рождается творческое мышление? ;)
     
  16. jora

    jora New Member

    Публикаций:
    0
    Регистрация:
    3 фев 2008
    Сообщения:
    9
    agent007
    чесно говоря я тоже этого не понимаю, как сказала нам училка "вы не политех, так что пойдем по ускоренному курсу" и мы пол года изучали lea и mov

    реализовывать нам ничего не надо(уровень не наш), надо принести текст драйвера внешнего устройства и обьяснить построково что там происходит

    Magnum
    так, но только в том случае если есть на это время, а если нет, то - финансовая помощь кафедре

    Great
    класс, завтра спрошу подойдет ли училке такое