Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vstup.docx
Скачиваний:
47
Добавлен:
28.09.2019
Размер:
6.42 Mб
Скачать

4.4 Особливості програмування текстового та графічного режимів відеоадаптера.

Текстовый видеорежим — режим компьютерного видеоадаптера, в котором экран представлен в виде решётки знакомест (а не пикселей, в отличие от графических режимов). В каждом из знакомест может находиться один символ из ограниченного набора.

Текстовые видеотерминалы начали заменять телетайпы в начале 1970-х годов и изменили способ ведения диалога оператора с компьютером. Вместо командной строки появился текстовый интерфейс пользователя; в шрифты начали вводить псевдографические символы для рисования рамок и имитации элементов графического интерфейса. Одна из кодировок с псевдографикой — CP437 (IBM).

Текстовый режим даёт превосходство над графическим в скорости и простоте программирования. К тому же в те времена (1970-е годы) считалось расточительством ставить в терминал столько видеопамяти, чтобы хранить каждый пиксель экрана (первый Macintosh стал прорывом, несмотря на дороговизну, именно из-за этого). В текстовом режиме изображение генерируется динамически из матрицы знакомест и изображений символов с помощью особой схемы — знакогенератора.

Вторым преимуществом текстовых интерфейсов, связанным с терминалами, стали низкие требования к скорости связи терминала и ЭВМ.

Поскольку изображение представляет собой матрицу символов, шрифт в текстовом режиме, естественно, может быть только моноширинным — примерно таким же, как и в пишущих машинках. Таким же образом работают АЦПУ барабанного типа — так что изображение с экрана можно без проблем отправлять на печать. Более новые устройства печати (матричные принтеры) имитировали эту черту АЦПУ.

Многие ОС позволяют не только эмулировать телетайп, но и писать в любое возможное знакоместо. Для этого есть два стандарта: ANSI-графика и команды, совместимые с VT100.

Грань между текстовыми и графическими режимами размыта: например, некоторые программы (Norton Utilities) динамически переопределяют шрифт, чтобы отображать графические знаки или графический курсор мыши. Компьютер «Корвет» мог одновременно выводить текст поверх графического изображения. Иногда текстовый режим из-за его скорости применялся и в играх.

Среды программирования, консоли и эмуляторы терминала имитируют поведение компьютера в текстовом режиме.

Видеоадаптер, способный работать в текстовом режиме, имеет две особых области видеопамяти — текстовый буфер и шрифт. Шрифт — изображения всех возможных символов (как правило, битовые). Текстовый буфер — массив по количеству знакомест. Для каждого из знакомест в текстовом буфере хранятся код символа и дополнительная информация — атрибут. В зависимости от модели адаптера, атрибут может хранить цвета символа и фона, флаги инверсии, яркости, подчёркивания, мигания.

Работой текстового режима управляет схема видеоадаптера, именуемая знакогенератор. Работает он так. В видеоадаптере есть два счётчика: строк (Y) и пикселей в строке (X). Эти координаты делятся с остатком на размер знакоместа. Частные — координаты в текстовом буфере; остатки — координаты в шрифте. Если размеры знакоместа — степени двойки, то деление с остатком представляет собой просто отсечение верхних и нижних битов.

Координаты в текстовом буфере направляются, как нетрудно понять, в текстовый буфер. Тот возвращает код символа и атрибут. Код символа, X и Y в шрифте проходят через шрифтовую память, которая возвращает один бит — 0, если в этой позиции фон, и 1, если изображение. Схема применения атрибута (на рисунке справа не указана) превращает линии атрибута и этот бит в окончательный сигнал, пригодный к прогонке через ЦАП. В простейшем случае эта схема —мультиплексор на два входа по 4 бита, переключающий между цветом изображения и цветом фона. Эта же схема рисует текстовый курсор.

Шрифт хранится, в зависимости от модели видеоадаптера, в ПЗУ или ОЗУ. В последнем случае шрифт можно переопределить — это позволяет русифицировать компьютер или, изменяя шрифт синхронно с развёрткой, делать пиксельную графику (так работают, например, TMS9918, MOS Technology VIC и Nintendo Game Boy).

В некоторых текстовых режимах (например, на том же VT100) существуют и атрибуты строк. Строка может иметь двойную ширину.

В ранних терминалах шрифт был встроен в так называемую буквопечатающую ЭЛТ.

Текстовые режимы на IBM-совместимых компьютерах

На IBM-совместимых машинах существует огромный выбор текстовых режимов.

Разре- шение

Размер символа

Графическое разрешение

Кол-во цветов

Адаптеры

80×25

9×14

720×350

Чёрно-белый

MDA, Hercules

40×25

8×8

320×200

16 цветов

CGA, EGA

80×25

8×8

640×200

16 цветов

CGA, EGA

80×25

8×14

640×350

16 цветов

EGA

80×43

8×8

640×350

16 цветов

EGA

80×25

9×16

720×400

16 цветов

VGA

80×30

8×16

640×480

16 цветов

VGA

80×50

9×8

720×400

16 цветов

VGA

80×60

16 цветов

VESA-совместимые Super VGA

132×25

16 цветов

VESA-совместимые Super VGA

132×43

16 цветов

VESA-совместимые Super VGA

132×50

16 цветов

VESA-совместимые Super VGA

132×60

16 цветов

VESA-совместимые Super VGA

MDA позволяет выделять текст ярким цветом, инверсией, подчёркиванием и миганием; цветные — содержат атрибут из 4-битного цвета текста и 4-битного цвета фона. Верхний бит в цвете фона может становиться битом мигания. Видеоплаты в целом совместимы «сверху вниз»: так, EGA поддерживает все MDA- и CGA-режимы.

Наиболее распространённый режим, применяемый как в DOS, так и в консольных программах Windows — 80×25 символов, 16 цветов. 40-символьные режимы использовались в играх и на телевизорах. Размеры символов в SVGA-режимах зависят от производителя. Также SVGA позволяют уменьшить количество цветов с 16 до 8, зато выводить целых 512 разных символов. Некоторые платы (например, S3) поддерживают огромные текстовые режимы (до 160×120). Чтобы работать с такими режимами в консолях Linux, применялась программа SVGATextMode.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]