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




Регистры, определяющие положение курсора - часть 2


// Получаем указатель на область переменных видеофункций BIOS

 

bios_var_ptr = (BIOS_VAR _far *) FP_MAKE(0x0000, 0x0410);

// Определяем адрес порта индексного регистра контроллера ЭЛТ

 

crt_port = bios_var_ptr -> wAddrCRT;

// Выбираем старший байт регистра положения курсора

 

WriteReg(crt_port, 0x0E);

// Читаем значение старшего байта регистра

 

h_pos = ReadReg(crt_port + 1);

// Выбираем младший байт регистра положения курсора

 

WriteReg(crt_port, 0x0F);

// Считываем значение младшего байта регистра

 

l_pos = ReadReg(crt_port + 1);

// Отображаем полученные значения

 

printf("\nТекущий адрес курсора %2.2X%2.2Xh\n",

               

(unsigned char) h_pos, (unsigned char) l_pos );

 

return;

}




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