Способы увеличения скорости:
1. Если не пробовали, сделать вывод заранее рассчитанного значения из массива:
На C:
PORT_KEY_DATA = BUFFER [PORT_KEY_ADDRESS]
На ассемблере:
IN R28, PORT_KEY_ADDRESS ; загрузка адреса клавиатуры в младший байт регистра Y
LD TMP, Y ; чтение байта из буфера/таблицы по адресу Y
OUT PORT_KEY_DATA, TMP ; запись байта в порт данных клавиатуры.
2. Сделать схему на самом дешевом арме, 8 регистрах и 20 двойных диодах - очень быстрая схема и контрольная сумма
3. Сделать схему без микроконтроллера и контрольной суммы на 8 регистрах и 20 двойных диодах. 3 входных сигнала вместо одного RX - - очень быстрая схема, но нет контрольной суммы пакета
4. Сделать схему без микроконтроллера на ПЛИС, включая протокол типа UART - очень быстрая схема и контрольная сумма, но неполноценный UART
5. Сделать на ATMЕГЕ c частотой 20 МГц, у которой есть два свободных порта, и RX на третьем. Писать на ассемблере. Трудно найти подходящий МК по доступной цене.
В контроллере клавиатуры Феникса скорее всего есть wait-ы, в KEYB&SINC нет wait-oв.


Ответить с цитированием
ZXM-Phoenix 1024+PROF ROM+SMUC+VGA
ATARI 800XL+SIO2PC+SIO2SD
