Конечно можно избавиться, поле деятельности для творчества огромна. На этом форуме предлагалось масса вариантов тюнингования РК-86.
Вы взяли слишком навороченую мамку. Если попробовать дизасемблировать код биоса начальной загрузки платы, когда программируются конкретные контроллеры, то можно найти кусок кода, где проц подбирает параметры к контроллеру клавиатуры (задержки, таблицу кодировок сканкодов и т.д.) Чем новей материнка, тем большее количество настроек контроллеров 8042 хранится в её биосе. Вот почему то команды выбора таблицы кодировок сканкодов (основная и 2 альтернативных) не описаны ни в одном даташите, как и параметры временных задержек опроса регистров 8042.
Ведь 8042, по суте своей, однокристальная МЭВМ 8048 и всё общение её с внешним миром происходит через параллельный порт. И этот порт материнка должна настроить под себя (вернее она должна настроиться под параметры этого конкретного порта МЭВМ 8048). Вот этих танцев с бубном и ни где найти не возможно, кроме как дизассемблировать биос материнки.
Это самый простой контроллер 8042, который не нуждается в настройках. Просто дал команду сброс и он сам у себя всё выставил по умолчанию. Потом дал команду зажечь NUMLOCK. Читаю сначала буфер статуса и смотрю за флагом заполнения буфера. Как буфер полон, так читаю скан код. Никаких прерываний в компике не используется, иначе бы это был уже не РК клон.
Вообще с работой 8042 много тонкостей, от частоты кварцев 8042 и 8085 зависят задержки опроса регистров статуса, команды, данных.





Ответить с цитированием