Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

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


Использование BIOS видеоадаптера для диагностики видеосистемы ПК.

Использование BIOS видеоадаптера для диагностики видеосистемы ПК. 

 

С помощью специальных программ  системную плату ПК можно превратить в универсальный стенд для диагностирования и ремонта большинства узлов и устройств компьютера. Обычно, достаточно однократного выполнения в отладчике (например, AFD) небольшой специальной программы, запускающей контролируемый процесс в устройстве. Затем с помощью AFD прочитать, например,  регистры ошибок и состояний внешнего устройства, коды ошибок в регистре АН микропроцессора т.п.. При создании таких программ удобно использовать программы BIOS. Современным материнским платам с UEFI, не нужна BIOS, но есть модуль поддержки совместимости и поэтому те программы, которым для работы нужен BIOS, могут спокойно могут работать и на компьютерах с UEFI.  Для контроля и диагностирования видеосистемы удобно использовать ее BIOS.  

Стандартная BIOS (Basic Input/Output System) видеоадаптера располагается в видео-ПЗУ (Video ROM), кроме него там находятся экранные шрифты, служебные табли­цы и т.п.

 BIOS не используется видеоконтроллером напрямую. К BIOS обращается только центральный процессор, и в результате выполнения им программ BIOS, происходят обращения к видеоконтроллеру и видеопамяти. На многих современных видеоадап­терах устанавливаются перепрограммируемые по­средством электричества видео-ПЗУ (EEPROM, Flash ROM), допускающие обновление BIOS видеоадаптера пользователем с помощью специальной программы из комплекта видеоадаптера.

Дисплейный адаптер, как обязательный компонент персонального компьютера, имеет поддержку основ­ных функций  в BIOS. Эти функции выполняются через вызов программного прерывания INT 10h  -  видеосервиса BIOS. Видеосервис позволяет установить видеорежим (BIOS Video Mode), определяющий формат экрана. Первоначально для задания номера режима отводился один байт, и режим устанав­ливался параметром функции “0h” INT 10h (АН=0, AL=Mode). Режимы 0-13h яв­ляются стандартными для адаптеров MDA, CGA, EGA, VGA. Режимы 14h-7Fh используются с нестандартными VGA- или SVGA-расширениями  BIOS, они специфичны для конкретных моделей графических адаптеров. Позже появилось стандартизованное расширение функций видеосервиса VBE (VESA  BIOS Extensions) для адаптеров VGA,  SVGA и были определены новые видеорежимы  с двухбайтными номерами старше 100h. Эти режимы устанавливаются параметром функции “4F02h” INT 10h (AX=4F02h, BX=VMode).

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

Однако видеосервисом INT 10h программисты пользуются далеко не всегда, поскольку работает он довольно медленно. Существенно ускорить работу видеосервиса позволяет затенение области ROM BIOS, хранящей программный код драйверов (Video BIOS Shadowing). Однако самым быстрым способом построения ви­деоизображений,  будет прямая работа с видеопамятью или непос­редственное общение с акселератором графического контроллера.

Так что у программиста (и пользователя) обычно есть выбор  -  от  медленной  работы, не задумываясь об архитектуре конкретного дисплейного адаптера, до быстрой работы с конкретной моделью адаптера. Во втором вари­анте расплатой за скорость будет забота о разработке драйверов для всех (или хотя бы популярных) моделей графических адаптеров.   Архитектура  допускает установку до двух графических адаптеров с раз­дельными  мониторами. Аппаратного конфликта ресурсов не будет, если один из адаптеров  -  MDA   или HGC, а другой  -   CGA,  EGA  или VGA. При  этом оба адаптера будут поддерживаться функциями видеосервиса. Двойные гра­фические системы используются довольно редко. Пакеты САПР, для которых такое разделение может быть эффективным, работают с адаптерами через соб­ственные драйверы.    Графические адаптеры класса SVGA, поддерживающие РnР,  могут обеспе­чивать перемещение адресов требуемых системных ресурсов, и, следовательно, в системе может присутствовать несколько таких адаптеров. Существуют также и многоканальные графические карты, которые содержат несколько независи­мых однотипных  графических адаптеров. Такие карты применяют в многотер­минальных  компьютерах на базе PC.

 

Таблица 1. Функции видеосервиса BIOS INT 10h

Функция

Название

Стандартные (базовые) функции

00h

Установка видеорежима

01h

Установка размера и формы курсора

02h

Установка позиции курсора

03h

Чтение позиции курсора

04h

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

05h

Выбор активной видеостраницы

06h

Прокрутка (очистка) в окне вверх

07h

Прокрутка в окне вниз

08h

Чтение символа и атрибута

09h

Запись символа и атрибута

0Ah

Запись символа

0Bh

Выбор палитры и бордюра

0Ch

Запись графического пиксела

0Dh

Чтение графического пиксела

0Eh

Вывод в телетайпном режиме

0Fh

Чтение видеорежима

Расширенные функции для адаптеров EGA и VGA

10h

Установка палитры (EGA, VGA)

11h

Знакогенератор (EGA, VGA)

12h

Специальные функции (EGA, VGA)

12h

Вывод строки (EGA, VGA)

14h-15h

Функции LCD-дисплея (PC Convertable)

1Ah

Чтение/установка кодов активного и дополнительного дисплеев (VGA)

1Bh

Чтение блока данных состояния и возможностей видеосистемы (VGA)

1Ch

Сохранение и восстановление состояния видеосистемы (VGA)

Графические функции SVGA VBE (VESA BIOS Extensions):

 

4F00h

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

4F01h

Информация о режимах VBE

4F02h

Установка видеорежимов VBE

4F03h

Информация о текущем видеорежиме VBE

4F04h

Сохранение и восстановление состояния видеосистемы SVGA

4F05h

Определение окна видеопамяти SVGA

4F06h

Установка/чтение длины строки

4F07h

Установка/чтение начала экрана

4F08h

Установка/чтение формата палитр DAC

4F09h

Установка/чтение регистров палитр (RAMDAC)

4F0Ah

Интерфейс VBE защищенного режима

Функции дополнительной поддержки VBE

4F10h

Управление энергопотреблением

4F11h

Интерфейс плоских экранных панелей (Flat Panel Interface Extensions — FP)

4F12h

Расширение интерфейса курсора

4F13h

Расширение аудиоинтерфейса

4F14h

Расширение по усмотрению производителя

4F15h

Канал связи с монитором (DDC)

4F16h

Конфигурирование графической системы

 

Справочные данные по запуску некоторых функций BIOS видеосистемы и клавиатуры.

 

INT 10h, функция 00h. Установка видеорежима.

Устанавливает текущий видеорежим. При вызове:

AH=00h

АL= видеорежим:

Например, 03h - текстовый, 80х25 строк,  16 цветов

                   10h - графический, 640х350 точек,16 цветов

                   04h - графический, 320х200 точек, 4 цвета (видеоадаптер CGA)

 

INT 10h, функция 02h. Установка позиции курсора.

Задает положение курсора на экране в текстовых координатах на указанной текстовой странице(в том числе не активной).

При вызове:

AH = 02h

ВН = страница

DН = строка

DL = столбец

INT 10h, функция 09h. Запись символа и атрибута в позицию курсора.

Записывает символ и его атрибут в текущую позицию курсора как в графическом, так и в текстовом режимах.

В графическом режиме символы не должны переходить на следующую строку.

Все коды в AL рассматриваются, как знаки и не управляют положением курсора.

После вывода символа курсор следует сместить к следующей позиции функцией 02h.

Коэффициент повторения позволяет выводить строки одинаковых символов (но курсор не смещается).

В текстовом режиме символ выводится с указанным атрибутом, т.е. заданного цвета на заданном фоне.

В графическом режиме содержимое BL влияет только на цвет символа,  но не фона под ним. Однако графическое изображение под знакоместом затирается.

При вызове:

AH=09h

AL=cиmboл

ВН = страница

ВL = атрибут (текстовый режим) или цвет(графический режим)

СХ = коэффициент повторения

Атрибут символа определяет  цвет символа и фона под ним, а также некоторые                                                                   дополнительные характеристики изображения на экране.

Структура байта атрибутов 

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

 

Стандартные коды цветов

Значение кода

Цвет

Значение кода

Цвет

0h

Черный

8h

Серый

lh

Синий

9п

Голубой

2h

Зеленый

Ah

Салатный

3h

Бирюзовый

Bh

Светло-бирюзовый

4h

Красный

Ch

Розовый

5h

Фиолетовый

Dh

Светло-фиолетовый

6h

Коричневый

Eh

Желтый

7h

Белый

Fh

Ярко-белый

 

INT 10h, функция 0Сh. Запись пиксела.

Записывает в видеобуфер точку заданного цвета в заданной графической позиции.

При вызове:

AH=0Ch

AL-цвет (номер цветового регистра)

ВН - страница

СХ=графический столбец

DX=графическая строка

 

INT 16h, функция 00h. Чтение символа с клавиатуры.

Читает из кольцевого буфера ввода символ и скан-код.

Если буфер пуст - ожидает ввода.

При вызове:    AH=00h

При возврате:   АН=скан-код, AL=сиmboл  ASCII

INT 20h .  Передача управления тому процессу, который запустил на исполнение данную программу (например, программа запущена из меню VC – по INT 20 вернется управление в меню VC).

QIP Shot - Image: 2016-08-10 15:27:37 


Лицензия