Текстовый режим¶
Текстовый режим — это режим работы компьютерного дисплея, при котором на экран выводятся только заранее определённые символы (буквы, цифры, знаки препинания, псевдографика) из фиксированной таблицы знакогенератора. В отличие от графического режима, где каждый пиксель управляется индивидуально, в текстовом режиме изображение формируется из матрицы знакомест, каждое из которых может содержать один символ с заданными атрибутами (цвет, мигание, яркость). Текстовый режим был основным способом отображения информации на ранних персональных компьютерах и терминалах, а в настоящее время используется преимущественно в эмуляторах терминала, BIOS и встраиваемых системах.
¶История
¶Ранние терминалы
Первые компьютерные терминалы 1960-х годов (например, IBM 2260, VT100) работали исключительно в текстовом режиме. Они подключались к мейнфреймам и отображали только символы, передаваемые по последовательному интерфейсу. Символы формировались из точек на электронно-лучевой трубке (ЭЛТ) с помощью знакогенератора — аппаратного устройства, хранящего растровые образы символов в постоянной памяти.
¶Эра персональных компьютеров
С появлением персональных компьютеров в конце 1970-х — начале 1980-х годов текстовый режим стал стандартом. Видеоадаптеры MDA (Monochrome Display Adapter, 1981), CGA (Color Graphics Adapter, 1981), EGA (Enhanced Graphics Adapter, 1984) и VGA (Video Graphics Array, 1987) поддерживали текстовые режимы с разрешением 80×25 символов (стандарт для IBM PC) или 40×25 символов. В этих режимах каждый символ кодировался одним байтом (код символа из таблицы ASCII или расширенной ASCII), а атрибуты — отдельным байтом. Это позволяло отображать до 256 различных символов (включая псевдографику) с 16 цветами фона и 16 цветами текста (в VGA).
¶Переход к графическим режимам
С развитием графических интерфейсов (Windows, Mac OS, X Window System) в конце 1980-х — начале 1990-х годов текстовый режим уступил место графическому. Однако он сохранился в следующих областях:
- BIOS/UEFI: настройки системы до загрузки операционной системы.
- Консоль Linux/Unix: виртуальные терминалы (Ctrl+Alt+F1-F6) работают в текстовом режиме.
- Эмуляторы терминала: xterm, GNOME Terminal, Windows Terminal симулируют текстовый режим поверх графической среды.
- Встраиваемые системы: простые дисплеи на микроконтроллерах (например, символьные LCD-дисплеи 16×2).
¶Устройство и принцип работы
¶Структура видеопамяти
В текстовом режиме видеопамять организована как двумерный массив знакомест. Каждое знакоместо занимает 2 байта:
- Первый байт: код символа (0–255) из таблицы знакогенератора.
- Второй байт: атрибуты (цвет текста, цвет фона, мигание, яркость).
Для режима 80×25 символов требуется 80×25×2 = 4000 байт видеопамяти (около 4 КБ). В VGA видеопамять для текстового режима располагается по адресу 0xB8000 (для цветного режима) или 0xB0000 (для монохромного).
¶Таблица знакогенератора
Знакогенератор — это ПЗУ (постоянное запоминающее устройство) или ОЗУ (оперативное запоминающее устройство), содержащее растровые образы символов. Каждый символ представлен матрицей пикселей (например, 8×8, 8×14 или 9×16 пикселей). При выводе символа контроллер дисплея считывает его образ из знакогенератора и формирует видеосигнал. В VGA знакогенератор может быть перепрограммирован (загружен пользовательскими шрифтами).
¶Атрибуты символов
В текстовом режиме VGA поддерживаются следующие атрибуты:
- Цвет текста: 4 бита (16 цветов).
- Цвет фона: 4 бита (16 цветов, но в стандартном режиме — 8, так как бит мигания может переключать яркость фона).
- Мигание: 1 бит (символ мигает с частотой около 2 Гц).
- Яркость: 1 бит (увеличивает яркость текста).
В монохромных режимах (MDA) атрибуты включают подчёркивание, инверсию, яркость и мигание.
¶Классификация текстовых режимов
¶По разрешению
- 40×25 символов: использовался в CGA для совместимости с телевизорами.
- 80×25 символов: стандарт для IBM PC и VGA.
- 80×43, 80×50, 132×25 и другие: расширенные режимы, поддерживаемые EGA, VGA и SVGA.
¶По цветности
- Монохромный: один цвет текста на одном цвете фона (MDA, Hercules).
- Цветной: до 16 цветов текста и 16 цветов фона (CGA, EGA, VGA).
¶По типу знакогенератора
- Аппаратный: знакогенератор встроен в видеоконтроллер (MDA, CGA, VGA).
- Программный: знакогенератор загружается в ОЗУ (VGA, SVGA, эмуляторы).
¶Применение
¶Терминалы и консоли
Текстовый режим является основой для работы терминалов (например, VT100, xterm) и консолей операционных систем. В Linux и FreeBSD виртуальные консоли (tty) используют текстовый режим для отображения командной строки, системных сообщений и текстовых интерфейсов (например, Midnight Commander, nano).
¶BIOS и загрузчики
На этапе загрузки компьютера BIOS (или UEFI в режиме совместимости) отображает информацию в текстовом режиме: настройки, сообщения об ошибках, меню загрузки. Загрузчики (GRUB, LILO, Windows Boot Manager) также используют текстовый режим для выбора операционной системы.
¶Встраиваемые системы
Микроконтроллеры (Arduino, STM32) часто подключаются к символьным LCD-дисплеям (например, 16×2, 20×4), которые работают в текстовом режиме. Эти дисплеи имеют встроенный контроллер (HD44780), управляющий выводом символов.
¶Ретро-вычисления и эмуляция
Энтузиасты ретро-вычислений воссоздают текстовые режимы на современных компьютерах с помощью эмуляторов (DOSBox, MAME, эмуляторы терминалов). Текстовые режимы также используются в демосцене для создания эффектов (например, «текстовые демки»).
¶Интересные факты
- В текстовом режиме VGA можно отображать до 256 символов одновременно, но таблица знакогенератора может содержать до 512 символов (два набора по 256).
- Псевдографика (символы для рисования рамок, линий, блоков) в текстовом режиме VGA заимствована из кодовой страницы 437 (CP437) — стандартной для IBM PC.
- В текстовом режиме можно создавать анимацию, перезаписывая символы в видеопамяти (например, эффект «звёздного неба» или «дождя» из фильма «Матрица»).
- Некоторые игры 1980-х годов (например, Rogue, NetHack) использовали текстовый режим для отображения графики с помощью символов ASCII.
¶Критика
Текстовый режим имеет ограничения по сравнению с графическим:
- Низкое разрешение: 80×25 символов (около 640×200 пикселей для шрифта 8×8) — значительно меньше, чем в графических режимах (640×480, 800×600 и выше).
- Ограниченная палитра: 16 цветов текста и 16 цветов фона (в VGA) — недостаточно для современных интерфейсов.
- Отсутствие произвольной графики: невозможно вывести изображение, не состоящее из символов, без переключения в графический режим.
- Несовместимость с Unicode: стандартные текстовые режимы поддерживают только 256 символов (обычно ASCII и расширенная ASCII), что неудобно для многоязычных текстов.
Тем не менее, текстовый режим остаётся востребованным в системах, где важны простота, скорость и минимальное потребление ресурсов (например, в серверных консолях, встраиваемых устройствах, загрузчиках).
¶Источники
- IBM PC/XT Technical Reference Manual (1983)
- VGA Technical Reference Manual (IBM, 1987)
- FreeBSD Handbook: Console and Serial Console
- Linux Console Documentation (kernel.org)
- «The Art of Assembly Language» by Randall Hyde (Chapter 18: Video Display)
- «Programmer’s Guide to the EGA and VGA» by Richard F. Ferraro
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


