Программирование видеоадаптеров CGA, EGA и VGA

       

Программирование видеоадаптеров CGA, EGA и VGA

Регистр управления режимом (Mode Control Register - MCR) (индекс10h)
Регистр цвета рамки экрана (Screen Border Color Register - SBCR) (индекс11)

Регистр разрешения цветового слоя (Color Plane Enable Register - CPER) (индекс12)
Регистр горизонтального панорамирования (Horizontal Panning Register - HPR) (индекс13)
Регистр выбора цвета (Color Select Register - CSR) (индекс14)
Регистры цифро-аналогового преобразователя VGA
Регистр маскирования пикселов (Pixel Mask Register - PMR)
Регистр состояния ЦАП (DAC State Register - DAC_SR)
Индекс читаемого регистра таблицы цветов (Look-up Table Read Index Register - LTRIR)
Индекс записываемого регистра таблицы цветов (Look-up Table Write Index Register - LTWIR)

Регистр данных таблицы цветов (Look-up Table Data Register - LTDR)
Нестандартные режимы видеоадаптера VGA


Организация видеопамяти
Режим 320х400 пикселов, 256 цветов

Режим 360х480 пикселов, 256 цветов
Основные средства BIOS для работы с видеоадаптерами
Выбор режима работы - функция 00h
Изменение формы курсора - функция 01h
Изменение положения курсора - функция 02h
Определение положения и формы курсора - функция 03h
Использование светового пера - функция 04h

Изменение активной страницы видеопамяти - функция 05h
Свертка текстового окна вверх - функция 06h
Свертка текстового окна вниз - функция 07h
Чтение символа и его атрибутов - функция 08h
Запись символа с атрибутами в текущей позиции курсора - функция 09h
Запись символа в текущей позиции курсора - функция 0Ah
Установка цветовой палитры (ржимы 4,5,6) - функция 0Bh
Вывод пиксела - функция 0Ch
Чтение пиксела - функция 0Dh
Запись символа в режиме телетайпа - функция 0Eh

Определение текущего режима работы видеоадаптера - функция 0Fh
Дополнительные средства BIOS для управления EGA и VGA
Управление регистрами палитры - функция 10h
Установка одного регистра палитры - подфункция 00h
Установка цвета рамки - подфункция 01h
Установка всех регистров палитры - подфункция 02h
Управление атрибутом мигания и атрибутом интенсивности - подфункция 03h
Чтение регистра палитры - подфункция 07h
Чтение регистра цвета рамки - подфункция 08h
Чтение всех регистров палитры - подфункция 09h

Установка одного регистра таблицы цветов (регистров ЦАП) - подфункция 10h
Установка нескольких регистров таблицы цветов (регистров ЦАП) - подфункция 12h
Выбор подмножества цветов - подфункция 13h
Чтение регистра таблицы цветов - подфункция 15h
Чтение нескольких регистров таблицы цветов (регистров ЦАП) - подфункция 17h
Определение режима подмножества цветов - подфункция 1Ah
Установка палитры из градаций серого цвета - подфункция 1Bh
Загрузка таблиц знакогенератора - функция 11h
Загрузка набора символов пользователя - подфункция 00h
Загрузка монохромного набора символов - подфункция 01h

Загрузка стандартного набора символов видеоадаптера CGA - подфункция 02h
Выбор активных таблиц знакогенератора (EGA) - подфункция 03h
Установка вектора прерывания 1Fh - подфункция 20h
Использование графического режима для отображения символов пользователя - подфункция 21h
Использование набора символов 8х14 из ПЗУ
Использование набора символов 8х8 из ПЗУ
Использование набора символов 8х16 из ПЗУ
Получение информации об используемом наборе символов - подфункция 30h
Определение конфигурации и выбор программы распечатки экрана - функция 12h

Определение конфигурации EGA/VGA - подфункция 10h
Выбор программы печати экрана - подфункция 20h
Выбор количества линий развертки в текстовом режиме - подфункция 30h
Запрещение переустановки палитры - подфункция 31h
Управление доступом к VGA - подфункция 32h
Управление преобразованием серого цвета - подфункция 33h
Эмуляция курсора CGA - подфункция 34h
Выбор активного дисплея - подфункция 35h
Гашение экрана - подфункция 36h
Вывод текстовой сторки - функция 13h

Чтение/запись конфигурации видеосистемы - функция 1Ah
Чтение конфигурации видеосистемы - подфункция 00h
Запись конфигурации видеосистемы - подфункция 01h
Получение данных о состоянии VGA - функция 1Bh
Получение данных о состоянии VGA - функция 1Bh - 2
Сохранение/восстановление состояния видеоадаптера - функция 1Ch
Определение размера буфера - подфункция 00h
Сохранение текущего состояния видеоадаптера - подфункция 01h
Восстановление текущего состояния видеоадаптера - подфункция 02h
Область данных видеофункций BIOS

Переменные в младших адресах памяти
Таблица окружения
Таблица параметров
Область сохранения
Вспомогательная таблица символов текстового режима
Вспомогательная таблица символов для графического режима
Использование функций MS-DOS для управления видеоадаптерами
Вывод символов - функция 02h
Вывод строки на экран дисплея - функция 09h
Стандартные функции вывода языка Си

Функции putchar() и putc()
Функция puts()
Функция printf()
Функция putch()
Функция cputs()
Функция cprintf()
Определение конфигурации (функция _getvideoconfig())
Функции управления видеоадаптером

Функция _displaycursor()
Функция _gettextcursor()
Функция _settextcursor()
Функция _gettextposition()
Функция _settextposition()
Функция _getbkcolor()
Функция _setbkcolor()
Функция _gettextcolor()
Функция _settextcolor()
Функция _outtext()

Функции _setactivepage(), _setvisualpage(), _getactivepage() и _getvisualpage()
Функция _setvideomode()
Функция _clearscreen()
Функция _settextwindow()
Основные графические функции
Функция _setpixel()
Функция _lineto()
Функция _moveto()

Функция _rectangle()
Функция _ellipse()
Функция _arc()
Функция _pie()
Функция _setcolor()
Функция _selectpalette()
Функция _setlinestyle()
Функция _setviewport()
Функция _setvieworg()
Функция _setvideomoderows()

Функция _getimage()
Функция _putimage()
Функция _imagesize()
Приложения
Таблицы ASCII-кодов символов
Руссификация видеоадаптеров
Установка переключателей на плате EGA.
Содержание