Вложений: 6
Рамфонт Руслана Аликберова (схема, код)
Приветики!
Руслан вбросил очень интересную схему программирования ЗГ через ВГ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://zx-pk.ru/attachment.php?atta...1&d=1747235559
Тайминги:
https://zx-pk.ru/attachment.php?atta...4&d=1747237697
Макетная плата в процессе:
https://zx-pk.ru/attachment.php?atta...9&d=1747235400
Макетная плата на месте:
https://zx-pk.ru/attachment.php?atta...0&d=1747235480
Код для заливки шрифта - не оптимальный, можно ещё цикл прикрутить, да и вообще есть место для манёвров.
Видео арканоида с кастомным шрифтом: https://disk.yandex.ru/i/UqMon8XEcWSf_g
Скрин игры Клад со схемой расцветки, которая пока не заслуживает внимания:
https://zx-pk.ru/attachment.php?atta...2&d=1747235658
В ходе отладки схемы выяснилось, что из РУ10 можно успевать читать цвет. Получается RGB цвет для фона, RGB цвет для пикселей в линии символа, бит яркости для фона, бит яркости для пикселей. Эту схему только начинаю реализовывать, пока нечем похвастать.
Огромное спасибо Руслану, что поделился идеей! Над схемой и всем процессом заливки шрифта надо ещё сильно поработать. Но я уверен, что такой простой заливатор шрифтов должен быть во всех последующих реинкарнациях РК.