Программирование видеоадаптеров CGA,EGA и VGA

         

Изменение положения курсора.



Рисунок 8.4 Изменение положения курсора.




Следующая программа позволяет прочитать значение регистров начальной и конечной линии курсора: #include <stdio.h> #include "sysp.h" #include "sysgraph.h" void main(void) { char top = 0, bottom = 0; unsigned crt_address; BIOS_VAR _far *bios_var_ptr; // получаем указатель на область переменных видеофункций BIOS bios_var_ptr = (BIOS_VAR _far *) FP_MAKE(0x0000, 0x0410); // определяем адрес порта индексного регистра контроллера ЭЛТ crt_address = bios_var_ptr->crt_address; // считываем значения регистров начальной и // конечной линии курсора // выбираем регистр начальной линии курсора WriteReg(crt_address++, 0x0A); // считываем значение регистра top = (unsigned char) ReadReg(crt_address--); // выбираем регистр конечной линии курсора

WriteReg(crt_address++, 0x0B); // считываем значение регистра bottom = (unsigned char) ReadReg(crt_address); // отображаем на экране значение регистров printf("\nРегистр начальной линии курсора содержит %x\n" "\nРегистр конечной линии курсора содержит %x\n", top, bottom); getch(); }







Содержание раздела