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

Discussion in 'WASM.ASSEMBLER' started by rpy3uH, Apr 16, 2007.

  1. rpy3uH

    rpy3uH New Member

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

    Asterix New Member

    Blog Posts:
    0
    Joined:
    Feb 25, 2003
    Messages:
    3,576
    естественно в исходниках линукса, это первое что приходит на ум
     
  3. n0name

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
    Кулаков
     
  4. Vov4ick

    Vov4ick Владимир

    Blog Posts:
    0
    Joined:
    Oct 8, 2006
    Messages:
    581
    Location:
    МО
    набери в поисковике "мышь и как с нею бороться"
     
  5. cppasm

    cppasm New Member

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

    sergh New Member

    Blog Posts:
    0
    Joined:
    Aug 31, 2005
    Messages:
    128
    Location:
    rsdn
    Могу ошибаться... Мне казалось, что после каких-то несложных настроек мудрый биос мапит PS/2 и USB мыши на COM-порт.

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

    Vov4ick Владимир

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

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
    USB мыши давно де-факто для гамеров и владельцев ноутов ;)
     
  9. rpy3uH

    rpy3uH New Member

    Blog Posts:
    0
    Joined:
    Sep 14, 2006
    Messages:
    503
    она на С++ написана, я даже не представляю как можно на с++ обрабатывать прерырвания, в любом случае придётся использовать ассемблерные вставки
     
  10. cppasm

    cppasm New Member

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

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

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
    __declspec(naked) не забудь ;)
     
  12. censored

    censored New Member

    Blog Posts:
    0
    Joined:
    Jul 5, 2005
    Messages:
    1,615
    Location:
    деревня "Анонимные Прокси"
    в GCC?
     
  13. rpy3uH

    rpy3uH New Member

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

    Asterix New Member

    Blog Posts:
    0
    Joined:
    Feb 25, 2003
    Messages:
    3,576
    если мне не приснилось то у У.Они должен быть пример драйвера мыши, по крайней
    мере он его упоминает в книге, значит на диске к книге должОн быть :)
     
  15. cppasm

    cppasm New Member

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