основа тут менеджер памяти
который отключает доступ процессору(худший/простой случай) к основной памяти, в СPU0 -1, ( с градацией 8-16-24-32КБ) , т.е сами выбираем сколько у нас под видео память из младших 32K, видяхе "говорим", отображать VRAM1, она отключает VRAM0 от своих шин и включает в адресное пространство процессора. Все, процессор пишет/читает VRAM0, не трогая основную память, (ROM мы тоже отключили (BLK)).
Нарисовали, "говорим видяхе", сделать страницу VRAM0 отображаемой. та ОК, и включает для CPU VRAM1.
Самый интересный случай, когда 256x192 16 цветов 24КБ памяти, нужно место под графику.
хорошо, "говорим менеджеру" мы будем только читать из СPU0, "видяхе" мы будет только писать и включаем в СPU0 одну из 8 страниц расширенной памяти, куда уже загрузили графику, ну или наоборот
собственно сам менджер для понимания
Упс
16 бит шина, эта замечательно, но сколько ее должно быть и какая? sdram это pll значит - опять циклоп. без CPLD/FPGA тут делать нечего.
DRAM это "рефрешь" и 8-10 Mгц без ожидания GPU, ну fast page или edo чуть лучше и быстрее, все одно по строкам работать и меньше ног.
как хранилище для графики пойдет . из 2 sram 8 бит делаем одну 16 бит. получаем по 64КБ 2 VRAM- 320x240x256. и DRAM EDO для
графики и блитера.
мало?
Или берем циклоп 2-3 набиваем его до отказа sram 16 бит ? или SDRAM ?
У меня пока нет мыслей кроме ULA,как улучшить графику для ZX, достаточно простым и не дорогим решением.
отслеживать запись в видео озу ZX? делать "микс" из атрибутов и уже заготовленной в VRAM карты 16 бит "поллитре."?
да это идеальный вариант.
- - - Добавлено - - -
чет сам я уже запутался с ZX графикой, вообщем так, пока отложим сей щепетильный момент.