Interested Article - Текстовый видеорежим PC-совместимых компьютеров

Пример интерфейса программы (экрана настройки BIOS ), использующей символы рисования рамок, доступных в текстовом видеорежиме. Разрешение экрана — 80×25 символов

Текстовый режим — один из режимов работы видеоадаптеров большинства PC-совместимых компьютеров . Позволяет выводить на экран моноширинный текст из ограниченного набора символов с помощью внутреннего знакогенератора видеокарты . Текстовый режим широко использовался программами для DOS , программами начальной настройки компьютера и утилитами , работающими без загрузки операционной системы .

История

Первые IBM PC поставлялись с одной из двух видеокарт: MDA и CGA . В первой текстовый режим 80×25 символов был единственным доступным видеорежимом, у CGA был также доступен режим уменьшенного разрешения 40×25 — для отображения на экране телевизора стандарта NTSC . При этом CGA использовал упрощённый рисунок шрифтов разрешением 8×8 пикселей (в отличие от 9×14 у MDA) . Все символы были жёстко зашиты в ПЗУ видеоадаптера .

Начиная с EGA появилась возможность загрузки собственных шрифтов в знакогенератор с целью локализации . По умолчанию используются шрифты 8×14. Доступен также режим 43 строки со шрифтами 8×8 .

Начиная с VGA снова стали доступны шрифты 9×14 пикселей, добавлен шрифт 9×16. Доступны режимы 25, 30, 34, 43 и 50 строк текста. Начиная с SVGA появились дополнительные режимы в 60 строк, а также 132 колонки .

Несмотря на то, что операционные системы без графического режима практически вышли из употребления в первых десятилетиях XXI века, текстовый режим сохраняется во всех PC-совместимых видеоадаптерах для обеспечения обратной совместимости.

Описание

В текстовом режиме экран разбивается на фиксированную решётку знакомест . Каждое знакоместо характеризуется отображаемым в нём символом, цветом текста и фона. В видеоадаптерах с поддержкой цвета символ может быть отображён в одном из 16 цветов на одном из 16 цветов фона, в монохромных — либо светлый символ на тёмном фоне, либо тёмный на светлом. Для знакоместа можно задать возможность мигания и подчёркивания символа, а также указать на использование альтернативного набора символов, что позволяет увеличить его до 512 символов — часть из этих атрибутов доступна только в монохромном режиме, часть — при уменьшении количества цветов до 8 . Совокупность всех параметров знакоместа, кроме отображаемого символа, называется атрибутами знакоместа . При доступе к видеопамяти страницы символов и атрибутов чередуются: символ имеет чётный адрес, атрибут — нечётный .

Рисунок символа в виде растровой матрицы может быть прочитан из ПЗУ знакогенератора, либо из специальной области в видеопамяти . Символы имеют ширину 8 либо 9 пикселей, причём в памяти все символы хранятся в виде матрицы, шириной 8 бит, а при выводе на экран 9-й пиксель для большинства символов отображался цветом фона, а для псевдографики дублировался старший бит . Наиболее распространённым режимом был режим 80×25 знакомест — он доступен для всех машин, начиная с MDA, и кроме того совпадает по ширине с наиболее распространёнными терминалами , что упрощало адаптацию программ, разработанных для других машин. В ПЗУ знакогенератора зашито 255 символов, символы с кодами 0x 20 0x 7E соответствуют таблице ASCII , остальные содержат символы разного назначения: символы псевдографики (рамки, штриховки, блоки), символы расширенной латиницы, греческие буквы, математические символы, стрелки и т.д . Позднее этот набор символов стандартизирован как кодовая страница CP437 .

Также в PC-видеоадаптерах на аппаратном уровне реализована поддержка курсора , который выводится в виде мигающей горизонтальной линии . С помощью регистров видеоадаптера можно управлять не только положением курсора, но и его внешним видом, а также скрывать его в случае необходимости (начиная с VGA) .

Набор символов

Набор символов VGA-совместимого видеоадаптера

Позиции с 0x 20 по 0x 7E соответствуют набору символов ASCII . Диапазон от 0x 01 до 0x 1F , зарезервированный для управляющих последовательностей ASCII, включает стрелки и редкоиспользуемые символы , однако вывести их можно было только путём непосредственной записи в ячейки видеопамяти, так как при использовании функций BIOS или операционной системы вместо вывода этих символов выполняются управляющие команды ; 0x 80 0x AF символы расширенной латиницы и дополнительные знаки препинания; 0x E0 0x FE — некоторые греческие буквы и математические обозначения. Наиболее примечательны символы в диапазоне 0x B0 0x DF — рамки и символы блочной псевдографики , для них в режимах с символами шириной 9 пикселей применялись специальные правила отрисовки, что позволяло рисовать непрерывные линии. Эти символы широко использовались в оформлении интерфейсов пользователя и сформировали облик приложений для DOS . При локализации эту область старались не менять, чтобы сохранить совместимость с оригинальными программами. В дальнейшем этот набор символов был оформлен как кодовая страница CP437 .

Применение

Текстовый режим применялся во времена DOS, так как требовал для своей работы минимум памяти (2 килобайта для режима 80×25), и при этом поддерживал достаточно большое разрешение экрана, и следовательно объём выводимого текста и читаемость символов . По этой причине также обновление всего экрана или его части требует значительно меньше ресурсов, чем в графическом режиме, и потому на слабых машинах выполняется значительно быстрее, а программный код (при работе с видеоадаптером напрямую) — проще и компактнее . Вывод текста в 80 колонок позволял легко портировать многие программы, предназначенные для работы с текстовыми терминалами . Большое количество символов псевдографики давало большие возможности по построению достаточно сложных интерфейсов пользователя . При этом текстовый режим доступен для большинства PC-совместимых компьютеров вне зависимости от типа установленного видеоадаптера , благодаря чему он продолжал использоваться и после широкого распространения операционных систем с графическим интерфейсом в различных утилитах восстановления системы и инсталляторах операционных систем. Также в текстовом режиме отображался синий экран смерти в Windows 95 и 98 . В текстовом режиме также долгое время работали интерфейсы BIOS setup .

Использование текстового режима возможно тремя способами: непосредственной записью данных в регистры видеоадаптера и видеопамять, использованием функций BIOS и использованием функций операционной системы . Первый вариант наименее требователен к ресурсам и позволяет использовать больше возможностей графического адаптера, однако жёстко привязан к конкретной его реализации, отчего при переносе на машину с другим видеоадаптером могут возникнуть проблемы совместимости.

Примечания

  1. , с. 567.
  2. .
  3. , с. 568.
  4. , p. 402.
  5. , p. 405.
  6. , p. 407−408.
  7. , p. 409−410.
  8. , с. 569.

Литература

  • Михаил Гук. Аппаратные средства IBM PC. — 3-е. — СПб. : Питер, 2006. — 1072 с. — 5000 экз. ISBN 5-469-01182-8 .
  • Соломенчук Валентин Георгиевич. Аппаратные средства PC. — 6. — СПб. : БХВ-Петербург, 2010. — 800 с. — ISBN 9785977504324 .
  • Александр Фролов, Григорий Фролов. Программирование видеоадаптеров CGA, EGA и VGA. — М. : Диалог-МИФИ, 1992. — Т. 3. — 287 с. — (Библиотека системного программиста).
  • Peter Norton . . — Microsoft press, 1985. — ISBN 0-914845-46-2 .
  • Нортон П. Программно-аппаратная организация компьютера IBM PC = Inside the IBM PC. Access to advanced features and programming. — Prentice-Hall Publishing Comp., 1984.
  • Richard F. Ferraro. . — 3rd. — US : Addison-Wesley Publishing Company, Inc., 1994. — ISBN 978-0-201-62490-8 .
Источник —

Same as Текстовый видеорежим PC-совместимых компьютеров