Нет спора - на 2313 очень хорошее решение. Но наверное можно слегка улучшить
быстродействие. Посмотрел прошивку: по прерыванию проверяются все биты адреса по одному. Это 2 такта на бит итого 16.
Допустим у нас есть 256 байт RAM (Mega 8 etc.) Заранее пропишем ответ во все 256
адресов. Тогда по прерыванию вытаскиваем ответ и отдаем. Похоже что и SREG можно не сохранять. Так что можно и без WAIT вписаться, наверное.
Кажется мега48 шустрая.
IN R26, PORT_ADDR
LD tmp, X+
OUT PORT_DATA, tmp
PORT_DATA может быть отдельным, чтобы вход/вых не переключать.
Может даже
OUT DDRX, tmp
изображая открытый коллектор? Или 6-й бит переключает буффер.




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