Вообще-то, вариантов с перегружаемым знакогенераторов достаточно.
Но, вот ещё один вариант, от меня.
Пока только эскиз, концепт.
Суть идеи в том, что ОЗУ знакогенератора РУ8/РУ10 программирует сама ВГ75.Тем самым, формально, просто на панельке меняем РФ1 на РУ8/РУ10 и добавляем промежуточный буфер на ИР23 параллельно этому ОЗУ - всего две ИМС.
- Полное формирование адреса LC0-LC2 и CC0-CC6
- Сохранение кода символа в промежуточный буфер на ИР23
- Запись кода предыдущего символа в ОЗУ сигналом LA1 только по линии подчёркивания с помощью кода псевдографики C0h/C1h
На деле - нужна ещё некоторая логика.
Тем более, по холодному включению ОЗУ знакогенератора будет, естественно, пусто. И на экране ничего хорошего не увидим. Придётся вслепую загружать и запускать код первоначальной заливки фонта в это ОЗУ.
Собственно, процесс прошивки фонта - не так прост и требует несколько трюков:Тем самым, на перепрошивку фонта требуется восемь кадров.
- ВГ75 настраивается на любой подходящий режим с высотой знакоместа в восемь линий
- Позиция линии подчёркивания сбрасывается в НОЛЬ
- В буфере экрана заливается таблица особым образом (код графики для конкретной линии подчёркивания; код C0h/C1h; код программируемого символа)
- При ширине экрана в 78 символов можно в строке запрограммировать разом до 25 символов
- Дожидаемся флага конца кадра в статусе ВГ75 и смещаем позицию линии подчёркиввания на единицу вниз
- Повторяем процесс на все восемь линий фонта
Однако, есть вариант комбинированный - с РФ1 и ОЗУ, чтобы при первом включении всё работало как прежде.
В таком варианте ПЗУ штатного знакогенератора активируется всегда в начала каждого знакоряда - по HRTC.
Для переключения в пределах текущего знакоряда на ОЗУ знакогенератора используются коды псевдо-атрибутов E4h (младший 1 Кб РУ8/РУ10) и E5h (старший 1 Кб РУ8/РУ10).




Ответить с цитированием