User Tag List

Показано с 1 по 6 из 6

Тема: Генерация матрицы клавиатуры

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    02.03.2005
    Адрес
    Екатеринбург
    Сообщений
    133
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Генерация матрицы клавиатуры

    Занимался я как-то (года 4 назад) созданием контроллера PS/2 клавиатуры на базе второго спека ;-). Контроллер был без-wait-овый за счет чтения кода клавиши основным спеком прямо из памяти спека-контроллера (да,я, наверное, извращенец ). Следовательно, стояла задача генерации 256-байтной таблицы клавиатуры. Т.е., 0й байт - то что основной спек получит при чтении из порта #00FE, 1й - #01FE... И т.д..
    Если кто не знает, каждый байт в этой таблице рассчитывается как AND тех рядов клавиатуры, номера которых в номере данного байта нулевые.
    Т.е значение ячейки с номером #D6= %11010110 равняется ANDу 0го,3го и 5го рядов клавиатуры. Значение последней ячейки - порта #FFFE, есс-но = #FF

    Так вот, предлагаю (в качестве этюда, чтоли), написать процедуру для рассчета такой таблицы. Естесственно хочется, чтобы процедура была как можно быстрее. Входные данные - 8 байт (ряды клавы, имеют значения только 5 младших бит, но это вроде как побоку), выход - 256 байт. Больше ограничений - никаких.

    P.S. Помнится у меня получился результат около 7000 тактов. Сегодняшние раздумия позволяют вроде как бы сократить это число до ~4500 тактов (хотя я точно считал и вообще не проверял свои мысли).

    Дерзайте,ежели кому интересно :-)
    Последний раз редактировалось AlexCrush; 21.01.2007 в 00:12.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Генерация лабиринтов
    от TomCaT в разделе Программирование
    Ответов: 90
    Последнее: 26.06.2012, 10:59
  2. Корпуса и клавиатуры
    от Sonic в разделе Устройства ввода
    Ответов: 110
    Последнее: 07.10.2010, 22:27
  3. Контроллер клавиатуры для Скорпиона
    от Nikolaj Amosov (500:812/02.26) в разделе Scorpion
    Ответов: 1
    Последнее: 15.11.2005, 23:05
  4. Процедура опроса клавиатуры
    от Aprisobal в разделе Программирование
    Ответов: 8
    Последнее: 19.02.2005, 18:12

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •