Meanwhile, получилось загрузить пару вещей с SD-карты. Старый эмулятор я сразу стал немного переделывать: взял другое ядро 6502 и клок поднял до 24МГц. Наверное зря, потому что переделки оказались более значительными, чем я ожидал. Внезапно, когда уже начал работать дисковод, я столкнулся с неожиданной проблемой. Оказалось, что при выполнении кода непосредственно из кваза, временные интервалы на чтение имеют значительный разброс с отклонениями в короткую сторону и мой механизм доступа к SDRAM оказался слишком неповоротливым. Не запускался даже mdos20 для чистого кваза без флопа.
Получилось потеснить немного выделение адреса чтения и сократить время формирования запроса к SDRAM на один такт. mdos20 загрузилась и на вид хорошо работает. Увы, другие зависящие от этой особенности программы хоть и стали подавать больше признаков жизни, не работают. Black Ice стал запускаться, например, но рассыпается прямо на глазах.
Что делать пока не знаю. Где-то надо найти еще буквально 1 такт. Момент защелкивания CAS я подбирал по полклока, вряд ли его можно сильно сместить. SDRAM ускорить с 96 до 120 МГц теоретически возможно, но практически может оказаться неподъёмно. Ускорить на некратную частоту может оказаться еще тяжелее. Вот так странно выходит: времени вагон, а байтик прочитать некогда.
В любом случае это интересный аспект работы квазидиска, который оказался совершенно не учтен тестами:
Тест квазидиска http://sensi.org/scalar/ware/619/
Тест квазидиска http://sensi.org/scalar/ware/620/
Тест устройств http://sensi.org/scalar/ware/621/
Тест квазидиска «Дожж» http://sensi.org/scalar/ware/803/
Все говорят, что все прекрасно. Оно и понятно, в случае обычного DRAM такие проблемы просто не возникали.




Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 

