
Сообщение от
valerium
А как ром-фаталл управляет страницами ПЗУ ? То есть вот он запустился из 0000-3fff, себя куда-то там наверх развернул, дальше (видимо) хочет включить в нижние 16к бейсик 48 - и что нам ему для этого нужно дать ?
Mick проделал большую работу по дизасемблированию кода, можно поспрашивать у него: https://zx-pk.ru/threads/7238-fatall...l=1#post890293 .

Сообщение от
valerium
wire [7:0] zc_data = {7'b0000000, ~sd_cd}; //+
Не понял, зачем инвертировать? sd_cd - сигнал наличия sd карты. Когда карта вставлена, этот сигнал физически замыкается на землю и становится 0.
По документации на ZC:
Код:
Порт конфигурации 77h
На запись:
bit 0 – питание SD-карты (0 – выключено, 1 -
включено)
bit 1 – управление сигналом CS
bit 2..7 – не используются
На чтение:
bit 0 – если 0 – SD-карта установлена, 1 – SD-карта
отсутствует
bit 1 - если 1 – то на карте включен режим Read
only, если 0 – режим Read only не включен
bit 2..7 – не используются.
Т.е. инвертировать не надо.

Сообщение от
valerium
При каждом обращении процессора к порту 57h (или EBh для divmmc) spi_cnt выставляется в 1110 и на каждый такт ck7 увеличивается на 1, пока не достигнет значения 1000 (тогда его деактивирует spi_cnt_en). По логике ZC тут должно формироваться 8 тактов spi clock для чтения байта из карты, я насчитываю 10 (F,0,1,2,3,4,5,6,7,8 - стоп).... Как это работает ?
Можно долго голову ломать, лучше для начала посмотреть в тестбенче 


Сообщение от
valerium
И тут еще есть cpuwait,видимо он для того, чтоб добавлять вейтовые такты процессору на операцию ввод-вывода (но я тоже не нашел, где). Этого нет в revA - может в этом разница ?
Это нужно только для 14МГц