Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование видеоадаптеров EGA, VGA и SVGA.doc
Скачиваний:
139
Добавлен:
01.05.2014
Размер:
4.51 Mб
Скачать

Общая длина линии горизонтальной развертки (Horizontal Total Register - htr) (индекс 0)

Регистр HTR относится к группе регистров контроллера ЭЛТ, которые управляют генерацией синхросигналов монитора. Необходимость модификации данной группы регистров возникает только при программировании нестандартных режимов работы видеоадаптера.

Кроме регистров, контроллер ЭЛТ использует при генерации синхросигналов два внутренних счетчика. Счетчик числа горизонтальных знакомест экрана увеличивается при выводе очередного символа на экран (регенерация экрана) и сбрасывается, когда его значение становится равным регистру общей длины линии горизонтальной развертки. Счетчик числа горизонтальных линий развертки увеличивается после окончания обратного горизонтального хода луча и сбрасывается, когда достигает величины, хранящейся в регистре числа горизонтальных линий растра.

Регистр HTR определяет число знакомест в одной строке развертки, включая обратный ход луча и нерабочую область развертки (рамку экрана). Для видеоадаптера EGA число знакомест по горизонтали на два, а для адаптеров VGA и SVGA на пять больше, чем значение, хранящееся в регистре.

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

Режим

0,1,4,5,D

2,3,6,E

7,

F

10

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

37h

70h

60h

5Bh

Если используется улучшенный цветной монитор, то эти значения отличаются:

Режим

0,1

2,3

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

2Dh

5Bh

Длина отображаемой части горизонтальной развертки (Horizontal Display Enable End Register - hder) (индекс 1)

Регистр задает длину отображаемого участка горизонтальной развертки. Величина, записанная в регистр должна быть единицу меньше, чем количество символов в строке экрана.

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

Режим

0,1,4,5,D

2,3,6,7,E,F,10

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

27h

4Fh

Начало импульса гашения луча горизонтальной развертки (Start Horizontal Blank Register - shbr) (индекс 2)

Регистр используется видеоадаптерами EGA, VGA и SVGA для определения начала импульса гашения луча горизонтальной развертки.

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

Режим

0,1,4,5,D

2,3

6,E

7,F

10

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

2Dh

5Ch

59h

56h

53h

Если используется улучшенный цветной монитор, то эти значения отличаются:

Режим

0,1

2,3

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

2Bh

53h

Конец импульса гашения луча горизонтальной развертки (End Horizontal Blank Register - ehbr) (индекс 3)

D4-D0 Конец импульса гашения луча горизонтальной развертки. Гашение луча горизонтальной развертки происходит, когда биты D4-D0 равны счетчику длины отображаемой части горизонтальной развертки.

D6-D5 Биты смещения используются в текстовых режимах, чтобы разрешить отображение символов до разрешения вывода. Если величина битов смещения слишком маленькая, то символы на левой стороне экрана могут быть потеряны, а если она слишком большая, то символы на левой стороне экрана могут дублироваться по несколько раз. D6 D5 0 0 - нет смещения 0 1 - смещение на один символ 1 0 - смещение на два символа 1 1 - смещение на три символа

D7 Бит D7 равен единице для видеоадаптера VGA и нулю для EGA.

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

Режим

0,1,4,5,D

2,3

6,E

7

F

10

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

37h

2Fh

2Dh

3Ah

1Fh

17h

Если используется улучшенный цветной монитор, то эти значения отличаются:

Режим

0,1

2,3

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

2Dh

37h