Иллюстрированный самоучитель по SVGA

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

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

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

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


Текстовые режимы отличаются от графических следующими особенностями:

  • видеобуфер расположен в сегменте BBOOb (а не A000h);
  • в видеобуфере хранятся коды символов в стандарте ASCII и их атрибуты;
  • преобразование кодов символов в рисунки выполняет видеоконтроллер;
  • видеоконтроллер формирует изображение специального текстового курсора.

Стандартом VESA предусмотрено пять текстовых режимов высокого разрешения, имеющих коды от 108h до 10Ch (см. Табл. 1.1). Большинство видеокарт поддерживает только два из них. Поэтому, так же как при работе с графикой, до или после установки режима надо проверить, поддерживает его видеокарта или нет.

Если в соответствии с рекомендациями, приведенными в Главе 2, ваша задача выбрала из массива info значения переменных, перечисленные в Примере 2.11, то переменная vbuff будет содержать код видеосегмента, переменная Horsize – количество символов в строке, a versize – количество строк на экране.

При выполнении подготовительных действий необходимо проверить состояние второго разряда нулевого байта массива info (разряды пронумерованы начиная с нуля). Если он содержит 1, то BIOS и DOS поддерживают работу в выбранном режиме. Поэтому все приемы программирования остаются в силе. В текстовых режимах VESA изменяются только размер и количество строк на экране. В данном разделе описано программирование вывода текста на экран монитора в режимах VESA.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.