Передовица » Hardware » Полезное » Про знакогенераторы

Про знакогенераторы

Изначально Агат-7 был запланирован с знакогенератором в 256 знаков. Но микросхемы 556РТ7 были очень дефицитными, и их заменили на пару 556РТ5, установленными друг на друга.

Таким образом, получалось только 128 знаков. Как только РТ7/РТ18 стали более доступными, бутерброд был заменён.

96 процентов реального софта, если даже не поддерживали маленькие/большие буквы, всё равно старались выводить на экран с установленным старшим битом. "Агат-Автор" пытался использовать полный знакогенератор по честному. Причем он большие буквы выводил в инверсии, на случай, если з/г всё-таки 128.
Бейсики и сопутствующие им ДОСы семёрки довольно вольготно пользовались старшим битом в текстовых строках и текстовых файлах. Например, при выводе на экран стандартными средствами (через PRINT) у HELLO-60 D7 жестко ставится в 1.
Отладочный комплекс и редактор РАПИРы выводили маленькие буквы голубым, а большие - зелёным. Но почему-то в нём тоже жестко устанавливался старший бит. Если эту установку отключить (подправив код в памяти или на диске) - редактор совершенно корректно работал с полным набором 256 знаков.
2 процента реального софта выводили буквы в виде "тексТ". Т.е. последний знак большой, остальные - маленькие. Они не были рассчитаны на 256, а их авторы в коде использовали макрос DCI - он последнему знаку в строке выставлял D7=1 - это такой, чисто Агатовский, вариант ASCIZ. Ну и, возможно, были какие-то ещё 2 процента со своей придурью.

Вид знакогенераторов Агат-7 ранний, АГАТ-7 поздний, АГАТ-9:
    

Если программа при выводе текста использует только $A0-$FF, то на всех исполнениях агата все будет выглядеть одинаково, с поправкой на то, что внешний вид некоторых знаков немного отличался (например: размер квадратных скобкок, символ $DF у девятки короче на один левый писель, начертание символа $CD и т.д.). Кроме того, адреса строчных букв обоих алфавитов совпадают у расширенных знакогенераторов.

Набор символов ЭВМ Тошкент:

На компьютерах "Тошкент", по сути являющихся Агат-9, используется несколько иной набор символов знакогенератора. Разница в символах $20-$3F, это Татарский алфавит. Причем ПЗУ системного монитора, на экземплярах известных нам, не подвергалось изменениям. Этот знакогенератор был воспроизведен по фотографии, так как сдампить с реальной машины его пока не представилось возможности.

Интересный момент. Во всех семерочных знакогенераторах пиксели идут от младшего бита к старшему, и нулевой бит обозначает линию, а единичный -- фон. А в девяточном -- от старшего к младшему, нулевой бит значит фон, а единичный -- линию.

Вид знакогенераторов в режиме яч121 у Агат-7 и режиме Apple у Агат-9:
  

Знакогенератор для режимов эпл у девятки, берет тайлы из основного. Первые три фрагмента полностью дублируют $80-$BF (поэтому, например, нет знака доллара как в оригинальном Apple - вместо него жучек), а последний -- $C0-$FF. Первые $00-$7F вообще не используются. Кроме того, нет инверсии для РУС букв.

Знакогенератор для режима яч121 у семерки расположен в микросхеме D35 на плате ячейки 121 и не зависит от основного.

Использование материалов проекта agatcomp без получения предварительного письменного разрешения agatcomp запрещено.


Почта для обратной связи: mail@agatcomp.ru


Живое общение по теме Агата: Telegram группа Agatcomp.


Накопленные знания и проекты: тематический ФОРУМ.


© 2004-2024 agatcomp.su / agatcomp.ru

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *