Приветики!
Руслан вбросил очень интересную схему программирования ЗГ через ВГ75. Разобраться в ней самостоятельно у меня мозгов не хватило, поэтому я собрал и протестировал свой вариант, максимально простой и понятный конкретно мне
Алгоритм Аликберова заключается в том, чтобы программировать ЗГ через сам ВГ75. И это логично, ведь там уже есть все необходимые для адресации сигналы.
Сигнал LA в ВГ75 можно генерировать в программно задаваемой линии символа. Из него можно формировать сигнал записи в ОЗУ, сдвинув его на следующий символ. Данные для записи можно брать тоже с ВГ75, только их надо перед записью сохранить в промежуточном буфере. Выходы CC0-CC6 ВГ75 используются как шина данных, и как шина адреса. Таким образом, можно сформировать экран с символами, который сам будет программировать знакогенератор через ВГ75. Алгоритм заливки шрифта получается такой:
1. Запоминаем выходы CC0-CC6 ВГ75 (данные) в промежуточный буфер.
2. Устанавливаем линию символа, которую хотим изменить.
3. По сигналу LA записываем содержимое буфера в ОЗУ ЗГ, пропустив одно знакоместо (адрес).
На экране это выглядит, как последовательность из трех байт: байт данных, 0xC0 (LA1), байт адреса.
Я паять не очень люблю (например, схему от уважаемого Alex_LG мне вообще не осилить), поэтому старался сделать схему максимально простой - если я смог спаять, значит и другие смогут. Триггеры формируют из сигнала LA1 сигнал записи в РУ10. Транзисторы гасят импульсы записи в ИР23. Линия записи идёт из ИР23 в РУ10 для того, чтобы сигнал записи не появлялся раньше данных. Плата втыкается вместо ПЗУ шрифта.
Тайминги:
Макетная плата в процессе:
Макетная плата на месте:
Код для заливки шрифта - не оптимальный, можно ещё цикл прикрутить, да и вообще есть место для манёвров.
Видео арканоида с кастомным шрифтом: https://disk.yandex.ru/i/UqMon8XEcWSf_g
Скрин игры Клад со схемой расцветки, которая пока не заслуживает внимания:
В ходе отладки схемы выяснилось, что из РУ10 можно успевать читать цвет. Получается RGB цвет для фона, RGB цвет для пикселей в линии символа, бит яркости для фона, бит яркости для пикселей. Эту схему только начинаю реализовывать, пока нечем похвастать.
Огромное спасибо Руслану, что поделился идеей! Над схемой и всем процессом заливки шрифта надо ещё сильно поработать. Но я уверен, что такой простой заливатор шрифтов должен быть во всех последующих реинкарнациях РК.