ZX-Spectrum на рассыпухе: Статическая память
Как уже писал ранее в конструкции планирую использовать статическое озу, для этого была куплена мс AS6C4008 (512K X 8 BIT LOW POWER CMOS SRAM) даташит здесь
заявленная скорость этой мс озу 55 нс...
прикидываю времянки спектрума исходя из частоты кварца в 14 мгц:
1\14 000 000 = 71 нс
то есть даже организовав доступ к памяти со скоростью на которой работает тактовый генератор - получаем запас в 15-16 нс... так что об ограничениях скорости работы с памятью пока можно не думать..
идем дальше,
в отечественных клонах спектрума применяется динамическая память с мультиплексированной шиной адреса, то есть адрес передается в два приема, и это нужно делать не быстрее 120+60 =180 нс, таким образом мс 565ру5 (7) работают в очень жестком режиме предоставляя данные то микропроцессору то видеоконтроллеру и именно от этого жесткого лимита времени и времянок я и желаю уйти.
для этого попробую реализовать работу с памятью на частоте 7 мгц (142 мкс)
при этом, в зависимости от лог. уровня тактового сигнала процессора (3,5 мгц) с памятью будет работать либо процессор либо периферия (видеоконтроллер, блок дма и т.д.)
сигнально планирую делать следующее распределение времени для работы с озу
при чтении данных видеоконтроллером или микропроцессором из озу они будут сохраняться в регистр на базе 555ИР22 и потом при приходе тактового сигнала вывода - эти данные будут записываться в сдвиговый регистр (555ИР9) для байта пикселей и выводится в видеосигнал, так же как и у всех отечественных клонов - вывод пикселов будет задержан на 4 такта PIXCLK - за это время мы читаем следующий байт изображения и атрибутов в буферы..
Одновременно есть думы о нестандартном для zx-spectrum'a графическом режиме чтобы получить полноэкранный вариант изображения с 64 символами в строке (для дальнейшей возможности работы в CP\M), там и будет задействован блок ДМА для ускорения вывода символов на экран, скроллинга экрана и так далее... по моим планам имея 384 точки изображения по горизонтали можно будет выводить более менее нормально читаемые символы шириной в 6 точек - эту функцию (прорисовку символа по заданным координатам на экране) и будет выполнять блок ДМА (вообще он конечно сможет выполнять и другие операции, эта одна из списка)
Ну и при желании можно будет формировать цветовую палитру для стандартных цветов размещая ее в основном озу (а его будет 512 кб) с чтением при выводе из основного озу (у нас еще свободны 2 слота обращения к озу (см. диаграмму выше))
публикация будет дополняться
Комментарии
Трекбэков
Всего трекбэков 0
Ссылка трекбэка: