фух, слава богуИначе пришлось бы делать опциональный переворот матрицы в зависимости от назначения порта А - сейчас выход вычисляется как построчный OR для сочетания "строка матрицы" и "скан-код". Такое решение максимально быстрое и позволяет опрашивать любое число столбцов сразу. Только реализацию надо чуть ускорить - пока что сделал немного "в лоб" и при неудачном стечении обстоятельств может не успеть среагировать.
Глянул в справочник:
- OUT r, (C) - 12 T-States
- IN A, X - 11 T-States
- LD (bc), a - 7 T-States
- LD a, (de) - 7 T-States
- LD r, (hl) - 7 T-States
Таки да, надо будет ужимать по времени максимально. Подумаю над этим вопросом завтра
- - - Добавлено - - -
Просто в эмуляторе видел раскладку питерскую, где сканоды гнались в порт А, а выход читался из В и части С.





Иначе пришлось бы делать опциональный переворот матрицы в зависимости от назначения порта А - сейчас выход вычисляется как построчный OR для сочетания "строка матрицы" и "скан-код". Такое решение максимально быстрое и позволяет опрашивать любое число столбцов сразу. Только реализацию надо чуть ускорить - пока что сделал немного "в лоб" и при неудачном стечении обстоятельств может не успеть среагировать.
"Байт-48"
Ответить с цитированием