Сейчас частота работы карты:
- с шиной ZX - 112 Мгц. То есть чтение/запись идёт с такой частотой, а не постоянно. Как-то это работает, хотя есть сомнения в стабильности. По-моему на Эве надёжнее всего работает на частоте процессора 7 Мгц.
- с памятью sdram - 84 Мгц. Память динамическая sdram на 32 Мб. MT48LC32M8A2 должна тянуть по-моему до 133 Мгц.
- hdmi - 25.2 Мгц.
Внутренней памяти vram в чипе ep4ce10e22c8n всего 423936/8=52992 байт.
В прошивке есть виртуальный процессор Z80 на частоте 40 Мгц. Он используется для отрисовки меню OSD.
Для отрисовки стандартного экрана ZX карта мониторит шину компьютера. Считывает все записи в память страниц 5, 7 и копирует во внутреннюю память чипа, виртуальную двухпортовую микросхему vram размером 16 кб. По 8 кб на каждый экран.
И одновременно выводит по hdmi содержимое этой памяти.
Также карта следит за записью в порты #7ffd, #fe.
Моя идея в том, что карта подменяет ПЗУ компьютера на свою память sdram. Таким образом можно пользоваться областью 0000-3fff как видеопамятью, по специальным портам переключать страницы.
Планировал сделать разрешение 256*192*256 цветов. То есть три страницы по 16384 байт = 49152 байт.
Но работу с sdram я не осилил. Оказалось, в режиме случайного чтения она тратит на каждый байт целых 7 тактов на своей частоте. А это слишком медленно для отрисовки каждой строки изображения.
Как я ни бился, изображение дрожало, байты читались не стабильно.
Когда сделал во внутренней памяти промежуточный буфер для одной строки в 256 байт, стало получше. Но конец строки всё равно "дребезжал".
Мне посоветовали работать с sdram по-другому, читать сразу несколько байт. Но не понятно как увязать это с чтением этой же памяти со стороны компьютера.
Так что я переделал проект на работу только с внутренней памятью vram. Она успевает читать/писать за один такт.




Scorpion ZS 256 Turbo+/GMX 2MB/SMUC v1.3 OP/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Kbrd & Mouse Ctrl v2.5/Universal PS/2 Kbrd Ctrl/ZX WiFi
Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
