Основные функции BIOS при работе с графикой прерывания 10h
Стандартные графические режимы SVGA могут быть 4-, 8-, 15-, 16-, 24- и 32-битными.
1) 4-битные режимы (16 цветов):
VGA
012h: 640x480 (64 Кб)
VESA VBE 1.0
102h: 800x600 (256 Кб)
104h: 1024x768 (192 Кб)
106h: 1280x1024 (768 Кб)
Каждый пиксель описывается одним битом, для вывода цветного изображения требуется программирование видеоадаптера на уровне портов ввода-вывода.
2) 8-битные режимы (256 цветов):
VGA
013h: 320x200 (64 Кб)
VBE 1.0
100h: 640x400 (256 Кб)
101h: 640x480 (320 Кб)
103h: 800x600 (512 Кб)
105h: 1024x768 (768 Кб)
107h: 1280x1024 (1,3 Мб)
VBE 2.0
120h: 1600x1200 (1,9 Мб)
Каждый пиксель описывается ровно одним байтом. Значение байта — нoмер цвета из палитры, значения цветов которой можно изменять, например вызывая подфункцию 09 видеофункции 4Fh.
3) 15-битные режимы (32 К цветов):
VBE 1.2
10Dh: 320x200 (128 Кб)
110h: 640x480 (768 Кб)
113h: 800x600 (1 Мб)
116h: 1024x768 (1,5 Мб)
119h: 1280x1024 (2,5 Мб)
VBE 2.0
121h: 1600x1200 (3,8 Мб)
Каждый пиксель описывается ровно одним словом (16 бит), в котором биты 0 – 4 содержат значение синей компоненты цвета, биты 5 – 9 — зеленой, а биты 10 – 14 — красной. Бит 15 не используется.
4) 16-битные режимы (64 К цветов):
VBE 1.2
10Eh: 320x200 (128 Кб)
111h: 640x480 (768 Кб)
114h: 800x600 (1 Мб)
117h: 1024x768 (1,5 Мб)
11Ah: 1280x1024 (2,5 Мб)
VBE 2.0
121h: 1600x1200 (3,8 Мб)
Так же как и в 15-битных режимах, каждый пиксель описывается ровно одним словом. Обычно биты 0 – 4 (5 бит) содержат значение синей компоненты, биты 5 – 10 (6 бит) — зеленой, а биты 11 – 15 (5 бит) — красной.
5) 24-битные и 32-битные режимы (16 М цветов):
VBE 1.2
10Fh: 320x200 (192 Кб)
112h: 640x480 (1 Мб)
115h: 800x600 (1,4 Мб)
118h: 1024x768 (2,3 Мб)
11Bh: 1280x1024 (3,7 Мб)
VBE 2.0
122h: 1600x1200 (7,7 Мб)
С помощью этой функции вы можете установить размер и форму курсора, сделать курсор мигающим или убрать его совсем.
На входе: AH = 01h - изменение размеров курсора;
CH = верхняя граница курсора:
CL = нижняя граница курсора (0-31).
На выходе: Не используются.
Эта функция позволяет управлять расположением курсора на экране, в частности, один из способов убрать курсор - расположить его за пределами экрана, например, на несуществующей 26 строке.
На входе: AH = 02h - установка позиции курсора;
BH = номер страницы видеопамяти;
DH = номер строки (0-24);
DL = номер столбца (0-79).
На выходе: Не используются.
Программа может узнать в любое время, где расположен курсор. Это может потребоваться ей, например, для того, чтобы переместить курсор в следующую позицию (вправо, вверх, вниз и т. д.)
На входе: AH = 03h - определение размеров и координат