Открой свой мир программирования и    
цифровых технологий
Формирование изображения на экране
Автор lisa   
04.07.2011 г.

Экран дисплея, сформированный видеоподсистемами фирмы IBM, можно описать как дисплей с I тображением из памяти, поскольку каждый адрес дисплейной памяти соответствует определенному фрагменту экрана (рис. 4.1). Микросхема дисплея постоянно считывает информацию из памяти и размещает ее на экране.

Информация может быть изменена настолько быстро, насколько компьютер может записать в память новые данные из вашей программы. Микросхема дисплея преобразует поток битов, принимае­мых из памяти, во вспышки света в различных точках экрана.

Эти точки света, называемые пикселами (сокращенно от picture element — элемент рисунка), нормируются электронным лучом, падающим на фосфоресцентную поверхность электронно-лучевой трубки. Электронный луч генерируется электронной пушкой, которая построчно сканирует экран. По мере перемещения пушки вдоль и поперек экрана по фиксированному пути, называемому растро-тм сканированием, видеоподсистема генерирует управляющие сигналы, которые включают и вы­ключают луч в соответствии со значениями битов в памяти.

Микросхема видеоподсистемы обновляет изображение экрана от 50 до 70 раз в секунду (в зависи­мости от видеорежима), в результате чего формируется устойчивое и отчетливое изображение. В конце каждого цикла обновления экрана электронный луч должен переместиться из нижнего правого угла экрана в верхний левый. Это перемещение называется вертикальным обратным ходом. Во время обратного хода луч не несет никакой информации, и поэтому пикселы на экране не перезапи­сываются.

Период вертикального обратного хода (равный примерно 1,25 мс) весьма важен для программи­стов по одной основной причине, которая требует некоторых разъяснений. Специальная двухпорто­вая схема памяти видеосистемы обеспечивает равный доступ к дисплейной памяти как CPU, так и микросхеме обновления экрана дисплея. Поэтому CPU и микросхема дисплея имеют возможность одновременно обращаться к памяти видеосистемы.

Это создает некоторую проблему при использовании цветного графического адаптера (CGA). Если CPU станет считывать или записывать данные в видеобуфер в тот момент, когда микросхема дисплея копирует на экран данные из буфера, то на краткий период времени может возникнуть эффект "снежка". Однако если заставить CPU обращаться к памяти только во время вертикального обратно­го хода, когда микросхема дисплея не работает с видеобуфером, то этого эффекта можно избежать. Программа, работающая с CGA, может проверить значение бита 3 порта ввода/вывода адаптера с адресом 3DAH. В момент начала вертикального обратного хода этот бит устанавливается в 1, а при его завершении — сбрасывается. В течение паузы в 1,25 мс ваша программа может занести макси­мальное число данных в память видеосистемы. После завершения обратного хода микросхема дисп­лея сможет записать эти данные на экран без появления "снежка".

Данный прием полезен для любой прикладной программы, которая впрямую обращается к дан­ным, расположенным в видеобуфере, в текстовом режиме при работе с CGA. К счастью, аппаратная конструкция всех других видеоподсистем фирмы IBM позволяет избежать подобного конфликта до­ступа и устраняет необходимость в применении такого специального приема программирования.

Вы заняты поиском квартиры или машины? Или сами хотите что-то продать? Тогда объявления в Кузнецке на сайте "Из рук руки" - это то, что Вам нужно. У нас Вы непременно найдете то, что нужно именно Вам.

Последнее обновление ( 21.11.2011 г. )
 
« Пред.   След. »
Скачать книги по программированию