Определение типа адаптера и установка режима его работы

Прежде чем преступить к работе с экраном следует выполнить такие
операции;

1) определить тип видеосистемы

2) установить режим работы видеоадаптера

3) выбрать цвет фона и палитры CGA - адаптера

4) загрузить регистры палитры EGA - адаптера

5) загрузить регистры цифрового - аналогового преобразователя (DAC -регистры).

Определение типа адаптера выполняется в следующем порядке.

1. Считывается содержимое по адресу 40:49h — области данных. Если это значение равно 7, то это значит, что активным в компьютере является адаптер Hercules.

Содержимое по данному адресу в языке Си определяется функцией

*MK_FP (0x40, 0x49)

Если содержимое этого адреса отлично от 7, то поиск продолжается.

2. Информация о видеосистеме запрашивается следующими функциями

АН = 1Ah,

AL = 00

прерывания 10h BIOS.

Вместо этих двух функций устанавливается функция

AX = 1A00h

с тем же прерыванием.

По выполнению этой функции в регистре AL, будет содержаться значение 1Ah.

При этом в регистре BL будет содержаться код активного адаптера монитора. Возможные значения при этом могут быть:

00h - отсутствие адаптера/монитора,

01h - монохроматический адаптер с монохроматическим монитором 5151,

02h - CGA с цветным монитором 5153/4,

03h - зарезервировано BIOS,

04h - EGA с цветным монитором 5151,

05h – EGA с монохроматическим монитором 5151,

06h - профессиональная графическая система с цветным монитором 5175,

07h – VGA с аналоговым монохроматическим монитором,

08h – VGA с аналоговым цветным монитором и т.д.

Если же АL не равно 1Ah, то делается следующий шаг определения типа адаптера.

3. Вводятся следующие функции

АН = 12h

BL = 10h

с прерыванием 10h.

Если же после этого содержимое регистра BL не изменится, то в компьютере поддерживается СGA - адаптер. В противном случае поддерживается адаптер EGA.

И в том случае если BH = 00h поддерживается цветной режим, а когда BH =01h – монохроматический режим. Содержимое регистра BL сообщает информацию о объёме памяти адаптера

BL = 00 - 64 Кбайт,

BL = 01 - 128 Кбайт,

BL = 02 - 192 Кбайт,

BL = 03 - 256 Кбайт,

BL = 04 - OFh. – зарезервирован.

4. Если же не обнаружен ни один из перечисленных адаптеров, то считается, что система оснащена CGA - адаптером.

Текущий режим адаптера определяется функцией AH = 0F прерывания 10h. При этом в регистре AL помещается номер режима в AH – число столбцов текста на экране, а в BH - номер активной видеостраницы.

Необходимый режим устанавливается функцией AH = 00 прерывания 10h. При этом значение режима помещается в регистр AL.

Установка активной страницы осуществляется функцией AH = 0Х05. В регистр AL помещается номер страницы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: