Текстовый режим

В текстовом, или символьном, режиме изображение на экран монитора выводится в виде отдельных символов. Каждому символу отводится знакоместо, которое задается точенной матрицей (Dot Matrix) размером pxq пикселов. При разрешающей способности экрана N х М пикселов на нем можно разместить M/q = т символьных строк по N/p = п символов в каждой, где M, N – соответственно количество пикселов в столбце и строке экрана. Типичным текстовым режимом является режим 80x25 символов.

Точки (пикселы) матрицы, формирующие изображение символа, называют передним планом (Foreground), остальные точки – задним тыном или фоном (Background). Точечную матрицу с изображенным символом называют символьной матрицей. В качестве примера на рис. 15.1 показана матрица размером 8x8 пикселов (лучшую читаемость имеют матрицы 9×14 и 9×16 символов) с символом "А". Если предположить, что темной клетке (пикселу) соответствует логическая единица, а светлой – логический нуль, то каждую строку символьной матрицы можно представить в виде двоичного числа (на рис. 15.1 справа приведен двоичный и шестнадцатеричный код). Следовательно, графическое изображение символа можно хранить в виде набора двоичных чисел. Совокупность символов (букв английского и национального алфавитов, цифр, набора специальных знаков и графических примитивов) называется шрифтом. Так как формы символа представляются 8-разрядным кодом, общее количество символов любого шрифта составляет 28 = 256.

Для хранения шрифта используется размещенный на плате видеоадаптера аппаратный знакогенератор (Hardware Character Generator), представляющий собой ПЗУ.

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

Матрица с изображением символа

Рис. 15.1. Матрица с изображением символа "А" и его описание

видеопамяти. Считанные данные попадают в знакогенератор: на его старшие адресные входы поступает код текущего символа из видеопамяти, а на младшие – номер текущей строки в отображаемой линии знакомест. Выходные данные представляют собой побитную развертку текущей строки символьной матрицы. Совокупность строк символьных матриц подается на модулятор ЭЛТ для засветки, в результате чего на экране монитора возникает изображение строки символов. На рис. 15.2 иллюстрируется взаимодействие видеопамяти и знакогенератора при выводе на первое знакоместо первой строки экрана буквы "А" (код 41) и на последнее знакоместо – цифры "1" (код 31).

Взаимодействие видеопамяти и знакогенератора при выводе символов

Рис. 15.2. Взаимодействие видеопамяти и знакогенератора при выводе символов

Текстовый адаптер имеет аппаратные средства управления курсором, размер и положение которого относительно знакоместа программируются. Обычно его выделяют мигающей полоской.

Для кодирования изображения символа на экране используются два байта: один – для задания номера символа, второй – для указания атрибутов символа. К атрибутам относится цвет фона, цвет символа, инверсия, мигание и подчеркивание символа, отображения курсора. Если на экране имеется п×т знакомест, то объем видеопамяти, необходимый для хранения изображения, составит п×т×2 байт. Эту область видеопамяти называют видеостраницей (Video Page). Видеостраница является аналогом кадрового буфера в графическом режиме, но имеет значительно меньший объем. В наиболее распространенном текстовом режиме (80×25 символов) размер видеостраницы составляет 4000 байт, в режиме 40×25 – 2000 байт. На практике для удобства адресации под видеостраницу отводят 4 Кбайт = 4096 байт и 2 Кбайт = 2048 байт соответственно, при этом "лишние" байты (96 и 48) не используются.

Главная особенность текстового режима заключается в том, что адресуемым элементом экрана является не пиксел, а знакоместо. Поэтому в текстовом режиме невозможно сформировать произвольное изображение в любом месте экрана – можно лишь отобразить символы из заданного набора в отведенных символьных позициях. Однако его неоспоримыми достоинствами являются небольшой объем памяти, высокая скорость вывода информации, простота и компактность программного кода вывода символов.

 
< Пред   СОДЕРЖАНИЕ     След >