Текстовые режимы
Текстовые режимы отличаются от графических следующими особенностями:
- видеобуфер расположен в сегменте ввооь (а не A000h);
- в видеобуфере хранятся коды символов в стандарте
ASCII и их атрибуты;
- преобразование кодов символов в рисунки выполняет видеоконтроллер;
видеоконтроллер формирует изображение специального текстового курсора.
Стандартом VESA предусмотрено пять текстовых режимов высокого разрешения,
имеющих коды от 108h до 10Ch
(см. табл. 1.1). Большинство
видеокарт поддерживает только два из них — юэь и ЮАЬ. Поэтому, так же
как при работе с графикой, до или после установки режима надо проверить,
поддерживает его видеокарта или нет.
Если в соответствии с рекомендациями, приведенными в главе
2, ваша задача выбрала из массива info значения переменных, перечисленные
в примере 2.11, то переменная
vbuff будет содержать код видеосегмента ввооь, переменная Horsize — количество
символов в строке, a versize — количество строк на экране. При выполнении
подготовительных действий необходимо проверить состояние второго разряда
нулевого байта массива info (разряды пронумерованы начиная с нуля). Если
он содержит 1, то BIOS и DOS поддерживают работу в выбранном режиме. Поэтому
все приемы программирования остаются в силе. В текстовых режимах VESA
изменяются только размер и количество строк на экране. В данном разделе
описано программирование вывода текста на экран монитора в режимах VESA. |