Данный регистр, имеющий адрес 3C2h, доступен только для чтения.
Регистр позволяет получить различную информацию от видеоадаптера EGA. Формат регистра приведен ниже: 3-D0 Не используются. 4 Состояние переключателей. 5 Бит 0 дополнительного устройства (FEAT0). 6 Бит 1 дополнительного устройства (FEAT1). 7 Бит прерывания от ЭЛТ.
Бит D3 | Бит D2 | Считываемый переключатель |
0 | 0 | переключатель 1 |
0 | 1 | переключатель 2 |
1 | 0 | переключатель 3 |
1 | 1 | переключатель 4 |
Таблица 8.6 Установка битов D3 и D2.
Если бит D4 установлен в единицу, то переключатель, заданный битами D2 и D3 регистра определения различных режимов работы, находится в положении ON. Если бит сброшен в ноль, то переключатель находится в положении OFF.
Для EGA эти четыре переключателя определяют, какой дисплей используется с видеоадаптером и какой дополнительный видеоадаптер может быть подключен к компьютеру (cм. главу "Системы с двумя дисплеями").
Ниже показаны правильные варианты установки переключателей для различных конфигураций видеосистемы. 4 3 2 1 _________ Первичный: EGA с цветным дисплеем (40х25). ON ¦Ё Ё¦ OFF ¦ Ё Ё ¦ Дополнительный: MDA. _________ 4 3 2 1 _________ Первичный: EGA с цветным дисплеем (80х25). ON ¦Ё ¦ OFF ¦ Ё Ё Ё¦ Дополнительный: MDA. _________ 4 3 2 1 _________ Первичный: EGA с улучшенным цветным дисплеем. ON ¦ Ё Ё Ё¦ OFF ¦Ё ¦ Дополнительный: MDA. _________ 4 3 2 1 _________ Первичный: EGA с улучшенным цветным дисплеем. ON ¦ Ё Ё ¦ OFF ¦Ё Ё¦ Дополнительный: MDA. _________ 4 3 2 1 _________ Первичный: EGA с монохромным дисплеем. ON ¦ Ё Ё¦ OFF ¦Ё Ё ¦ Дополнительный: CGA с цветным дисплеем _________ (40х25). 4 3 2 1 _________ Первичный: EGA с монохромным дисплеем. ON ¦ Ё ¦ OFF ¦Ё Ё Ё¦ Дополнительный: CGA с цветным дисплеем _________ (80х25) 4 3 2 1 _________ Первичный: MDA. ON ¦Ё Ё Ё Ё¦ OFF ¦ ¦ Дополнительный: EGA с цветным дисплеем _________ (40х25). 4 3 2 1 _________ Первичный: MDA. ON ¦Ё Ё Ё ¦ OFF ¦ Ё¦ Дополнительный EGA с цветным дисплеем _________ (80х25). 4 3 2 1 _________ Первичный: MDA. ON ¦Ё Ё Ё¦ OFF ¦ Ё ¦ Дополнительный: EGA с улучшенным цветным _________ дисплеем. 4 3 2 1 _________ Первичный: MDA. ON ¦Ё Ё ¦ OFF ¦ Ё Ё¦ Дополнительный: EGA с улучшенным цветным _________ дисплеем. 4 3 2 1 _________ Первичный: CGA с цветным дисплеем 40х25 ON ¦Ё Ё Ё¦ OFF ¦ Ё ¦ Дополнительный: EGA с монохромным дисплеем. _________ 4 3 2 1 _________ Первичный: CGA с цветным дисплеем 80х25 ON ¦Ё Ё ¦ OFF ¦ Ё Ё¦ Дополнительный: EGA с монохромным дисплеем. _________
VGA использует бит D4 для определения типа используемого дисплея (цветной или монохромный).
Особенно подчеркнем, что положение этих переключателей может быть считано также из байта памяти с адресом 0000:0488h:
Следующая программа считывает значение регистра состояния 0, выделяет биты D5 и D6, поступающие с разъема дополнительного устройства и отображает значения этих битв на экране диспля. // чтение битов дополнительного устройства // (битов D5 и D6 регистра состояния 0) #include <stdio.h> #include "sysp.h" #include "sysgraph.h" void main(void) { int feature_bits; unsigned crt_address; BIOS_VAR _far *bios_var_ptr; // читаем содержимое регистра состояния 0 и выделяем // биты D5 и D6 feature_bits = (ReadReg(0x3C2) & 0x60) >> 5; printf("Биты дополнительного устройства: %x\n", feature_bits); }
Функция ReadReg, используемая в программе, описана ранее.