Цитата Сообщение от zst Посмотреть сообщение
. По номеру байта в пакете складывать их в соответствующие переменные (не массив), например, A8_KEY_LINE - A15_KEY_LINE. Тут скорость особая не нужна.
Тут дело не только в скорости .
Со стороны keypad'а ничего не упаковывать . Keypad полученные данные с клавиатуры , джойстика и т.д -
передает по UART пакетом , где например первые ( и не обязательно) 5 (или сколько там строк у клавы) уже вычисленные состояния нажатых клавиш. Последующие байты состояние мыши/джойстика.
Со стороны модуля в спекки - DMA укладывает принятый пакет от UART побайтно в массив KEY_BUFFER [] ...

---------- Post added at 21:00 ---------- Previous post was at 20:55 ----------

Цитата Сообщение от zst Посмотреть сообщение
Лучше прерывания по сигналу IN_FE (IN_K&K). В этот момент Z80 читает состояние клавиатуры. И байт адреса нужно обрабатывать целиком.
Еще проще, но тогда не универсально - сей сигнал есть у всех спекки ?

Цитата Сообщение от zst
Для максимальной скорости лучше эту единственную команду в подпрограмме прерывания написать на ассемблере.
Чувствуется , что Вас кто то направляет. Асм то накуа ?????????

Цитата Сообщение от zst
Возможно лучше использовать не массив, а адреса в ОЗУ.
А вот это вообще не понимаю . Массив и так будет в RAM...