По накрутчику .
FAE7 - Рулящий регистр (с инверсными выходами). Раскладка бит -
D0 - Включает накрутчик
D1 - Разрешает считывание данных из регистра данных (значение интенсивности).
D2 - Разрешает установку адреса из регистра адреса (номер цветта) .
D3 - Запись в SRAM R
D4 - Запись в SRAM G
D5 - Запись в SRAM B (можно записывать сразу во все)
D6 - \_ Выбор палитры
D7 - /
FAEF - Регистр адреса (номер цветта) .
FAF7 - Регистр данных (интенсивность).
Спек128 - испанская выдумка, навязанная Сэру Клайву. © Shaos
REAL HARDWARE MUST LIVE ! - http://SBLive.narod.ru/ZX-Spectrum/
чё то как-то наворочено.
может сделать так:
FAE7 - регистр адреса, при записи адреса регистр данных уходит в режим R
FAEF - данные, R, G, B по очереди
типа так:
OUT (#FAE7), 0 : OUT (#FAEF), 0 : OUT (#FAEF), 0 : OUT (#FAEF), 0
OUT (#FAE7), 1 : OUT (#FAEF), 0 : OUT (#FAEF), 0 : OUT (#FAEF), 255
OUT (#FAE7), 1 : OUT (#FAEF), 255 : OUT (#FAEF), 0 : OUT (#FAEF), 0
чтение имхо не надо
--------------
хотя наверное включение/выключение тоже надо сделать. тогда заюзать 3 регистра
FAE7 - управляющий, едиснтвенный бит - 0 - включение
FAEF - адрес
FAF7 - данные, R, G, B по очереди
------------------
или если количество корпусов увеличится из-за "поочередной" записи R G B то предлагаю тупо упростить FAE7
0 - Включает накрутчик (при этом включается запись в порты FAEF и FAF7)
1 - D3 - Запись в SRAM R
2 - Запись в SRAM G
3 - Запись в SRAM B (можно записывать сразу во все)
а в оставшиеся биты можно повесить включение 256colors например
имхо конструкция избыточная, для реализации подобного устройства достаточно одного порта и одной ОЗУ.. ну и ещё немного подумать..
IMHO можно надумать просто заюзать Альтеру или Ксайлинкс в комплете с одной или двумя озухами со старых писёвых материнок( 10-15 нс) и повесить его на шину адреса проца. по сбросу оно просто принимает все то что тулится в стандартный экран в свое буферное озу и отображает его(при такой реализации можно вывод сделать и на VGA) плюс всякие изврат режимы как multicolor 16cpb 256cpb пускать сквозь окно в 16к верхнее( как раз 3 куска по 16к будут составлять спековский экран в 256 цветах а 4й кусок можно будет как буфер палитры юзать) единственно при включении окна надо память спека глушить а читать писать напрямую в память этой карты)
Black_Cat
на самом деле достаточно 2х бит.
однако вариант с 2мя портами наиболее удобен в плане программинга (кстати, именно так реализована палитра на PC VGA)
Добавлено через 2 минуты
очевидный плюс alco_16c и fan_256c в простое реализации - надо всего лишь одна-две микросхемы и чуть-чуть проводов.
с палитрой чуть посложнее, но всё равно проще и дешевле чем вешать альтеру.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
не надо много телодвижений, чтоб поменять нужную часть палитры.
кстати на писи после записи 3х значений в порт данных, автоматически инкрементируется регистр индекса.
чтоб поменять палитру с индекса 64 по индекс 128 мне достаточно сделать
это самое быстроработающее решение (и к тому же самое простое в программировании)Код:OUT (portA), 64 OUT (portB), r1 : OUT (portB), g1 : OUT (portB), b1 OUT (portB), r2 : OUT (portB), g2 : OUT (portB), b2 ... OUT (portB), r63 : OUT (portB), g63 : OUT (portB), b63
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)