Регистры контроллера ЭЛТ управляют сигналами синхронизации, необходимыми для формирования растра, определяют формат данных на экране и форму курсора. Для видеоадаптеров CGA и EGA регистры контроллера ЭЛТ также управляют световым пером.
Большинство из регистров ЭЛТ не представляют интереса. Более того, их неправильное использование может послужить причиной физического разрушения монитора. Поэтому мы подробно рассмотрим лишь наиболее полезные и безопасные регистры контроллера. Назначение и формат ряда регистров контроллера ЭЛТ различаются для видеоадаптеров EGA, VGA, SVGA и для видеоадаптеров MDA, Hercules, CGA.
При программировании регистров контроллера ЭЛТ используется понятие одного знакоместа (characters) и времени необходимого для отображения одного символа (character clock). При вычислении значений регистров следует учесть, что ширина одного символа составляет 8 пикселов.
Растр состоит из совокупности строк развертки, следующих одна за другой. Электронный луч включается в начале каждой строки и выключается в конце. Включение и выключение электронного луча выполняется сигналом разрешения отображения (Display Enable), вырабатываемым контроллером ЭЛТ.
Когда электронный луч включен (разрешено отображение) видеоадаптер читает данные из видеопамяти и соответствующим образом модулирует интенсивность и цвет электронного луча.
После того как луч прочертит весь экран монитора справа налево, он перемещается в начало следующей строки. Контроллер ЭЛТ снова включает электронный луч, в ответ на сигнал разрешения отображения и выводит на экран следующую строку видеоинформации.
Промежуток времени между окончанием отображения видеоинформации на одной строке и началом отображения следующей строки называется горизонтальным неотображаемым интервалом. Промежуток времени отводимый для обратного хода луча меньше горизонтального неотображаемого интервала. Поэтому на правой и левой границе экрана образуются неотображаемые области.
Контроллер ЭЛТ позволяет оставить электронный луч включенным во время перемещения по не отражаемой области. При этом вокруг изображения образуется цветная рамка. Размер и цвет рамки вы можете задавать сами.
Видеоадаптер |
Режим |
Частота вывода пикселов, Мгц |
Частота горизонтальной развертки, Кгц |
Частота вертикальной развертки, Гц |
MDA |
720х350 |
16257 |
18430 |
50 |
CGA |
640х200 |
14318 |
15750 |
60 |
EGA |
640х200 |
14318 |
15750 |
60 |
640х350 |
16257 |
21850 |
60 |
|
720х350 |
16257 |
18430 |
50 |
|
VGA |
640х400 |
25175 |
31500 |
70 |
720х400 |
28322 |
31500 |
70 |
|
640х480 |
25175 |
31500 |
60 |
|
640х350 |
25175 |
31500 |
70 |
|
SVGA |
640х480 |
31500 |
37861 |
72,809 |
800х600 |
40000 |
37879 |
60,317 |
|
800х600 |
50000 |
48077 |
72,187 |
|
1024х768 |
65000 |
48363 |
60,000 |
|
1024х768 |
75000 |
56476 |
70,069 |
Индекс |
Регистр контроллера ЭЛТ |
0 |
Общая длина линии горизонтальной развертки (Horizontal Total Register - HTR) |
1 |
Длина отображаемой части горизонтальной развертки (Horizontal Display Enable End Register - HDER) |
2 |
Начало импульса гашения луча горизонтальной развертки (Start Horizontal Blank Register - SHBR) |
3 |
Конец импульса гашения луча горизонтальной развертки (End Horizontal Blank Register - EHBR) |
4 |
Начало импульса горизонтального обратного хода луча (Start Horizontal Retrace Register - SHRR) |
5 |
Конец импульса горизонтального обратного хода луча (End Horizontal Retrace Register - EHRR) |
6 |
Количество горизонтальных линий растра (Vertical Total Register - VTR) |
7 |
Дополнительный регистр (Overflow Register - OVR) |
8 |
Предварительная установка горизонтальной развертки (Preset Row Scan Register - PRSR) |
9 |
Высота символов текста (Max Scan Line Register - MSLR) |
0Ah |
Начальная линия курсора (Cursor Start Register - CSR) |
0Bh |
Конечная линия курсора (Cursor End Register - CER) |
0Ch |
Старший байт начального адреса (Start Address Register - SAR, high byte) |
0Dh |
Младший байт начального адреса (Start address Register - SAR, low byte) |
0Eh |
Старший байт позиции курсора (Cursor Location Register - CLR, high byte) |
0Fh |
Младший байт позиции курсора (Cursor Location Register - CLR, low byte) |
10h |
Начало обратного вертикального хода луча (Vertical Retrace Start Register - VRSR) |
11h |
Конец обратного вертикального хода луча (Vertical Retrace End Register - VRER) |
10h |
Старший байт адреса светового пера (Light Pen Address Register - LPAR, high byte) |
11h |
Младший байт адреса светового пера (Light Pen Address Register - LPAR, low byte) |
12h |
Начало гашения вертикальной развертки (Vertical Display End Register - VDER) |
13h |
Логическая ширина экрана (Offset Register - OFR) |
14h |
Положение подчеркивания символа (Underline Location Register - ULR) |
15h |
Начало импульса гашения вертикальной развертки (Start Vertical Blank Register - SVBR) |
16h |
Конец импульса гашения вертикальной развертки (End Vertical Blank Register - EVBR) |
17h |
Управление режимом (Mode Control Register - MCR) |
18h |
Регистр сравнения линий (Line Compare Register - LCR) |
Видеоадаптер |
Адрес порта индексного регистра |
Адрес порта регистра данных |
CGA |
3D4h |
3D5h |
EGA, VGA, SVGA (монохромный режим) |
3B4h |
3B5h |
EGA, VGA, SVGA (цветной режим) |
3D4h |
3D5h |
MDA, Hercules |
3B4h |
3B5h |