поддежка мыши

Тема в разделе "WASM.ASSEMBLER", создана пользователем rpy3uH, 16 апр 2007.

  1. rpy3uH

    rpy3uH New Member

    Публикаций:
    0
    Регистрация:
    14 сен 2006
    Сообщения:
    503
    парни как можно написать небольшой драйвер PS/2 мыши для самопальной ОС,
    мне бы знать какое прерывание обрабатывать и где параметры брать
    может ссылочки какие нибудь, или какой нибудь кусок из исходного кода какой нибудь ОС
     
  2. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    естественно в исходниках линукса, это первое что приходит на ум
     
  3. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Кулаков
     
  4. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    набери в поисковике "мышь и как с нею бороться"
     
  5. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    IO Port=60h, IRQ=12
    Протокл и команды описаны где угодно.
    Вот например: http://www.computer-engineering.org/ps2mouse/
    Если никогда раньше низкоуровневым программированием не занимался, то лучше всего Кулаков "Программирование на аппаратном уровне".
    Там всё на русском и с примерами.
    Угу, но для изучения ИМХО далеко не лучшее...
    Уж больно там всё на иксы завязано.
    И найдёш инфу про COM мышь, а никак не PS/2 ;)
     
  6. sergh

    sergh New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    128
    Адрес:
    rsdn
    Могу ошибаться... Мне казалось, что после каких-то несложных настроек мудрый биос мапит PS/2 и USB мыши на COM-порт.

    Для клавиатуры это проверено - моя USB-клавиатура отлично работает в DOS, который и слов то таких не знает. С мышкой не пробовал.
     
  7. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    sergh
    PS/2 оно и есть PS/2 и никто с ним ничего не делает, т.к. это давно стандарт. УПШ-мыши и клавиатуры не встречал (у себя) поэтому ничего конкретного сказать не могу, но сомневаюсь, что идёт аппаратное перенаправление, во всяком случае клавиатуры. Скорее всего просто такой обработчик int9.
    ЗЫ УПШ - универсальная последовательная шина :derisive:
     
  8. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    USB мыши давно де-факто для гамеров и владельцев ноутов ;)
     
  9. rpy3uH

    rpy3uH New Member

    Публикаций:
    0
    Регистрация:
    14 сен 2006
    Сообщения:
    503
    она на С++ написана, я даже не представляю как можно на с++ обрабатывать прерырвания, в любом случае придётся использовать ассемблерные вставки
     
  10. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Эмулируются только USB клавиатуры и мыши -> перенаправляются на PS/2.
    И поддержка этой возможности реализована аппаратно.
    А программную часть эмуляции реализует SMI обработчик BIOS.
    А какая разница, можно и на С, и совсем без ассемблера.

    Код (Text):
    1. void interrupt irq_handler(void)
    2.  {
    3.    int data;
    4.    data=inportb(0x60);
    5.    // Тут обрабатываем...
    6.  }
    Ну и установка/получение вектора setvect()/getvect().
    Так что нет ничего невозможного :)
     
  11. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    __declspec(naked) не забудь ;)
     
  12. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    в GCC?
     
  13. rpy3uH

    rpy3uH New Member

    Публикаций:
    0
    Регистрация:
    14 сен 2006
    Сообщения:
    503
    ну теперь я знаю как это делается на с++, я раньше думал как они это делают на с++????.....
    всё таки может кто знает где можно скачать исходник какого нибудь драйвера для PS/2 мыши.
     
  14. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    если мне не приснилось то у У.Они должен быть пример драйвера мыши, по крайней
    мере он его упоминает в книге, значит на диске к книге должОн быть :)
     
  15. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    http://cutemouse.sourceforge.net/
    Не могу правда сказать что исходники хорошо читаются...
    Ещё есть книга Кулаков "Программирование на аппаратном уровне".
    Издательство "Питер". С ихнего сайта можно скачать архив со всеми исходниками к книге.
    Там не полноценный драйвер - т.е. он не висит резидентом.
    Просто программа которая рисует курсор мыши и его перемещает когда ты мышь двигаеш.
    После выхода поддержки мыши нет.
    Зато написано очень понятно.
    А вот и ссылка :)
    http://www.foto.piter.com/bugs/5-94723-487-4/Disk1_v2.rar