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


Конечная линия курсора (Cursor End Register - CER) (индекс0Bh)


Этот регистр, также как и регистр CSR, является доступным для чтения и для записи. Регистр задает линию сканирования символа, в которой кончается курсор.

D4-D0    Соответствует номеру последней линии курсора для видеоадаптеров VGA и SVGA (рис. 4.3). Для видеоадаптера EGA - номеру следующей линии.

D6-D5    Отклонение курсора. Задает смещение курсора относительно позиции, определенной регистром CLR.


     

00 - нет отклонения

     

01 - отклонение вправо на один символ

     

10 - отклонение вправо на два символа

     

11 - отклонение вправо на три символа

D7    Не используется.

При установке режима работы видеоадаптера BIOS загружает  в регистр конечной линии курсора следующие значения:

Режим

0,1,2,3

4,5,6,D,E,F,10

7

Содержимое регистра

07

00

0Ch

Изменяя значение регистров начальной и конечной линии курсора, можно менять его положение и размер (рис. 4.3). На левой части рисунка, приведенного ниже, регистр начальной линии курсора равен 0Ah, регистр конечной линии курсора равен 0Bh. На правой части рисунка значение регистров изменено. Регистр начальной линии равен 4, а регистр конечной линии - 5.

PICTURE._FIG_35.PCX;6";4.308";PCX

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

Следующая программа позволяет прочитать значение регистров начальной и конечной линии курсора:

Листинг 4.4. Файл GETCURS.C

#include <stdio.h>

#include <conio.h>

#include "sysp.h"                                               // см. листинг 3.2

#include "sysgraph.h"      // см. листинг 3.3


// Описания функций

void        main(void);

void        WriteReg(unsigned reg, unsigned char data);

unsigned char     ReadReg(unsigned reg);


// Главная функция

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);


 

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




Начало  Назад  Вперед