Немножко оффтопик вопрос. В процессе написания прошивки для Z-Controller наткнулся на интересную вещь. Мне как новичку совсем не понятно как сделано чтение из порта 77h в контроллере. В инструкции написано, что при чтении из порта он генерирует последовательность из 8-и тактовых импульсов и последовательно заполняет 8-и битный регистр данными, полученными от SD карты. Но при этом процессор уже получает данные из регистра на шину данных. Как это вообще возможно? Сигнал WAIT там не используется. Я сначала подумал, что посылается 2 команды чтения и актуальные данные приходят только на второй вызов, но посмотрев код драйвера совсем запутался. Там одна команда чтения и данные уже есть в регистре.
...
Как выяснилось, оказывается, скорости работы с картой такие, что данные успевают прийти без какой-либо синхронизации. Прикрутил SD карту от DivGMX к своей прошивке Z-Controller-а. Для теста пробовал частоту CLK 8мгц уменьшать в 2 раза, вот тут уже данные не успевают заполнять регистр порта.