Важная информация
RSS лента

ВитГо

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 мгц) с памятью будет работать либо процессор либо периферия (видеоконтроллер, блок дма и т.д.)

сигнально планирую делать следующее распределение времени для работы с озу
Нажмите на изображение для увеличения. 

Название:	времянка работа с озу.jpg 
Просмотров:	128 
Размер:	22.2 Кб 
ID:	79193

при чтении данных видеоконтроллером или микропроцессором из озу они будут сохраняться в регистр на базе 555ИР22 и потом при приходе тактового сигнала вывода - эти данные будут записываться в сдвиговый регистр (555ИР9) для байта пикселей и выводится в видеосигнал, так же как и у всех отечественных клонов - вывод пикселов будет задержан на 4 такта PIXCLK - за это время мы читаем следующий байт изображения и атрибутов в буферы..

Одновременно есть думы о нестандартном для zx-spectrum'a графическом режиме чтобы получить полноэкранный вариант изображения с 64 символами в строке (для дальнейшей возможности работы в CP\M), там и будет задействован блок ДМА для ускорения вывода символов на экран, скроллинга экрана и так далее... по моим планам имея 384 точки изображения по горизонтали можно будет выводить более менее нормально читаемые символы шириной в 6 точек - эту функцию (прорисовку символа по заданным координатам на экране) и будет выполнять блок ДМА (вообще он конечно сможет выполнять и другие операции, эта одна из списка)
Ну и при желании можно будет формировать цветовую палитру для стандартных цветов размещая ее в основном озу (а его будет 512 кб) с чтением при выводе из основного озу (у нас еще свободны 2 слота обращения к озу (см. диаграмму выше))



публикация будет дополняться

Обновлено 15.07.2023 в 13:56 ВитГо

Категории
Без категории

Комментарии

  1. Аватар для UncleDim
    Цитата Сообщение от ВитГо
    имея 384 точки изображения по горизонтали
    С каким пиксельклоком планируется это дело? 7МГц мало, 14 - Много.. 10.5 - опять огромный бордюр...
  2. Аватар для ВитГо
    Цитата Сообщение от UncleDim
    С каким пиксельклоком планируется это дело? 7МГц мало, 14 - Много.. 10.5 - опять огромный бордюр...
    8 мгц...
    бордер минимальный
  3. Аватар для reddie
    14мгц нормальный пиксельклок, если не к CRT-телевизору подключаться, а к монитору: при cтандартном спектрумовском 7, пикселы огромные просто. Вдвое Уже читабельны как и "широкие". То бишь получим 512 пикселей в ширине старых 256, а если захватить область пошире, например, 320 стандартных - будет уже 640, что дает 80 символов по байту (8 пикселов), отличный вариант.
    Обновлено 15.07.2023 в 15:10 reddie
  4. Аватар для UncleDim
    Отличный вариант предполагает перелопачивание счетчиков
  5. Аватар для ВитГо
    Цитата Сообщение от reddie
    14мгц нормальный пиксельклок, если не к CRT-телевизору подключаться, а к монитору: при cтандартном спектрумовском 7, пикселы огромные просто. Вдвое Уже читабельны как и "широкие". То бишь получим 512 пикселей в ширине старых 256, а если захватить область пошире, например, 320 стандартных - будет уже 640, что дает 80 символов по байту (8 пикселов), отличный вариант.
    ну это если только к монитору :-(
    у телевизоров по горизонтали насколько я помню в аккурат 400 точек гарантировалось (у ЭЛТ)..
    да и дофига это - 512 пикселей :-(

    без бордера можно получить что нить типа 384 на 256 (или 288) видимую область... и больше нафиг не надо...

    тем более что либо делать отображение только 6 бит в изображение (а 2 бита не выводить, а переходить к отображению следующего байта), либо делать рваную память строк (по типу 48 байт это изображение по 8 точек с байта, и дальше 16 байт просто пропадают)... в принципе не сильно страшна потеря при большом объеме оперативки, но иначе усложнится генерация адреса строки для генерации видео...

    если убрать стандартный бордер то даже на стандартном пиксельклоке мы получим 384 точки, но вот что при этом покажет телевизор - большой вопрос - может и обрезать нафиг края :-( хотя надо пробовать...
  6. Аватар для ВитГо
    Цитата Сообщение от UncleDim
    Отличный вариант предполагает перелопачивание счетчиков
    ну если делать какой то адаптивный вариант - то да, перелопачивать придется конкретно (особенно счетчик строк)..
    а если не пожалеть новые корпуса (а имхо это много проще) - то новые счетчики и новые мультиплексоры адресов просто сделать... помню еще на отечественных пк8000 графика была слева направо, сверху вниз по адресам знакомест... и тоже было в общем то удобно программировать - младшие 3 бита адреса задавали номер строки символа...

    Потом есть о чем подумать, сначала хочу базу сделать... а там видеорежимы можно попробовать полепить разные, причем можно будет попробовать и на стандартном счетчике позиции в строке делать (просто корректируя H5 в схеме генерации адреса и используя в качестве девятого бита адреса в строке тот же -BC)

    а вот генератор адресов строк скорее всего придется менять.. там пересчет идет не очень удобный для коррекции :-( хотя... там 2 бита адреса строки править: V3 и V6, тоже не смертельно....
    Обновлено 15.07.2023 в 18:39 ВитГо
  7. Аватар для UncleDim
    Цитата Сообщение от ВитГо
    на стандартном пиксельклоке
    55 мкс - края обрежет 100%
  8. Аватар для ВитГо
    Цитата Сообщение от UncleDim
    55 мкс - края обрежет 100%
    угу, потому и нужен пиксельклок хотя бы в 8 мгц...
  9. Аватар для UncleDim
    Я на 8.86 остановился (тож ваяю "нечто", на новодельной плате от профика 3.2)
  10. Аватар для reddie
    Цитата Сообщение от ВитГо
    что при этом покажет телевизор - большой вопрос
    "обычный телевизор" обрежет края. недаром же в АТМ или где там реализован режим с 304 что ли пикселами в строке
  11. Аватар для UncleDim
    В АТМ 320(640), на 200. На грани, ЭЛТ тоже имеют право уголки подрезать при этом

Трекбэков