пообщался с многоуважаемым Vinxru. Поведал мне автор о секретах, например об обязательном контроле адреса массива rom (по файлу .map) с тем, что прописано в asm-секции. У меня почему-то смещение 0x300, посему .EQU ROM должно быть 3 вместо 1. Либо надо было крутить размер стека таким образом, чтобы переменная rom начала находиться по адресу 0x100.
После этих манипуляций эмуляция ПЗУ завелась! Ура
Но данные не совсем соотетствуют тому, что находится в файле boot.rk.
В файле: 0E 00 CD 69 00 C3 17 00
Я получаю: 0E 00 8D 79 00 83 07 00
Уже курил на тему подтяжки MISO, длины шлейфа, допаял на карточку дополнительный конденсатор, понизил скорость SPI - ничего не помогает.
При этом если запускать несколько раз R0,100, потом смотреть D0,100 - данные с одними и теми же ошибками. Посему можно сделать вывод, что при чтении с карточки они попадают во внутренний буфер уже поломанными.





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