Правец 8 / AppleII : Передовица » Hard » Знакогенераторы

Знакогенераторы

Первые три рисунка демонстрируют вид знакогенераторов раннего типа. Прошивка микросхемы 2716 содержит все символы в нормальном виде, а инверсия (00-3F) и мерцание (40-7F) задаются аппаратно, опираясь на два старших бита кода символа. Поэтому в наборе знаков несколько повторяющихся мест.

У Apple][ простой знакогенератор (рис1), у Apple][+ добавлены прописные буквы на адресах E0-FF (рис2). Иногда внешний вид некоторых тайлов немного отличается, не меняя смысла (напр AE или ВВ).

Знакогенератор Правец 82 (рис3) из той же серии, однако на месте строчных латинских букв - кириллица. Изображения букв прижаты к нижнему краю тайла. В всех последующих версиях Правец 8 начертание букв в тайле смещены но один пиксель вверх, чтоб было место для строчных знаков g, y и т.д. Кроме того, в отличии от всех других Правец8, другие коды знаков Ю, Ш, Щ и Ч. Например, если на Правец 82 написать Ю Ш Щ Ч и сохранить на дискету, при открытия файла на Правец 8А или 8С увидим @ [ ] ^.

РИС 1 / РИС 2 / РИС 3 :
     

Знакогенератор у Apple2e (рис4) размещался в микросхеме 2732, хотя сами символы занимали только половину, т.е. как и прежде 2кб. Разнообразие символов увеличилось, инверсия создается начертанием прямо в тайле изображения. Вторая половина прошивки содержит таблицу для "превращения" такого расширенного набора в соответствующий ранним эпл. Таким образом знакогенератор Apple2e может работать в двух режимах:
-"стандартный" когда все символы выводятся как в Apple][+ (рис2), это сделано для совместимости, при выключении ЭВМ активен именно он.
-"альтернативный" когда символы выводятся в соответствии с картинкой (рис4). Отсутствует мерцание, иногда дополнительные символы (рис5), инверсия для строчных букв.
Для включения альтернативного следовало ввести Poke 49167, для возвращения в стандартный Poke 49166.

РИС 4 / РИС 5 / РИС 6 :
     

У правец 8А и 8С произошло развитие возможностей знакогенератора на манер Apple2е. Благодаря поддержке в ПЗУ, стандартный и альтернативный наборы могли быть включены командами MODE 0 и MODE 1 соответственно.

РИС 7 / РИС 8 / РИС 9 :
     

Существовало несколько вариантов набора знаков для Правец8а. Болгарская версия (рис7), и версия для рынка СССР (рис8). Отличия минимальны, буква "Ы" на позициях 5F и 7F вместо болгарских пустого прямоугольника и шашечек. Т.е. программы надписанные для таких знакогенераторов будут отображать текст взаимно корректно.

Версия знакогенератора активно применяемая Ташкентским предприятием "вариант" (рис9). Утолщены фигурные скобки 5B и 5D, скобки 1D и DD смещены на пиксель влево, но главное в ней все "Ы" и "Ъ" переставлены местами, что создает трудности при обмене программами с прошлыми двумя образцами.

Судя по некоторому софту, программисты знали о существовании различных знаковых наборах, известны случаи когда вместо "Ы" использовал в программах "Ь I", т.е. два знакоместа - мягкий знак и английскую I.

В Apple2e и Правец 8А/8C вместо микросхемы 2732 могла быть применена 2764. В ней записывалась информация из двух различных 2732, активная половина выбиралась установкой/снятием перемычки (XP5 в 8С и Х20 в 8А). Однако среди пользователей было популярно устанавливать внешний переключатель, чтоб "на лету" менять знаковые наборы. Например 2е для рынка Германии содержал немецкий (рис6) и английский (рис4) наборы знаков, а Правец 8А содержал болгарский (рис8) и фирменный от 2ее (рис5) наборы знаков.

Развитие знакогенератора у Правец8м происходило по своей собственной линии. В прошивке содержалось 4 различных знаковых набора, различающихся только расположением символов в таблице. Видимо на каждый конкретный случай совместимости включался необходимый набор. Пока об этом нет подробностей.

* * *

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


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


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


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


© 2004-2024 agatcomp.su / agatcomp.ru

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