Адаптер VGA. Организация и работа

РЕФЕРАТ

" Адаптер VGA. Организация и работа."

Содержание

1. Вводные замечания

2. Базовые системы отображения

2.1. Псевдографика

2.2. Растровая графика

2.3. Графические сопроцессоры

3. Видеоадаптеры

3.1. MDA

3.2. CGA

3.3. EGA

3.4. VGA

4. Архитектура видеоадаптера VGA

4.1. Электронно-лучевая трубка

4.2. Видеопамять

5. Регистры видеоадаптера VGA

5.1. Внешние регистры

5.2 Регистры синхронизатора

5.3. Регистры графического контроллера

5.4. Регистры контроллера ЭЛТ

5.5. Регистры контроллера атрибутов

5.6. Регистры ЦАП

6. Литература

Базовые системы отображения.

Без возможности видеть результаты своей работы, персональный компьютер стал бы бесполезным инструментом. Необходимо каким-либо образом наблюдать за сигналами компьютерной системы, чтобы знать, чем она занимается в данный момент. Сегодня реализацией подобного рода функций занимается видеосистема.

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

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

представляется матрицей 80 на25 символов. Образ каждого символа, который появляется на экране, хранится в специальной микросхеме ПЗУ. Эта память относится к видео цепям компьютера.

Каждый символ на экране формируется множеством точек. Несколько видеостандартов, используемых IBM и другими фирмами, отличаются количеством точек, используемых при формировании символов.

IBM четыре раза меняла назначение ОЗУ под видеосистему. Во-первых, это касается PC и XT. Еще один вариант используется в PC и последний предназначается для всех последних улучшенных видеосистем.

Первые две видеосистемы PC использовали различные области памяти и поэтому могли работать одновременно. Обычно одна область памяти предназначается для монохромного дисплея, а другая для цветного. Используются одни и те же области памяти для любого режима в независимости от используемого адаптера дисплея. Память монохромного экрана располагается по адресу В0000 , цветного - В8000. Для обеспечения совместимости все новые видеосистемы могут работать через эти же адреса, даже если они хранят дополнительную информацию еще где-либо.

Программы, заносящие информацию на экран, должны знать, какую память они должны использовать для этого. Нужную информацию можно получить, прочтя информацию из специального байта памяти - флага видео режима. Он предназначается для указания: какого вида адаптер дисплея установлен внутри компьютера и используется в настоящее время. Он позволяет компьютеру знать, с каким дисплеем - монохромным или цветным он имеет дело.

Этот байт позволяет так же указать - с цветным или монохромным дисплеем работает компьютер даже в том случае, если установлен адаптер, способный работать с двумя видами дисплеев. Байт флага видеорежима размещается в начале оперативной памяти, по адресу 0463h. Для кодировки текущего дисплея используется байт 0В4h для указания монохромного режима и 0D4h - для цветного.

По стандарту IBM символы, видимые на экране, не хранятся в непрерывной последовательности. Символы, которые мы видим на экране, располагаются в байтах памяти с промежутком в один байт. Эти промежуточные байты отведены для хранения параметров изображаемых символов. Четный байт памяти содержит символ, а нечетный - хранит его атрибуты.

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

Базовая цветная система IBM имеет возможность работать в режиме с изображением текста в 40 столбцах экрана. Этот режим позволяет работать пользователю с компьютером через телевизионный приемник вместо дисплея. Телевизор не обладает такой точностью, как монитор компьютера. 80 столбцов текста на экране телевизора сливаются. При уменьшении числа столбцов текста в два раза, требуется в два раз аменьше памяти для хранения. Это в свою очередь позволяет в два раза увеличить число видеостраниц.

По прошествии времени IBM улучшила качество своих видеосистем и соответственно увеличила объем памяти, используемой для нее. Для символьных дисплеев эта память используется для реализации новых видеорежимов, которые позволяют разместить на экране больше строк (до 43) и увеличить число видеостраниц. Некоторые видеосистемы могут реализовывать свои собственные режимы при работе с текстом. Они могут размещать текст в 60 строках и 132 столбцах.

Псевдографика

Графическое изображение легко получить в любом текстовом режиме. Так как с помощью одного байта можно закодировать 256 символов - это число с избытком перекрывает весь алфавит и все цифры, IBM использует свободные значения для кодировки некоторых специальных символов. Большинство этих дополнительных символов создано для формирования графических изображений.

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

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

Однако псевдографика является единственно доступной во всех системах IBM как с цветным, так и черно-белым монитором. Она реализует наипростейшие графические построения.

Растровая графика

Одним из вариантов улучшения качества графического изображения является уменьшение размеров самих графических блоков. При помощи меньших блоков можно сформировать менее угловатое изображение с большей детализацией. Чем меньше размер блоков, тем лучше качество получаемого изображения.

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

Эти точки представляют из себя элементарные частицы, из которых формируются любые блочные конструкции и называются пикселами. Однако не все системы способны работать с элементарными точками видеосистемы. В некоторых из них пиксели образуются при помощи некоторого множества экранных точек. И системы способны оперировать только с целыми пикселами, а не отдельными точками экрана.

Наилучших результатов можно достичь, выделив некоторую область памяти для хранения информации по отбражениюна экране каждого пиксела изображения, как это сделано для текстового режима, когда каждому символу выделяется два байта. В системах IBM информация по каждому пикселю хранится в одном или более битах памяти. Такие системы часто называются системами с растровой графикой. Альтернативой данной технологии является описание пиксела с использованием адресации памяти. Последний метод называют графикой с адресацией всех точек.

Растровая графика потенциально имеет больше возможностей для формирования более точного изображения. Большее количество обрабатываемых пикселей означает реализацию большего числа деталей. Число точек и, соответственно, потенциально возможное число пикселей во много раз превышает число символов, изображаемых на экране: от 64 до128 раз.

Однако недостатком такой разрешающей способности растровой графики являетсяиспользование большого объема памяти. Закрепление за каждой точкойэкрана одного или двухбайтов памяти пропорционально увеличит общий ее объем, закрепляемой за видеосистемой. Графические системы IBM с наименьшим

качеством требуют 128 К памяти при закрепленнии закаждой точкой только одногобайта. Хотя посегодняшним стандартам 128 К - небольшой объем, ноне следует забывать, что при разработке графики для РС времена были другие. Поэтому для первых персональных компьютеров было выделено только 16 К оперативной памяти под графическую информацию.

Графический сопроцессор

Точно так же, как арифметический сопроцессор способен существенно повысить быстродействие РС при расчете сложных математических функций, графический сопроцессор может ускорить работу компьютера при формировании изображения на экране монитора.Причем ускорение работыочень существенно, потомучто графический сопроцессор способен обрабатывать огромные объемы графической информации- сотнитысяч пикселей за несравнимо более короткийпромежуток времени, по сравнению с центральным микропроцессором. Современные графические сопроцессоры Intel 82796 и Texas Instruments TMS34010широко используютсяв высокопроизводительных системах. IBM также создала своюграфическую систему, разместив ее на отдельной плате- 8415А.

Графические сопроцессоры являются основой для создания скоростных видеосистем. Точнотак же,как дляматематических сопроцессоров, графическим сопроцессорам требуется свое программное обеспечение. Кроме того, во многих случаях им требуются специфические, более дорогие мониторы.

Графические операционные системы

Проблема с программным обеспечением может быть решена при помощи специальных графических операционных систем, таких, как MicrosoftWindowsили Digital Research GEM – при работе в среде DOS, или Presentation Manager- для OS/2. Эти системы служат мостом, связывающим программы пользователя и усовершенствованные видеосистемы, включая и реализованные на графических сопроцессорах.

Алгоритм их работы напоминает алгоритм работы BIOS. Он основывается на использовании вызова специальных подпрограмм по формированию соответствующего изображения на видеодисплее. Графические системы переводят поступающие команды на язык понятный для графических сопроцессоров или других видеоустройств. Таким образом, пользователю нужно только оперировать образами, формируемыми графическими системами. Насыщение системновыми функциями является делом разработчика графического пакета.

Например, программе нужно очистить экран. Для этого она должна передать графическому пакету соответствующую команду, и только. Все взаимодействие с техническим обеспечением реализует сама графическая система. Однако ей необходимо знать точно, на какой видеосистеме нужно очистить экран, чтобы сформировать команды надлежащим образом. Графические пакеты распознают устройства технического обеспечения по средствам программного драйвера, устанавливаемого в файле CONFIG.SYS. При замене видеосистемы потребуется только заменить один драйвер, используемый графической операционной системой, и все пользовательские программы будут работать с новой системой отображения.

Видеоадаптеры.

Сначала существовал толькоодин тип персональных компьютеровIBM, который комплектовался тоже только однотипными видеодисплеями. Его экран былоднотонно-зеленым. Текст изображался грубым шрифтом, а изграфических средств реализовывалась толькопсевдографика. Все достоинства этого времени - у пользователя не болела голова, какую видеосистему использовать для своего РС.

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

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

влияние видеосистем на глаза человека.

Адаптер монохромного дисплея.

Этот адаптер часто называют просто MDAот Monochrome Display Adapter, хотяего официальноеимя - Monochrome Display, или Parallel Printer Adapter.

Слово "монохромный" отражает самую важнуюхарактеристику MDA. Он был создан для работыс одноцветным дисплеем.Первоначально онработалс экранами зеленого цвета, которыми обеспечивались преимущественно все системы IBM того времени.

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

MDA является символьной системой, не обеспечивающей никакой другой графики, за исключением расширенного множества символов IBM.Это былпервый адаптер IBM и донедавнего времени он был лучшим адаптеромдля обработки текстов, обеспечивающим самое четкоеизображение символов,по сравнению с любыми дисплейными системами,выпущенными до PS/2.

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

Символы MDA.

Для обеспечения подключения терминалов, используемых в больших компьютерных системах, IBM для изображения символа в MDA использовала площадь экрана в 9 х 14 пикселей,а сам символ был 7 х 9 пикселей. Дополнительное пространство использовалось для разделения каждого символа, что увеличивало читаемость.

Для реализации тогдашних стандартов видеотерминалов, обрабатывающих символыпо 80 столбцам и 25 строкам, требовалось740 горизонтальных пикселейи 350вертикальных - 252000 точек на экран.

Частота MDA.

При работе с таким количеством точек фирма IBM пошла на компромисс. При отображенииинформации с большой частотой потребовалосьбы более широкополосный монитор, чем тот, которыйбыл доступен (во всякомслучае за небольшие деньги) во времяразработки РС. IBM слегка уменьшила используемую частоту, доведяее до 50 Гц и компенсировала возможность появлениямерцания экрана использованием люминофора с большим остаточным свечением.Таким образом появился стандартIBM на монохромный дисплей.

Используемая более низкая частота давала дополнительно время электронной пушке обрабатыватькаждую строку изображения. Однако даже с такой форой плотность точек по монохромным стандартам IBM требовала увеличения горизонтальной частоты по отношению к используемой в популярномвидеомониторе - телевизионномприемнике - 18,1 КГц против 15,525 КГц.

Цветной графический адаптер.

Первым растровым дисплейным адаптером, разработанным IBM для РС, был цветной графический адаптер - CGA (Color Graphic Adapter). Представленнаяальтернатива MDA ослепила привыкший к зеленому компьютерный мир. Новый адаптер обеспечивал 16 ярких чистых цветов. Помимо этого, он обладал способностью работать в нескольких графических режимах с различной разрешающей способностью.

Как об этом говорит наименование адаптера, он предназначалсядля формирования графического изображения на цветном экране. Однако он обеспечивалработу и с монохромными дисплеями, созданными не IBM для платыMDA. Онмог работать в паре как с монохромными, таки с композитными мониторами, и дажес модулятором телевизионных приемников (тем не менее

вы неможете подключить CGA ктелевизору если, у последнего нет композитного видеовхода).Обеспечивает также работу светового пера.

CGA - этомногорежимный дисплейный адаптер. Он может использоваться и для символьных и для побитных технологий. Для каждой изних он реализует несколько режимов. Онсодержит 16 Кбайтпамяти,прямо доступныхцентральному микропроцессору.

Символьныережимы CGA.

Символьный режим функционированияCGA устанавливается по умолчанию. В этом режиме функционирование CGA напоминает MDA.Главнымотличием этих двух адаптеров является то, что второй был создан для работыс нестандартными вертикальными и горизонтальными частотами,обеспечивая более четкое изображение. CGA же использует стандартные частоты - те, что используются композиционными дисплеями. Это дает возможность быть совместимым с большим семейством мониторов, но в то же времяуменьшает качество изображения.

Для того, чтобы обеспечить функционирование с 15,525 КГц горизонтальной частоты и 60Гц вертикальной, CGA разделил дисплей на матрицу в 640 горизонтальных пикселей и 200 вертикальных. Для того чтобы расположить 2000 символов на экране размером 80 х 25 символов - в формате MDA- используются

ячейки 8 х 8 пикселей.

16Кб памяти CGA позволяют работать с 4 страницами текста. Обычно в текстовом режиме используется единственная страница - первая. Остальные доступныпрограммам и пользователю через BIOS и через регистр режима CGA.

Качество символов CGA.

В системахCGA каждый символ располагаетсяв матрице 7 х

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

Цвета символов.

В любом текстовом режиме IBM, используя атрибуты, можно работать с 16-цветовой палитрой. Любой символ текста может быть изображен любым из 16 цветов.

Фон символа - точки, входящие в матрицу символа 8 х 8 и не участвующие в формировании формы символа - может также иметьодин из16 цветов, но с одним ограничением. В режиме, устанавливаемом по умолчанию,для фона можноиспользовать 8 цветов, потому что бит в байте параметров, устанавливающий яркость илиинтенсивность фоновогоцвета, предназначается для другой цели. Он используется длязадания режимамерцания символа.

Специальный регистр CGA изменяет назначение этого бита. Загружая определенныезначения в этот регистр, пользователь или программамогут выбиратьмежду использованием мерцания или изображением цвета фона сповышенной интенсивностью. Однако этот регистр управляет всем текстом экрана, поэтому невозможно одновременноиспользовать и мерцающие символы и повышенную интенсивность цветового фона.

CGA требует от программистов прямого обращения к этому регистру. Более усовершенствованные адаптерыIBM используют дополнительную программу BIOSдля реализации этой функции.

Улучшенный графическийадаптер.

К 1984 году недостатки CGA сталиочевидными. Этовыявилось благодаря широкому его распространению. Тяжело читаемый тексти грубая графика портили зрение лучше всякого другого приспособления.

Как ответ на заслуженную критику, появился улучшенный графический адаптер- EGA. Улучшение было многосторонним: возросшая разрешающаяспособность, возможность обеспечивать графический режим монохромных экранов, в том числе любимых IBM зеленых дисплеев.

Разрешающая способность EGA.

Самое существенное изменение хорошо заметно по рисуемому изображению. Разрешающая способность была увеличена до 640 х 350 пикселей.Ячейкисимволов имеютразмер 8 х 14.И хотя такаяячейка на одну точку уже, чем поддерживаемая MDA, символ формируется той же матрицей 7 х 9. Но более важным являлось то, что было выделено достаточноместа для подстрочного и надстрочного пространства. Благодаря этому смежные ряды несливались и цветное изображениетекставоспринималось

такжехорошо,как и монохромное.

Разрешающая способность 640 х 350 обеспечивалось вграфическом режиме. Этот адаптер мог также поддерживать все графические режимы предыдущих адаптеровIBM. Это означает, что EGA способен обеспечить все режимы устаревшего CGA.

Частоты EGA.

Для того, чтобы обеспечить передачу зрительной информации, согласностандарту EGA, необходимо использоватьсигнал с более широкой полосой частот, увеличив его диапазондо более высокой частоты. Вместо 15,525 КГц CGA, EGA увеличил горизонтальную частоту сканирования до 22,2 КГц. Вертикальная частота сканирования ( частота кадров) приблизительно равна 60 Гц. Из-за использования более высокой частоты стандарт EGA несовместим с устройствами, созданными по стандарту NTSC.В эту группу устройств входят и телевизоры. Требуется специальные дисплеи EGA.

Цвета EGA.

Возможности стандарта EGAпо формированию цветной гаммы существенно возросли.Посредством изменения интерфейса адаптер -дисплей, реализуемая палитра EGA была расширена до 64 оттенков (считая черный и различные оттенки серого, как отдельные цвета). Кроме того,благодаря наличию большого ресурса памятистандарт EGA способен поддерживать более широкую палитру цветов сболее высоким уровнем разрешающей способности. В режиме с максимальной разрешаемойспособностью и полным использованиемресурсапамяти,EGA в состоянииодновременно формировать изображение в 16цветовых оттенках выбранных из 64 цветной палитры на экране в 640 х 350 пикселей.

VideoGraphics Array - VGA

Весь процесс разработки IBM дисплеев для своих персональных компьютеров поддается и не поддается логическомуобъяснению. С одной стороны, некоторые видеосистемы IBM для отдельныхприменений подходили лучше других. Но с другой отказ от узкой специализации на отдельное видеоустройство дает возможность настроитьадаптер на разные типы дисплеев, что открывает огромный рынок длядополнительной видеопродукции, поступающей от независимых поставщиков, чтообеспечивает в свою очередь расширение снабжения рынка. При переходек новому видеостандарту адаптерная платаможет быть легко заменена другой. С другойстороны, объединение дисплея и адаптера поддается логическому обоснованию также.

КомпьютерыPortable, такие, как PC Portable (которые не содержат на своей системной плате дисплейнуюсистему) и переносные компьютеры Convertible (содержащие ее там) требуют полной интеграции дисплея и центрального блока для увеличения транспортабельности переносных компьютеров. Такойподход имеетпреимущество простоты сборки системы. Система поступает в виде одного большого блока и не нужно задумываться, как собрать систему из составляющих. Болеетого, такой способ реализации видеосистемы чаще всего обходится дешевле,потому что не требует устанавливать платы расширения, интерфейсные цепи и взымать деньгиза дополнительные разработки. Для снижениястоимости PCjr в этой модели IBM сначала использовала видеосистему,реализуемую на системной плате.

Промежуточным вариантом является реализация видеосистемы на базе платырасширения, чьястоимость входит в стоимость системы. Большинство персональных компьютеров продается по такойметодике.

Разрешающая способностьVGA в графическом режиме

Точно так же, как и в предыдущие системы, VGA обеспечивают различные уровни разрешающей способности в различных режимахфункционирования. Но VGA обеспечивает гораздо большее количество режимов. Их общее число равно 17. Однако вграфическом и текстовом режимах достигаются отличающиесяуровни разрешающей способности.

В графических режимах при формировании растрового цветного изображения достигаетсяразрешающая способность 640 х 480 пикселей. При этом формируется 16 цветов выбранных из палитры в 256. Такой же уровень разрешающей способности обеспечивается и для монохромного изображения.

Переход кстандарту 640 х480 пикселей от стандарта EGA ( 640x 350 )позволил улучшить точность изображения. Стандарт VGA позволяет создать изображение болееточное с использованием большей гаммы цветов.

Для программистов, разрабатывающих графику, отношение числа горизонтальных пикселей к вертикальному равное 4:3, является благоприятствующим фактором, потому что оно равно отношению сторон экрана большинства мониторов.

Цвета VGA

Новый стандарт способен поддерживать 256различных цветов одновременно. Цвета выбираются из палитры 262144оттенка. Вэтом режиме, разрешающая способность ограничена уровнем 320 х 200пикселей. Эта разрешающая способность CGA, работающего в режиме со средней разрешающей способностью, но последний может работать одновременно с четырьмя цветами, выбранными изпалитрыв шестнадцать цветов.

Электронно - лучевая трубка.

Электронно- лучевая трубка ( ЭЛТ) состоит из электронной пушки длямонохромного дисплея или 3 пушек для цветного, отклоняющей системы и экрана, покрытого слоем люминофора. Все эти устройства помещеныв вакуумный балон. Электронная пушка служитисточником электронов, направляемых припомощи

отклоняющей системы в нужную частьэкрана, где электроны взаимодействуют с покрытием экрана, врезультате чегоиспускается свет.След отлуча наэкране называется растр. Изображение на ЭЛТ формируется за счет пробега луча электронов слева на право по горизонтальным линиям экрана. Луч электронов начинает пробегать по экрану с левого верхнего угла до правого верхнего угла. Когда луч доходит до правой стороны, он гасится и перемещается на следующую горизонтальную линию,находящуюся подпредыдущей. После того, как лучпробе-

жит по всему экрану, он гасится и перемещается в левый верхний угол.

Видеопамять.

Видеопамять VGA разделенана 4 банка или цветовых слоя. Все банки находятся водном адресномпространстве таким образом, что покаждомуадресу размещается 4 байта – поодному байту из каждого банка. В текстовых режимах в первомцветовом слое размещаются ASCII-коды отображаемых символов, во втором - атрибуты символов,в третьем - знакогенератор. В графических режимах организация памяти зависит от режима.

ВНЕШНИЕРЕГИСТРЫ.

Эти регистры называют внешними, так как в видеоадаптере EGA они не принадлежат центральной микросхеме, содержащий остальные контроллеры. В видеоадаптере VGA эти регистры находятся на одной микросхеме, но по традиции их называют "внешними".

адрес

м.р.| адрес | название регистра |

| ц.р. | |3C2

3CC(w) | Регистр определенияразличных режимов |

(r) | работы |3C2| Регистр состояния 0( для чтения ) |3BA

3CA| 3DA | Регистр управления дополнительным |

(r) | устройством |3BA| 3DA | Регистр состояния 1( для чтения ) |3C3

======| Регистр разрешения работ |

==================================================Регистр определения различныхрежимовработы

X----- |----- |---- Выбор адресов

||||ввода/вывода

|||-------- Разрешениедоступак

|||видеопамяти

||-------------- Выбор частоты

|------------------------ Бит четной/нечетной

|страницы

------------------------------ Скорость сканирования

D7,D6 скорость сканирования 0 0 не используется 0 1 350 линий

1 0 400 линий

1 1 480 линий

D5 используется врежимах, которые передают четные адреса в 0 цветовой слой, а нечетные - в1. Данный бит выбирает одну из двух 64 Кбайтных страниц видеопамяти.

D3,D2 управляют тактовой частотой 0 0 640 ( 320 ) столбцов 0 1 720 столбцов

1 0 внешний генератор

1 1 зарезервировано

D1если бит равен 0, то запрещен доступ к видеопамяти для операций чтения и записи. Циклы регенерации выполняются.

D0если бит равен 0, то происходитвыбор адресногопространства монохромного режима ( 3Bx ), иначе адресноепространство цветного режима ( 3Dx).

Регистр управления дополнительным устройством

XXXX0XXXРегистр состояния 0

XXXXXX|-------------------- Тип дисплея

-------------------------------- Бит прерывания от ЭЛТ

D4бит устанавливается в 1, когда произошло прерывание по IRQ2 из-за обратного вертикального хода луча.

D7 для определения типа дисплея (цветнойили монохромный )

Регистр состояния 1

XXXX----- |---- Бит разрешения

||отображения

|---------------- Бит обратного вертикаль-

|ного хода луча

---------------------- Диагностические биты

D5,D4 применяются для получения 2 из 8 цветовых сигналов, вырабатываемых контроллером атрибутоввидеоадаптера VGA.

D3бит принимает значение 1 в течение обратного вертикального хода луча.

D0бит равен 0 во время любого обратного хода луча.

Регистр разрешения работ

XXXXXXX---- Бит разрешение доступа

D0 если бит разрешения доступа равен 0, то запрещен доступ к видеопамяти и портам ввода/вывода кроме данного регистра.

РЕГИСТРЫ СИНХРОНИЗАТОРА.

Синхpонизатоp упpавляет всеми вpеменными паpаметpами видеоадаптеpа и pазpешением ( запpещением ) доступа к отдельным цветовым слоям. Доступ к pегистpам пpоизводится чеpез индексный поpт с адpесом 3C4h и чеpезпоpт данных с адpесом 3C5h.

|индексназвание регистра ||00Регистр сброса синхронизатора ||01Регистр режима синхронизации ||02Регистр разрешениязаписи цветового слоя ||03Регистр выбора знакогенератора ||

=04

======= Регистр определения структуры памяти | ===============================================Регистрсброса синхронизатора|X |X |X |X | X |X | | ||--

----- Бит асинхpонного сбpоса

--- Бит синхpонного сбpоса D0 пpи записи в этот бит 0 пpоисходит немедленный сбpос и остановка синхpонизатоpа. Пpи этом могут быть потеpяны видеоданные.

D1 аналогично D0, но синхpонизатоp останавливается и сбpасывается в конце исполняемого цикла.

Регистр режима синхронизации

XXXXXX|---- Шиpина символов

------------------------ Бит доступа пpоцессоpа

D0бит задает шиpину символов в текстовых монохpомных pежимахс pазpешением 720 пикселов погоpизонтали. Если бит pавен 0, тошиpина матpицы символов - 9 пикселов, иначе 8 пикселов.

D1 если бит pавен1, то пpоцессоp получает монополию на доступ к видеопамяти ( экpан пpи этомгаснет ).

Регистр разрешения записи цветовогослоя

XXXX|| |---- 0 цветовойслой

|| -------- 1 цветовойслой

|------------ 2 цветовойслой

---------------- 3 цветовойслой

D0,D1,D2,D3 если бит pавен1, то можно записыватьданные в соответствующий цветовой слой.

Регистр выборазнакогенератора

XX|| ----- -----

|| | ---- Выбоp таблицы

|| | знакогенеpатоpа ( D3= 0 )

|| ------------ Выбоp таблицы

|| знакогенеpатоpа ( D3= 1 )

|------------------ Выбоp таблицы

| знакогенеpатоpа ( D3= 0 )

---------------------- Выбоp таблицы

знакогенеpатоpа ( D3= 1 )

Регистp используется для выводасимвола на экpан для адаптеpов VGA 8 таблиц знакогенератора. Одновременно могут использоваться 1 или 2 таблицы. Бит D3 байта атрибутов определяет, какаятаблицабудет использована:

D5 D3D2 ( D3 = 1 )

D4 D1D0 ( D3 = 0 )

0001

0012

0103

0114

1005

1016

1107

1118

Если нужна только1 активная таблица, то значение битов D5, D3, D2 и D4, D1, D0 должны совпадать.

Регистр определения структуры памяти

XXXXXX0------------ Доступ к четным/нечетным

адресам

Если D2 содержит 0, то доступ по четным адресам происходит к0 цветовому слою, а по нечетным- к первому.

РЕГИСТРЫГРАФИЧЕСКОГО КОНТРОЛЛЕРА.

Графический контроллер поддерживает обмен данными между процессором и видеопамятью. Графический контроллер содержит 9 регистров. Обращение к ним происходит черезиндексный порт с адресом 3CEh и портданных с адресом 3CFh.

=========================================================

| индекс | название регистра |

=========================================================

| 00 | Регистр установки/сброса |

|01| Регистрразрешенияустановки/сброса||02| Регистрсравнения цветов ||03| Регистрциклического сдвига и выборафункции ||04| Регистрвыбора читаемого слоя ||05| Регистррежима работы ||06| Регистрразличногоназначения ||07| Регистрмаскирования цветовых слоев||

==08

=====| Регистр

=========битовой маски |

=====================================Регистр установки/сброса

------------- || |---- Данные, записываемые в

||| |0 цветовойслой

||| -------- Данные, записываемые в

|||1 цветовойслой

||------------ Данные, записываемые в

||2 цветовойслой

|---------------- Данные, записываемые в

|3 цветовойслой

-------------------------- Зарезервировано

Используется совместно с регистром разрешения установки/сброса для записив любойцветовой слой 8 битов,равных соответствующему битуданногорегистра.

Регистр разрешения установки/сброса

------------- || |---- Разрешениезаписи в

||| |0 цветовойслой

||| -------- Разрешениезаписи в

|||1 цветовойслой

||------------ Разрешениезаписи в

||2 цветовойслой

|---------------- Разрешениезаписи в

|3 цветовойслой

-------------------------- Зарезервировано

D3, D2, D1, D0 - если данный бит равен 0 то в соответствующий цветовой слой записывается бит, переданный центральным процессором, в противном случае - бит из одноименного бита регистра установки/сброса.

Регистр сравнения цветов

XXXX|| |---- Искомая величина для

|| |0 цветового слоя

|| -------- скомая величина для

||1 цветового слоя

|------------ Искомая величина для

|2 цветового слоя

---------------- Искомая величина для

3 цветового слоя

Данный регистр используется для поиска на экране пикселов требуемого цвета. За 1 цикл чтения видеопамяти провести сравнениес 8 пикселами ивозвратрезультата. Какпроисходит операцияпоиска пикселовданногоцвета изображено на рис. 4.

Регистр циклического сдвига ивыбора функции

XXX--------------

|-------- Счетчик сдвига

------------------ Логическаяфункция

D2, D1, D0 - содержат число бит( 0 - 7 ), на которое данные, поступающие от процессора циклически сдвинутся вправо

D4, D3 - логическая операция, выполняемаямежду данными, поступающими от процессора и содержимым регистров-защелок:

D4 D3выполняемая логическая операция

0 0 запись немодифицированных данных

0 1 " И "

1 0 " ИЛИ "

1 1 " ИСКЛЮЧАЮЩЕЕ ИЛИ "

Результат записывается в соответствующие цветовые слои.

Регистр выбора читаемого слоя

XXXXXX-----

------ Номер цветового слоя

D1, D0 - определяют номер цветового слоя видеопамяти, из которого процессора может читать данные.

Регистр режима работы

XX| || |-----

| || |------ Режим записи

| || ---------------- Разрешениесравнения

| ||цветов

| |-------------------- Четный/нечетный режим

| ------------------------ Режим регистра сдвига

---------------------------- Управлениережимом с 256

цветами

D1, D0 - определяют режим записи ввидеопамять :

D1 D0N режим записи

0 00 непосредственная запись

0 11 использование для записи регистров-защелок

1 02 заполнение N-го цветового слоя битом номер

N из данных, записываемых процессором 1 1- не используется

Режим 0 : процессор имеетдоступ к видеопамяти, при этом возможны циклические сдвиги,логические функции и использованиерегистра битовой маски ( рис. 1).

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

данных из видеопамяти происходит запись байта из каждого цветового слоя в 4 регистра-защелки. При выполнении операции записи содержимое регистров-защелок записывается обратно в видеопамять, но по другому адресу ( рис. 2 ).

Режим 2 :так какв этом режиме каждый цветовой слой заполняется соответствующим битом, то содержимое старшей тетрады записываемого байта значения не имеет ( рис. 3 ).

D3- если данный бит равен1, то можно осуществлять сравнениецветов.

D4 - данный бит устанавливается втекстовых режимах, при этом доступ по четным адресам происходит к четным цветовым слоям, а по нечетным адресам - к нечетным цветовым слоям.

D5- используется в режимах 4 и 5 для обработки видеоданных вформате" 2 бита на пиксел".

D6- используется в режимес 256 цветами.

Регистрмногоцелевого назначения

XXXXXXX---- Разрешение графического

режима

D0- бит должен содержать 0 для текстовогорежима и 1 для графического.

Регистр маскирования цветовых слоев

XXXX|| |---- 0 цветовойслой

|| -------- 1 цветовойслой

|------------ 2 цветовойслой

---------------- 3 цветовойслой

Данный регистр используется в режиме сравнения цветов. Если какие-либо биты D0 - D3 содержат0, то данный цветовой слой при операции сравнения цветов нерассматривается.

Регистр битовой маски

Данный регистр используется только в 0 режиме записи. Если какой-либо бит содержит 0, то соответствующий бит будет записываться в видеопамять из регистра-защелки, иначе бит поступает из процессора.

РЕГИСТРЫ КОНТРОЛЛЕРА ЭЛТ.

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

индексный регистррегистрданных

монохромный 3B4h3B5h

цветной 3D4h3D5h

Адресиндексного регистра можно прочитать в области переменных BIOS по адресу 0000:0463.

=========================================================

| индекс | название регистра |

00Общая длина линии горизонтальной развертки| 01 | Длина отображаемойчасти горизонтальной |

| | развертки |

---------------------------------------------------------

| 02 | Начало импульса гашения луча горизонтальной |

| | развертки |

---------------------------------------------------------

| 03 | Конец импульса гашения луча горизонтальной |

| | развертки |

---------------------------------------------------------

| 04 | Начало импульса горизонтального обратного |

| | хода луча |

---------------------------------------------------------

| 05 | Конец импульса горизонтального обратного |

| | хода луча |

---------------------------------------------------------

| 06 | Число горизонтальных линийрастра |

---------------------------------------------------------

| 07 | Дополнительный регистр |

---------------------------------------------------------

| 08 | Предварительная установка горизонтальной |

| | развертки |

|09| Высота символов текста ||0A| Начальная линия курсора ||0B| Конечная линия курсора ||0C| Старший байт начального адреса ||0D| Младший байт начального адреса ||0E| Старший байт позиции курсора ||0F| Младший байт позиции курсора ||10| Начало вертикального обратного хода луча ||11| Конец вертикального обратного ходалуча |--

|-----

12------------------------------------------------

| Начало гашения вертикальной развертки ||13| Логическаяширина экрана ||14| Положение подчеркивания символа || 15 | Начало импульса гашения вертикальной |

| | развертки |

---------------------------------------------------------

| 16 | Конец импульса гашения вертикальной |

| | развертки |

---------------------------------------------------------

| 17 | Управлениережимом |

---------------------------------------------------------

| 18 | Сравнение линий |

=========================================================

Общая длина линии горизонтальной развертки

Данный регистр определяет число знако-местна одной линии сканирования,включаяобратный ход и рамку экрана. Это число будетна 5 больше, чем содержимое этого регистра.

Длина отображаемой части горизонтальнойразвертки

Содержимоерегистра = число символов в строке - 1.

Начало импульса гашения луча горизонтальной развертки

Определяет началоимпульса гашения лучагоризонтальной развертки.

Конец импульса гашения луча горизонтальной развертки

1----------------------

|------------ Конец импульса

-------------------------- Биты смещения

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

D5, D6 - длина смещения в символах. Используются в текстовых режимах, чтобы разрешить отображение символов до разрешения вывода.

Начало импульса горизонтального обратного хода луча

Регистр задает начало импульса горизонтального обратного хода луча.

Конец импульса горизонтального обратногохода луча

XXX-----------------

------------ Конец импульса

Регистр задает конец импульса горизонтального обратного хода луча.

Число горизонтальных линий растра

Регистр определяет общее число линий горизонтальной развертки в кадре вертикальной развертки, включая гашение вертикального хода луча и обратный вертикальный ход луча. Регистр содержит 10 битов. 9 и 10 биты расположены в дополнительном регистре.

Дополнительный регистр

|| || || |---- Регистр числа горизон-

|| || || |тальных линий растра (8)

|| || || -------- Регистр начала гашения

|| || ||вертикальной развертки (8)

|| || |------------ Регистр начала обратного

|| || |вертикального хода

|| || |луча (8)

|| || ---------------- Регистр начала импульса

|| ||гашения вертикальной

|| ||развертки (8)

|| |-------------------- Регистр сравнения

|| |линий (8)

|| ------------------------ Регистр числа горизон-

||тальных линий растра (9)

|---------------------------- Регистр начала гашения

|вертикальной развертки (9)

-------------------------------- Регистр начала обратного

вертикального хода

луча (9)

Данный регистр содержит дополнительные биты тех регистров, чья длина превышает 8 бит.

Предварительная установка горизонтальнойразвертки

X----------------------

|------------ Строчная развертка

-------------------------- Побайтовое панорамирование

D4- D0 задают для самой верхней строки текста номер линии в матрице символов, начиная с которой начинают отображаться символы. Если содержимое этих битов не равно0, то символы в верхней строке отображаются не полностью.

D6, D5 являются дополнительными битами регистра горизонтального панорамирования контроллера атрибутов и позволяют сдвигать экран более чем на 8пикселов.

Высота символов текста

|| |-----------------

|| |------------ Высота символа

|| ------------------------ Бит 9 регистра начала им-

||пульса гашения вертикаль-

||ной развертки

|---------------------------- Бит 9 регистра сравнения

|линий

-------------------------------- Двойное сканирование

D4- D0 высота символа в пикселах минус 1.

D7если этот бит равен 1,то в режимах сразрешением по вертикали 200 пикселов для каждой линии растра применяется двойное сканирование.

Начальная линия курсора

XX|-----------------

|------------ Начальная линия курсора

------------------------ Бит гашения курсора

D4- D0 содержат номер начальной линии курсора в матрице символа.

D5если 1,то курсор гаснет.

Конечная линия курсора

X----------------------

|------------ Конечная линия курсора

-------------------------- Смещение курсора

D4- D0 содержат номер конечной линии курсора в матрице символа.

D6, D5 задают смещение курсора вправо относительно позиции, заданнойрегистром, определяющимположение курсора.

Регистры начального адреса

Регистры содержат адрес данных видеопамяти, которые будут отображаться в левом верхнем углу дисплея.

Регистры, определяющие положение курсора

Данные регистры определяютпозициюкурсорана экране.

Начало обратного вертикального ходалуча

Регистр определяет началообратного вертикального хода луча. Он содержит 10бит. Дополнительные биты расположены в дополнительном регистре.

Данный регистр доступен только длязаписи.

Конец обратного вертикального ходалуча

|| || -------------

|| || ---------- Конец обратного

|| ||вертикального ходалуча

|| |-------------------- Сброс вертикального

|| |прерывания

|| ------------------------ Разрешениевертикального

||прерывания

|---------------------------- Изменение скорости

|регенерации экрана

-------------------------------- Защита от записи

D3- D0 когда значение этих битовравно 4младшим битам

счетчика горизонтальных линий,сигналобратного вертикального хода луча будет окончен.

D4 запись0 в данный бит вызывает сброс вертикального прерывания и переустановку флага незаконченного вертикального прерывания.

D5если бит равен 0, то при каждом обратном вертикальном ходелуча налинии IRQ2 будет возникать прерывание.Сигнал

прерывания сбрасывается записью 0 в бит D4 данного регистра.

D6если 1,то во время обратного горизонтального хода луча будет генерироваться 5 циклов регенерациипамятивместо обычных 3.

D7Для совместимости с более ранними видеоадаптерами. Если бит 1, то регистрыконтроллера ЭЛТс индексами 0 - 7 будут защищены от записи.

Данный регистр доступен только длязаписи.

Завершение отображения вертикальной развертки

Регистр определяет момент, когда заканчивается видимая частьвертикальной развертки и происходит гашение луча. Регистрсодержит число,на 1 меньшее, чем количество горизонтальных линий растра. Содержит 10 бит. Дополнительные биты расположены вдополнительном регистре.

Логическая ширина экрана

Содержит логическую длину экрана в2-х байтных словах.

В текстовых режимах содержит количество символов, составляющих длину строки, деленнуюна 2 ( при 80 символах в строке содержимоерегистра 40 ). Часть символов может непоместиться на экране и для их отображения надо выполнить горизонтальную свертку экрана.

Вграфических режимах задает логическуюдлину горизонтальной линии развертки. Если линияn развертки начинается по адресу adr, а содержимое регистра off, то следующая линия развертки n+1начнется по адресу adr+off. Положение подчеркивания символа

X| |-----------------

| |------------ Положение подчеркивания

| ------------------------ Счетчик регенерации

---------------------------- Адресация видеопамяти

D5если 1,то длякаждогознако-места счетчик адреса регенерации будет увеличиватьсяна 4 вместо 1.

D6если 1,то адресация видеопамяти по двойным словам.

Началоимпульса гашения вертикальной развертки

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

Конецимпульса гашения вертикальной развертки

Когда содержимое регистра равно счетчикугоризонтальных линий, заканчивается сигнал гашения вертикальной развертки.

Управление режимом

D0для эмуляции графических режимов EGA. Запись 0приводит к выделению в видеопамяти 2 областей по 8 Кбайт. Одна содержит данные для четных, адругаядля нечетных строк экрана.

D1запись 0 приводит к эмуляции графических режимов видеоадаптера Hercules.

D2 если 0, то счетчик числа линий экрана увеличивается после каждого обратного горизонтального хода луча, иначе после каждых двух.

D3если 0,то счетчик адреса регенерации изображения увеличивается на1 на каждое знако-местоэкрана,иначе на каждые 2 знакоместа.

D4 если 1, то все выходные линии контроллера ЭЛТ переводятся в третье состояние. Используется только при тестировании видеоадаптера.

D6, D5 если D6 равен 1, то установлен байтовый режим, иначе- 2-х байтовый. Совместно с D5 поддерживается также

4-х байтовый режим.

D7 если 0, то горизонтальный и вертикальный обратный ход луча невозможны.

Регистр сравнения линий

Данный регистр используется совместно с регистром начального адреса. Когда счетчик горизонтальных линий сканирования совпадает со значением, записанном в данном регистре,происходитсброс счетчика адреса регенерируемой видеопамяти в 0 и

экранразбивается на 2 части:в верхней отображаются данные,

на которые указываетрегистрначального адреса, а внижней

отображаются данные, находящиеся в начале видеопамяти.

Регистр состоит из10 бит.9-й битрасположен в дополнительном регистре, 10-й - в регистре высоты символов текста.

РЕГИСТРЫ КОНТРОЛЛЕРА АТРИБУТОВ.

Контроллер атрибутов управляет цветовыми характеристиками изображений. Доступ осуществляется через порт 3C0h, который совмещает в себе функции базового и индексного регистров. Установить порт в исходное состояниеможно чтением из порта 3BAh для монохромногорежима или из порта 3DAh - для цветного режима. После этого данные, записываемые в регистр 3C0h, будутвосприниматься как индекс.

|индексназвание регистра ||00-0FРегистры цветовой палитры ( 0 - 15) ||10Регистр управлениярежимом ||11Регистр цвета рамки экрана ||12Регистр разрешенияцветового слоя ||13Регистр горизонтального панорамирования ||

=14

======= Регистр выбора цвета | ===============================================Регистры цветовой палитры

XX|| || |---- P0

|| || -------- P1

|| |------------ P2

|| ---------------- P3

|-------------------- P4

------------------------ P5

Регистр управления режимом

X|| ||| |---- Режим

|| ||| -------- Тип атрибутов

|| ||------------ Отображение 9-го пиксела

|| |---------------- Мигание/интенсивность

|| ------------------------ Горизонтальное панорами-

||рование

|---------------------------- Режим 13h

-------------------------------- Выбор источника сигнала

D0если текстовый режим, то 0, иначе - 1.

D1для монохромныхатрибутов - 1, для цветных - 0.

D2для монохромного режима с разрешением 720 пикселов по горизонтали при расширении матриц символов с 8 до 9пикселов. Если 1, то 9 пиксел в каждой строке повторяет 8, иначе 9 пиксел - цвет фона.

D3если 1, то бит D7 байта атрибутов управляет миганием символа, в противном случае -интенсивностью фона.

D5совместно с регистром разделения экрана дисплея контроллера ЭЛТ данный бит управляет горизонтальным панорамированием экрана. Если бит равен1, то запрещеногоризонтальное панорамирование стационарной частью экрана.

D6если установленрежим с использованием256 цветов, то данный бит должен быть равен 0.

D7бит выбора источника сигнала для видеовыходов P4 и P5. Если бит равен 0, то P4 и P5 управляются регистрами палитры, иначе- битами D0 и D1 регистра выбора цветов.

Регистр цвета рамки экрана

XX|| || |---- P0

|| || -------- P1

|| |------------ P2

|| ---------------- P3

|-------------------- P4

------------------------ P5

В текстовых режимах задаетцвет рамки экрана.

Регистрразрешения цветового слоя

XX----- -------------

| ---------- Разрешениеслоя

---------------------- Чтение регистров палитры

D0 - D3 биты разрешения цветовых слоев. Если какой-либо бит равен 0, то данные из соответствующего цветового слоя не поступают в регистры цветовойпалитры.

D4- D5 используются вместе с диагностическими битами регистра состояния 1 для чтениярегистров палитры.

Регистр горизонтального панорамирования

XXXX-------------

---------- Величина сдвига

D0- D3 задают величину горизонтального сдвига влево. Величина сдвигазависитот режима и типа видеоадаптера :

D3 D2 D1 D0монохромный256 цветов остальные

текстовый режимы

0000800

00010-1

0010112

00112-3

0100324

01014-5

0110536

01116-7

10007--

1001---

. . .. . ... .

1 1 1 1 - --

Регистр выбора цвета

XXXX|| |---- P4

|| -------- P5

|------------ P6

---------------- P7

D0- D1 данные биты могут использоваться вместо линий 4 и 5 (зависитот битаD7 регистра управления режимом ).

D2- D3 биты используются в контроллером атрибутов в качестве двух старших битов, передаваемых ЦАП.В 256-цветном режиме не используются.

РЕГИСТРЫ ЦАП.

VGA работает с аналоговымидисплеями, имеющими 3 раздельных видеовхода R, G и B. Величина напряжения на каждом из них управляет интенсивностьюсоответственно красного, зеленого и голубого цветов. Преобразование двоичного значения цветовой информации ваналоговые сигналы происходит с помощью 3ЦАП. Цветовая 8-битоваяинформация является указателем на одну из 256 строк в таблице цветов. Каждая строка этой таблицы состоит из 3 6-разрядных регистров, содержимое которых иявляется входными значениями для 3 ЦАП.При такой организации на экране можно одновременно отображать 256цветов из 262144 возможных.

=========================================================

| адрес | название регистра |

=========================================================

| 3C6 | Регистр маскирования пикселов |

---------------------------------------------------------

| 3C7 | Регистр состояния ЦАП ( для чтения) |

---------------------------------------------------------

| 3C7 | Регистр индекса читаемого регистратаблицы |

| | цветов ( для записи ) |

---------------------------------------------------------

| 3C8 | Регистр индексa записываемого регистра |

| | таблицы цветов |

---------------------------------------------------------

| 3C9 | Регистр данных таблицы цветов |

=========================================================

Регистр маскирования пикселов

Фирма IBM в руководстве поVGA предупреждает, что использование даного регистра нежелательно.

Регистр состоянияЦАП

XXXXXX-----

------ Разрешениезаписи

D0- D1 если биты содержат03h, торегистры таблицы цветов доступны для записи, еслибиты содержат 0h - для чтения.

Регистриндексачитаемого регистра таблицы цветов

-----------------------------

------------------ Индекс

Запись в данный регистр индекса в элементатаблицыцветов позволяет прочитать его содержимое через регистр данных цветовойтаблицыкак 3 6-битных числа. После чтения 3 числа содержимое данного регистра увеличивается на 1.

Регистр индекса записываемого регистра таблицы цветов

-----------------------------

------------------ Индекс

Запись в данный регистр индекса в элементатаблицыцветов позволяет записать его содержимое через регистр данных цветовойтаблицыкак 3 6-битных числа. После записи 3 числа содержимое данного регистра увеличивается на 1.

Регистр данных таблицы цветов

XX---------------------

-------------- Данные

Регистр используется для доступа к таблице цветов. Для чтения ( записи ) строки в таблице цветов необходимо3 раза

прочитать ( записать ) 6 бит из ( в )данногорегистра. Первые 6бит соответствуют интенсивности красного, вторые - зеленого, а третьи - синего цвета.

Нельзя прерывать цикл чтения регистров таблицы цветов, состоящий из 3 операций чтения. Во время доступа к данному регистру прерывания должны быть запрещены. Между операциями доступа к регистрам таблицы цветов должен существовать временной интервал не менее 240 наносекунд.

Режимы записи в видеопамять

рис. 1

Режим 0

----------------- регистр разрешения

|X|X|X|X|1|1|0|0| установки\сброса

-----------------

----------------- регистр

|X|X|X|X|0|1|0|0| установки\сброса

-----------------

регистры-защелки|| | | цветовые слои

-----------------|| | | -----------------

|1|1|1|1|1|1|1|1|--------->------------|1|1|1|1|0|0|0|0| 3

----------------- / ^| | | -----------------

----------------- | || | | -----------------

|0|0|0|0|0|0|0|0|--------->------------|0|0|0|0|0|0|0|0| 2

----------------- / ^ | | -----------------

----------------- | | | | -----------------

|1|0|1|0|1|0|1|0|--------->------------|1|0|1|0|1|0|0|1| 1

----------------- / ^| -----------------

----------------- | || -----------------

|0|1|0|1|0|1|0|1|--------->------------|0|1|0|1|1|0|0|1| 0

----------------- / ^ -----------------

----------------- | | | || | | ||

|--------------- | | || | | ||

|----------------- -----------------

||0|1|1|1|1|0|0|1| |0|0|0|0|1|1|1|1|

функция|сдвиг----------------- -----------------

|----->|| | | || | | регистр битовой

----- ---|| | | || | | маски

----------------- -----------------

|X|X|X|0|0|0|0|0| |0|1|1|1|1|0|0|1|

----------------- -----------------

регистр циклического данные от процессора

сдвига и выбора функции

рис. 2

Режим 1

регистры-защелки цветовые слои

----------------- -----------------

|1|1|1|1|1|1|1|1|----------------------|1|1|1|1|1|1|1|1| 3

----------------- -----------------

----------------- -----------------

|1|1|1|1|1|1|1|1|----------------------|1|1|1|1|1|1|1|1| 2

----------------- -----------------

----------------- -----------------

|1|1|1|1|1|1|1|1|----------------------|1|1|1|1|1|1|1|1| 1

----------------- -----------------

----------------- -----------------

|1|1|1|1|1|1|1|1|----------------------|1|1|1|1|1|1|1|1| 0

----------------- -----------------

рис. 3

Режим 2

регистры-защелки цветовые слои

----------------- -----------------

|1|1|1|1|1|1|1|1|----------------------|1|1|1|1|0|0|0|0| 3

-----------------| -----------------

-----------------| -----------------

|0|0|0|0|0|0|0|0|----------------------|0|0|0|0|1|1|1|1| 2

-----------------| | -----------------

-----------------| | -----------------

|1|0|1|0|1|0|1|0|----------------------|1|0|1|0|1|1|1|1| 1

-----------------| | | -----------------

-----------------| | | -----------------

|0|1|0|1|0|1|0|1|----------------------|0|1|0|1|0|0|0|0| 0

-----------------| | | | -----------------

| | | | | | || | | ||

| | | | | | || | | ||

----------------- -----------------

|X|X|X|X|0|1|1|0| |0|0|0|0|1|1|1|1|

----------------- -----------------

данныеот процессорарегистрбитовоймаски

рис. 4

-----------------

регистр маскирования цветовых слоев |X|X|X|X|0|1|1|1|

-----------------

регистр сравнения цветов -----------------

|X|X|X|X|1|1|0|1|

цветовые слои -----------------

-----------------| | |

3 |1|1|1|1|0|0|0|0|| | |

-----------------| | |

-----------------| | |

2 |0|1|0|1|0|1|1|1|------------------------------- | |

-----------------| |

-----------------| |

1 |1|0|1|0|1|1|0|1|--------------------------------- |

----------------- |

----------------- |

0 |0|1|0|1|0|0|0|0|-----------------------------------

-----------------

| | | | | | | |

| | | | | | | |

данные впроцессор

Литература:

1.А.В. Фролов, Г.В. Фролов Программирование видеоадаптеровCGA,EGAи VGA

Москва,Диалог - МИФИ, 1992

2.В.Л. Григорьев Видеосистемы ПКфирмы IBM Москва,Радио исвязь, 1993

3.Н.Г. Краснокутский Управление цветом в адаптере VGA "Журнал д-ра Добба", 1'1993, стр. 46 - 49

4.Б. Телеснин АдаптерVGA. Режим 256 цветов "Монитор", 1'1993, стр. 67 - 74

5 В.Г. Чертков Как поставить точку "Мир ПК", 1'1993, стр. 115 - 125