Помогите написать драйвер клавиатуры

Тема в разделе "WASM.ASSEMBLER", создана пользователем Axel Coon, 9 ноя 2004.

  1. Axel Coon

    Axel Coon New Member

    Публикаций:
    0
    Регистрация:
    9 ноя 2004
    Сообщения:
    7
    Для курсовой мне нужно написать драйвер клавиатуры под DOS, выполняющий полностью все функции стандартного драйвера. А что, вообще, он делает? Я думаю, описывает функции DOS(типа 0Ah и др.) для работы с клавиатурой, которые мне придётся написать самому с помощью портов ввода-вывода. Или я не прав? В принципе, я уже начал его писать, вот только что делать дальше не знаю, подскажите.

    [​IMG] _1964629256__KeyDrv.asm
     
  2. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    Почитай Зубкова, например.

    Вообшето в инете полно примеров.

    Примерно так это делается:

    1)забиваешь в памяти место

    2)копируешь туда обработчик

    3)Редактируешт IDT

    4) дальше в коде

    1обработчика читаешь коды клавишь через порты

    2посылаешь EIO контроллеру

    5)при необходимости для выхода, обнуляешь память, востонавливаешь IDT



    Если будуть срочные вопросы, можешь писать на аску ICQ : 220-078-640
     
  3. Axel Coon

    Axel Coon New Member

    Публикаций:
    0
    Регистрация:
    9 ноя 2004
    Сообщения:
    7


    У меня есть "Assembler для DOS, Windows и Unix", но там маловато - даже 15 страниц про драйвера нету. Может есть другие книжки, целеком посвящённые драйверам? Для Windows я видал такие, а для DOS нет.
     
  4. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    Смотри у Зубкова главу 5.8, 5.11 там есть примеры кода.

    Можешь ещё полистать tech60.
     
  5. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    Можно дизасемблить и помотреть стандартный DOS драйвер.
     
  6. krid24

    krid24 Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    88
    У Финогенова есть кой-чего на эту тему (в аттаче). Правда, не драйвер, а так - описание взаимодействия системы с клавой.

    [​IMG] 2139455631__rf51_53.zip
     
  7. LocTb

    LocTb New Member

    Публикаций:
    0
    Регистрация:
    11 окт 2004
    Сообщения:
    54
    ProgramMan

    3)Редактируешт IDT- DOS же, просто таблицу векторов прерываний, по DWORD'у на прерывание.
     
  8. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    LocTb, нда... бывает я уже давно под дос не писал
     
  9. Axel Coon

    Axel Coon New Member

    Публикаций:
    0
    Регистрация:
    9 ноя 2004
    Сообщения:
    7


    Спасибо за доку. Я от туда вот что вычитал:



    У меня есть драйвер консоли, может выкинуть из него всё что касается вывода и получится драйвер клавиатуры?
     
  10. techwriter

    techwriter New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2004
    Сообщения:
    15
    Адрес:
    Russia
    Что касается драйверов (именно драйверов! которые подключаются в config.sys через device=), то поищи в библиотеке или в инете вот это:

    ---------

    ББК 32.973.2-018

    Л92

    УДК 681.322-181.4

    Роберт Лэй

    Разработка драйверов устройств для MS-DOS

    Перевод с английского.

    Рязань: Versus Ltd. 1992 .

    ---------

    Здесь расписаны структура драйвера,компиляция,примеры и.т.д. и т.п. Очень полезная штука.

    В Досе драйвер CON - драйвер стандартного ввода вывода, совмещает драйвер клавы и дисплея.

    Так что тебе надо именно драйвер консоли писать(клав+дисп), который заменит при установке родной драйвер CON.



    А вообще по клавиатуре посмотри Джордейна.
     
  11. techwriter

    techwriter New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2004
    Сообщения:
    15
    Адрес:
    Russia
    Что касается драйверов (именно драйверов! которые подключаются в config.sys через device=), то поищи в библиотеке или в инете вот это:

    ---------

    ББК 32.973.2-018

    Л92

    УДК 681.322-181.4

    Роберт Лэй

    Разработка драйверов устройств для MS-DOS

    Перевод с английского.

    Рязань: Versus Ltd. 1992 .

    ---------

    Здесь расписаны структура драйвера,компиляция,примеры и.т.д. и т.п. Очень полезная штука.

    В Досе драйвер CON - драйвер стандартного ввода вывода, совмещает драйвер клавы и дисплея.

    Так что тебе надо именно драйвер консоли писать(клав+дисп), который заменит при установке родной драйвер CON.



    А вообще по клавиатуре посмотри Джордейна.



    [​IMG] _605358720__Sol03.zip
     
  12. techwriter

    techwriter New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2004
    Сообщения:
    15
    Адрес:
    Russia
    Книга Джордейна называется вроде "Справочник програмиста персонального компьютера" или что-то типа того
     
  13. Axel Coon

    Axel Coon New Member

    Публикаций:
    0
    Регистрация:
    9 ноя 2004
    Сообщения:
    7
    Книжку Лэя поискал - не нашёл, а вот за доку спасибо. Ничего более подробно описывающего работу обработчика девятого прерывания я не видал.
     
  14. deepstyle

    deepstyle New Member

    Публикаций:
    0
    Регистрация:
    8 ноя 2017
    Сообщения:
    1
  15. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
    Особенно это жестко смотрится под досбокс, который порты эмулирует абы как, пихает свой invalid opcode шлюз в обработчики интов, и с файлами лабораторной работы, сохраненными в docx и rar, .. 13 лет спустя начала топика.

    Извините за стеб, но .. увы. Лабы под дос на заказ, вкуснота! http://www.escolero.ru/shop/13/Programmirovanie_drajvera_ekrana/

    Где упомянутый Рис 40[1], на котором приведена логическая схема драйвера для CGA, не нашел.

    Или я шутку не понял, и это такой (c) 2017 элитный коммерс-спам?

    Deepstyle, добро пожаловать на Васм, так или иначе.
     
    Rockphorr нравится это.
  16. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.615
    Адрес:
    Russia
    Да, вкуснота, это как старые издания Фигурнова полистать - скрины древнейших программ и утилит ... ностальгия

    по топику пошел запах Лексикона :dance3::dance3::dance3::dance3::dance3::dance3: