Цитата:
У меня чтение работало нестабильно при 3,5 мгц с процессора (badapple.tap, которым я тестирую стабильность, часто сбоил в случайном месте), я попробовал поиграть с внешним генератором. И перепробовал кучу кварцев, в общем в частотах от 3,6864мгц и до 20мгц (выше свободного кварца не было, но думаю, что предел бы не был достигнут) карта читалась прекрасно и сбоев чтения не было. Так что тактировать чтение SD лучше частотой, _выше_ процессорной (видимо потому что на 16 битовых сдвигов по spi в esxdos выделена "пауза" в 16 NOP-ов, правда по какой причине их иногда может не хватать, я не разобрался).
16 NOPов - это 64 такта 3.5МГц. даже с учетом тормознутости SPI порта в оригинальном DIVMMC - это 32 битовых сдвига. тут скорее дело в другом - для чтения секторов используется команда INIR, и вот там следующий байт должен успеть задвинуться в регистр до следующего сигнала /RD. думаю узкое место здесь, но такты считать лениво. я просто подал туда 14МГц.