Меню
Главная
Случайная статья
Настройки
|
Текстовый видеорежим — режим компьютерного видеоадаптера, в котором экран представлен в виде решётки знакомест (а не пикселей, в отличие от графических режимов). В каждом из знакомест может находиться один символ из ограниченного набора.
Текстовые видеотерминалы начали заменять телетайпы в начале 1970-х годов и изменили способ ведения диалога оператора с компьютером. Вместо командной строки появился текстовый интерфейс пользователя; в шрифты начали вводить псевдографические символы для рисования рамок и имитации элементов графического интерфейса. Одна из кодировок с псевдографикой — CP437 (IBM).
Текстовый режим даёт превосходство над графическим в скорости и простоте программирования. К тому же в те времена (1970-е годы) считалось расточительством ставить в терминал столько видеопамяти, чтобы хранить каждый пиксель экрана. В текстовом режиме изображение генерируется динамически из матрицы знакомест и изображений символов с помощью особой схемы — знакогенератора. На более ранних ЭВМ использовались также знакопечатающие кинескопы, которые генерировали символы без сложных схем знакогенератора, используя трафарет.
Вторым преимуществом текстовых интерфейсов, связанным с терминалами, стали низкие требования к скорости связи терминала и ЭВМ.
Поскольку изображение представляет собой матрицу символов, шрифт в текстовом режиме, естественно, может быть только моноширинным — примерно таким же, как и в пишущих машинках. Таким же образом работают АЦПУ барабанного типа, так что изображение с экрана можно без проблем отправлять на печать. Более новые устройства печати (матричные принтеры) имитировали эту черту АЦПУ.
Многие ОС позволяют не только эмулировать телетайп, но и писать в любое возможное знакоместо. Для этого есть два стандарта: ANSI-графика и команды, совместимые с VT100.
Грань между текстовыми и графическими режимами размыта: например, некоторые программы (Norton Utilities) динамически переопределяют шрифт, чтобы отображать графические знаки или графический курсор мыши. Компьютер «Корвет» мог одновременно выводить текст поверх графического изображения. Иногда текстовый режим из-за его скорости применялся и в играх. Недокументированный 16-цветный графический режим CGA 160100 с точки зрения программирования являлся текстовым режимом[1].
Интерфейс командной строки и эмуляторы терминала имитируют поведение компьютера в текстовом режиме.
Содержание
Технические подробности
L\C
|
0 0 0 0 0 |
0 0 0 0 1 |
0 0 0 1 0 |
0 0 0 1 1 |
0 0 1 0 0 |
0 0 1 0 1 |
0 0 1 1 0 |
0 0 1 1 1 |
00000000 11111111 00001111 00110011 01010101 |
11… 00… 00… 00… 01…
|
00000 |
|
|
|
|
|
|
|
|
|
|
00001 |
|
|
|
|
|
|
|
|
00010 |
|
|
|
|
|
|
|
|
00011 |
|
|
|
|
|
|
|
|
00100 |
|
|
|
|
|
|
|
|
00101 |
|
|
|
|
|
|
|
|
00110 |
|
|
|
|
|
|
|
|
00111 |
|
|
|
|
|
|
|
|
01000 01001 …
|
… … …
|
Внизу: схема простейшего знакогенератора (3224 знакоместа без атрибутов, 88 пикселей в каждом). Вверху: одна из позиций шрифта для этого знакогенератора.
|
Видеоадаптер, способный работать в текстовом режиме, имеет две особых области видеопамяти — текстовый буфер и шрифт. Шрифт — изображения всех возможных символов (как правило, битовые). Текстовый буфер — массив по количеству знакомест. Для каждого из знакомест в текстовом буфере хранятся код символа и дополнительная информация — атрибут. В зависимости от модели адаптера, атрибут может хранить цвета символа и фона, флаги инверсии,[2] яркости,[3] подчёркивания,[2] мигания,[4] девятый бит кода символа[5].
Работой текстового режима управляет схема видеоадаптера, именуемая знакогенератор. Работает он так. В видеоадаптере есть два счётчика: строк (Y) и пикселей в строке (X). Эти координаты делятся с остатком на размер знакоместа. Частные — координаты в текстовом буфере; остатки — координаты в шрифте. Если размеры знакоместа — степени двойки, то деление с остатком представляет собой просто отсечение верхних и нижних битов.
Координаты в текстовом буфере направляются, как нетрудно понять, в текстовый буфер. Тот возвращает код символа и атрибут. Код символа, X и Y в шрифте проходят через шрифтовую память, которая возвращает один бит — 0, если в этой позиции фон, и 1, если изображение. Схема применения атрибута (на рисунке справа не указана) превращает линии атрибута и этот бит в окончательный сигнал, пригодный к прогонке через ЦАП. В простейшем случае эта схема — мультиплексор на два входа по 4 бита, переключающий между цветом изображения и цветом фона. Эта же схема рисует текстовый курсор.
Шрифт хранится, в зависимости от модели видеоадаптера, в ПЗУ или ОЗУ. В последнем случае шрифт можно переопределить — это позволяет русифицировать компьютер или, изменяя шрифт синхронно с развёрткой, делать пиксельную графику (так работают, например, TMS9918, MOS Technology VIC и Nintendo Game Boy).
В некоторых текстовых режимах (например, на том же VT100) существуют и атрибуты строк. Строка может иметь двойную ширину.
В ранних терминалах шрифт был встроен в так называемую буквопечатающую ЭЛТ.
Текстовые режимы на IBM-совместимых компьютерах
На IBM-совместимых машинах существует огромный выбор текстовых режимов.
Разре- шение
|
Кол-во цветов
|
Размер символа
|
Графическое разрешение
|
Адаптеры
|
8025
|
Чёрно-белый
|
914
|
720350
|
MDA, Hercules
|
CGA/EGA/VGA также поддерживают этот режим, качество эквивалентно 8025, 16 цветов
|
4025
|
16 цветов
|
88
|
320200
|
CGA и выше
|
8025
|
16 цветов
|
88
|
640200
|
CGA
|
814
|
640350
|
EGA
|
916
|
720400
|
VGA
|
8043
|
16 цветов
|
88
|
640350
|
EGA и выше
|
8030
|
16 цветов
|
816
|
640480
|
VGA
|
8034
|
16 цветов
|
814
|
640480
|
VGA
|
8050
|
16 цветов
|
98
|
720400
|
VGA
|
8060
|
16 цветов
|
88
|
640480
|
VESA-совместимые Super VGA
|
13225
|
16 цветов
|
|
|
VESA-совместимые Super VGA
|
13243
|
16 цветов
|
|
|
VESA-совместимые Super VGA
|
13250
|
16 цветов
|
|
|
VESA-совместимые Super VGA
|
13260
|
16 цветов
|
|
|
VESA-совместимые Super VGA
|
MDA позволяет выделять текст ярким цветом, инверсией, подчёркиванием и миганием; цветные — содержат атрибут из 4-битного цвета текста и 4-битного цвета фона. Верхний бит в цвете фона может становиться битом мигания. Видеоплаты в целом совместимы «сверху вниз»: так, EGA поддерживает все MDA- и CGA-режимы. В CGA и большинстве совместимых шрифт записан в ПЗУ и русифицируется только перепрошивкой, в EGA и выше — в ОЗУ.
Наиболее распространённый режим, применяемый как в DOS, так и в консольных программах Windows — 8025 символов, 16 цветов. В этом режиме EGA и VGA дают более качественные шрифты, чем CGA. 40-символьные режимы использовались в играх и на телевизорах. Размеры символов в SVGA-режимах зависят от производителя. Также SVGA позволяют уменьшить количество цветов с 16 до 8, зато выводить целых 512 разных символов. Некоторые платы (например, S3) поддерживают огромные текстовые режимы (до 160120). Чтобы работать с такими режимами в консолях Linux, применялась программа SVGATextMode.
В настоящее время
Некоторые из современных графических программ моделируют те или иные дизайнерские ходы текстового ПО. Например, в текстовых редакторах принят моноширинный шрифт; многие roguelike не отказываются от текстовой эстетики, дополняя её широкой цветовой палитрой, недоступной в текстовом режиме, и экзотическими символами[6]. Существует ПО, эмулирующее текстовые режимы: эмуляторы терминала или консоль ОС. Иногда (например, в Windows) эмулированную консоль можно переключить в настоящий текстовый режим (нажатием Alt+ Enter).
Консоль Linux работает в текстовом режиме. Большинство вариантов Linux поддерживают несколько консолей, между которыми можно переключаться нажатием
Как экзотика, библиотека AALib позволяет показывать видео и изображения в текстовом режиме, подбирая наиболее подходящие символы консоли. Это обеспечивает зачаточный просмотр графики в текстовых браузерах наподобие Lynx.
Примечания
- Elliott, John. Colour Graphics Adapter Notes (англ.) (13 ноября 2004). Дата обращения: 10 октября 2006. Архивировано 8 февраля 2012 года.
- 1 2 Большинство чёрно-белых видеоадаптеров
- Большинство чёрно-белых видеоадаптеров, ZX Spectrum
- Многие видеоадаптеры, в том числе все для IBM PC
- Отдельные видеоадаптеры S3 Graphics.
- Скриншот игры Brogue
См. также
Ссылки
|
|