Программирование видеоадаптеров




Краткий обзор - часть 3


 

_asm {

               

mov ah,0Fh

               

int 10h

               

mov mode,al

 

}

 

// Если видеоадаптер находится в режимах 0, 1, 2, 3,

 

// 4, 5, 6 то видеопамять начинается с сегмента B800h

 

if((mode >= 0) && (mode <= 6))

               

seg_address = 0xB800;

 

// Если видеоадаптер находится в режиме 7,

 

// то видеопамять начинается с сегмента B000h

 

else if(mode == 7)

               

seg_address = 0xB000;

 

// Если видеоадаптер находится в режимах 0Dh - 13h,

 

// то видеопамять начинается с сегмента A000h

 

else if((mode >= 0x0D) && (mode <= 0x13))

               

seg_address = 0xA000;

 

// Если видеоадаптер не находится в стандартном режиме

 

// возвращаем ноль

 

else seg_address = 0x0;

 

return(seg_address);

}

Ниже подробно рассмотрены регистры видеоадаптеров EGA и VGA. Мы выделили следующие группы регистров:

       Внешние регистры

       Регистры контроллера ЭЛТ

       Регистры графического контроллера

       Регистры контроллера атрибутов

       Регистры синхронизатора

       Регистры цифро-аналогового преобразователя VGA




Содержание  Назад  Вперед