В очередной раз перечитывая документацию по ВГ75, обратил внимание на коды C0-DF так называемых «рамок», которые формируются с помощью выводов LA0/LA1 с кучей логики и на практике вообще неудобно в реализации…
Особый интерес вызвали коды E4 и E5, которые при установке LA0 управляют сигналом HLGT, представляются обычными символами с неограниченным количеством на строку и никакого срыва цикла ПДП не вызывают.
Среди всех публикаций модифицирования знакогенератора РАДИО-86РК существует ряд недостатков:
- Переключение битом ППА ВВ55 неудобно тем, что знакогенератор переключается для всего экрана целиком
- Переключение атрибутами самой ВГ75 имеют свои нюансы с ограничением до 16 атрибутов на строку
- Переключение между двумя наборами "ЗАГЛАВНЫЕ/строчные" не так универсально и не позволяет красиво оформить текст
Решил я попытаться сделать набросок по доработке узла знакогенератора с использованием сигнала LA0, чтобы подключить дополнительное ПЗУ с таблицей КОИ-8, где одна половина - с латиницей, а вторая - с кириллицей и псевдографикой.
Доработкой схемы РАДИО-86РК является добавление ИМС К155ТМ2:Навесной монтаж диодов и резисторов (подбираются соответствующим образом) на дополнительную ИМС К155ТМ2 или дополнительные ИМС К155ЛИ1 и К155ЛЛ1 решают проблему синхронизации и подавления выборки ПЗУ.
- Левая половинка «KOI7/8» хранит флаг выборки таблицы знакогенерации ("0" - родное ПЗУ; "1" - дополнительное)
- Правая половинка «KOI8 (A10)» сохраняет флаг HLGT для выборки половинки дополнительного знакогенератора (128 символов с латиницей или 128 символов с кириллицей)
Дополнительное ПЗУ К573РФ2 с знакогенератором КОI8-R подключается параллельно с РФ1, но выводы 19 и 20 которого подключаются к нашему ТМ2.
Если схема работает, на экране в одной строке можно иметь сразу три знакогенератора:
- Родной знакогенератор выбирается всегда началом строки растра (сигналы HRTC/VRTC сбрасывают первую половину нашего ТМ2)
- Коды E4 или E5 в знакоместе вырабатывает высокий уровень LA0 и разблокируют прохождение тактовой частоты на ТМ2 через элемент И (первая половина триггера установится в "1", элементом ИЛИ блокируя родной знакогенератор до конца строки, а вторая половина триггера запомнит младший бит кода E4/E5 уровнем HLGT для выбора одной из двух страниц знакогенератора в РФ2 (на схеме указаны лишь сигналы «KOI8 (OE)» для выборки и «KOI8 (A10)» для вывода A10 этого ПЗУ)
Таким образом, в каждой строке можно использовать целых три набора символов:
- Родной РК'шный выбирается всегда по умолчанию
- Набор ASCII с латинницей в Верхнем и нижнем регистрах выбирается кодом E4
- Набор KOI8-R с кириллицей в Верхнем и нижнем регистрах выбирается кодом E5
(На самом деле, переключать можно любым кодом C0…EF, но именно E4/E5 формируют устойчивый уровень LA0 на всех линиях знакоместа.)
Особенность обработки кодов E4 и E5 позволяет их использовать в любом количестве на строку, не вызывая сбоя в цикле ПДП (экран не поплывёт).