Цитата Сообщение от Error404 Посмотреть сообщение
А вот это ровно 3 команды на ассемблере: считать сканкод (в контроллере на Атмеге измение сканкода на порте вводе генерит прерывание), из готовой таблицы (той самой что постоянно актуализируется на шагах 1-2) используя скан код как индекс прочитать ответ, выдать этот ответ на порт.
Все остальное время обрабатывать дисплей.

Контроллер по моей ссылке тоже обрабатывает клавиатуру (там же не только видеокарта, но полный терминал), при этом на частоте в 25МГц ему хватает времени еще и на VGA с полной эмуляцией VT100/52. Исходники на git есть по ссылке в статье.
Ээээ... Мы про разные вещи говорим, видимо...
У меня одна из целей - одновременная реакция на 6 нажатых кнопок (максимум пакета данных). А это уже требует выставления битовых масок и прочего.
Да, согласен - это очень легко оптимизируется. Но я ещё только-только получил рабочую версию. Завтра займусь в том числе и потимизациями.
И да - как я говорил выше, сейчас почти всё время отжирает отрисовка экрана, про "прожорливость" других пунктов ничего не было сказано. Пока что отрисока одного экрана (полностью, попиксельно, на каждый пиксель по пачке команд - установка координат, цвет пикселя) занимает около 400мс... Код не мой, поставлялся вместе с библиотекой uc/GUI - подделие сумеречной китайско-индусской мысли.