Программирование EGA и VGA
- Предисловие
- Соглашение по терминологии
- Проблема совместимости
- Введение в BIOS. Модифицируемые программы
- Обращение к BIOS
- Текстовый и графический режимы
- Вызов функции 0: Установка Режима
- Вызов функции 1: Установка Типа Курсора
- Вызов функции 2: Установка Позиции Курсора
- Вызов функции 3: Чтение Позиции Курсора
- Вызов функции 4: Чтение Позиции Светового Пера
- Вызов функции 5: Установка Активной Экранной Страницы
- Вызов функции 6: Прокрутка (скроллинг) Активной Страницы Вверх
- Вызов функции 7: Прокрутка (скроллинг) Активной Страницы Вниз
- 3. BIOS экранного ввода/вывода
- Вызов функции 8: Чтение Атрибута/Символа в Текущей Позиции Курсора
- Вызов функции 9: Запись Атрибута/Символа в Текущей Позиции Курсора
- Вызов функции аh: Запись Атрибута/Символа в Текущей Позиции Курсора
- Вызов функции bh: Установка Цветной Палитры
- Вызов функции сh: Запись Точки
- Вызов функции dh: Считывание Точки
- Вызов функции еh: Вывод Символа на Активную Страницу в Режиме Телетайпа
- Вызов функции fh: Определение Текущего Видеорежима
- 4. Дополнительные возможности BIOS EGA/VGA
- Вызов функции 10h: Установка Регистров Палитры
- Подфункция 0: Установка Отдельного Регистра Палитры
- Подфункция 1: Установка Регистра Цвета Рамки
- Подфункция 2: Установка Всех Цветов Регистров Палитры
- Подфункция 3: Переключение Бита Яркость/Мерцание
- Подфункция 7 (только VGA): Чтение Отдельного Регистра Палитры
- Подфункция 8 (только VGA): Чтение Регистра Цвета Рамки
- Подфункция 9 (только VGA): Чтение Всех Регистров Палитры
- Подфункция 10h (только VGA): Установка Отдельного Регистра ЦАП
- Подфункция 12h (только VGA): Установка Блока Регистров ЦАП
- Подфункция 13h (только VGA): Выбор Подмножества Цветов
- Подфункция 15h (только VGA): Чтение Отдельного Регистра ЦАП
- Подфункция 17h (только VGA): Чтение Блока Регистров ЦАП
- Подфункция 1ан (только VGA): Чтение Цвета Состояния Страницы
- Подфункция 1bh (только VGA): Суммирование Регистров ЦАП Для Получения Оттенков Серого
- Вызов функции 11h: Генерация Символов
- Подфункция 0: Загрузка Набора Символов Пользователя в Алфавитно-Цифровом режиме
- Подфункция 1: Загрузка Монохромного Набора Символов из ПЗУ
- Подфункция 2: Загрузка Набора Символов из ПЗУ с Удвоенным Числом Точек
- Подфункция 3: Установка Спецификатора Блока
- Подфункция 4: Загрузка 16-строчного Набора Символов (8х16) из ПЗУ
- Подфункция 10h: Загрузка Наборов Символов Пользователя в Алфавитно-Цифровом Режиме
- Подфункция 11h: Загрузка Монохромного Набора Символов из ПЗУ
- Подфункция 12h: Загрузка Набора Символов из ПЗУ с Удвоенным Числом Точек
- Подфункция 14h: Загрузка 16-строчного Набора Символов из ПЗУ
- Подфункция 20h: Графические символы (8х8), Определяемые Пользователем
- Подфункция 21h: Графические символы, Определяемые Пользователем
- Подфункция 22h: Набор Символов 8х14 из ПЗУ
- Подфункция 23h: Набор Символов 8х8 из ПЗУ
- Подфункция 24h: Набор символов 8х16 из ПЗУ
- Подфункция 30h: Информационная
- Вызов функции 12h: Альтернативный Выбор
- Подфункция 10h: Возвращает информацию
- Подфункция 20h: Выбор Альтернативной Программы Печати Экрана
- Подфункция 30h (только VGA): Выбор Количества Строк Развертки в Алфавитно-цифровом Режиме
- Подфункция 31h (только VGA): Разрешение Загрузки Палитры по Умолчанию
- Подфункция 32h (только VGA): Видеофункция
- Подфункция 33h (только VGA): Суммирование для Получения Градаций Серого
- Подфункция 34h: Эмуляция Курсора
- Подфункция 35h: Выбор Активного Дисплея
- Подфункция 36h: Регенерация Изображения
- Подфункция 10h: Возвращает информацию
- Вызов функции 13h: Вывод Строки на Активную Страницу в Режиме Телетайпа
- Вызов функции 1ан (только VGA): Комбинированный Код Дисплея (ККД)
- Вызов функции 1bh (только VGA): Информация о Функциональных
- Вызов функции 1ch (только VGA): Сохранение/Восстановление
- Вызов функции 10h: Установка Регистров Палитры
- Физическая организация адаптеров
- 6. Введение в регистровое программирование
- Порт 3C2h: Регистр Смешанного Вывода (Miscellaneous Output Register)
- Порт 3?Ah Регистр Управления Признаком (Feature Control Register)
- Порт 3C2h: НУЛЕВОЙ Регистр Входного Состояния (Input Status Register Zero)
- Порт 3?Ah: ПЕРВЫЙ Регистр Входного Состояния (Input Status Registr One)
- Порт 3C3h (только VGA): Регистр Разрешения Видеоподсистемы (Video Subsystem Enable Register)
- Порт 3?Ah Регистр Управления Признаком (Feature Control Register)
- 7. Регистры Указателя Последовательности
- Порт 3c4h: Регистр Адреса Указателя последовательности (Sequencer Address Register)
- Порт 3c5h: Регистр Сброса (индекс 0) (Reset Register)
- Порт 3c5h: Регистр Режима синхронизации (индекс 1) (Clocking Mode Register)
- Порт 3c5h: Регистр Маскирования Растра (индекс 2) (Map Mask Register)
- Порт 3c5h: Регистр Выбора Символьного Растра (индекс 3) (Character Map Select Register)
- Порт 3c5h: Регистр Режима Памяти (индекс 4) (Memory Mode Register)
- 8. Регистры контроллера электронно-лучевой трубки (КЭЛТ)
- Порт 3?4h: Регистр Адрес КЭЛТ (CRTC Address Register)
- Порт 3?5h: Общий Горизонтальный Регистр (Индекс 0) (Horizontal Total Register)
- Порт 3?5h: Регистр КОНЕЦ РАЗРЕШЕНИЯ ВЫВОДА ПО ГОРИЗОНТАЛИ (Индекс 1) (Horizontal Display Enable End Register)
- Порт 3?5h: Регистр Начало Затемнения по Горизонтали (Индекс 2) (Start Horizontal Blanking Register)
- Порт 3?5h: Конец Затемнения по Горизонтали (Индекс 3) (End Horizontal Blanking Register)
- Порт 3?5h: Регистр Сигнал Начало Обратного Сканирования (Индекс 4) (Start Horizontal Retrace Pulse Register)
- Порт 3?5h: Регистр Конец Обратного Сканирования по Горизонтали (Индекс 5) (End Horizontal Retrace Register)
- Порт 3?5h:Регистр Общий Вертикальный (индекс 6) (Vertical Total Register)
- Порт 3?5h: Регистр Переполнения КЭЛТ (индекс 7) (CRT Controller Overflow Register)
- Порт 3?5h: Регистр Предварительная Строчная Развертка (индекс 8) (Preset Row Scan Register)
- Порт 3?5h: Максимальная Строка Развертки (индекс 9) (Maximum Scan Line Register)
- Порт 3?5h: Регистр Начало Курсора (индекс ah) (Cursor Start Register)
- Порт 3?5h: Регистр Начало Курсора (индекс bh) (Cursor Start Register)
- Порт 3?5H: Регистр Начального Старшего Адреса (индекс ch) (Start Address High Register)
- Порт 3?5h: Регистр Начального Младшего Адреса (Индекс dh) (Start Address Low Register)
- Порт 3?5h: Регистр Старшего Адреса Курсора (Индекс eh) (Cursor Location High Register)
- Порт 3?5h: Регистр Младшего Адреса Курсора (Индекс fh) (Cursor Location Low Register)
- Порт 3?5h: Регистр Начало Обратного Хода Луча по Кадру (Индекс 10h [Запись])
- Порт 3?5h: Регистр Старшего Адреса Светового Пера (Индекс 10h [чтение], только EGA) (Light Pen High Register)
- Порт 3?5h: Регистр Конец Обратного Хода Луча по Кадру (Индекс 11h [запись]) (Vertical Retrace End Register)
- Порт 3?5h: Регистр Младшего Адреса Светового Пера (Индекс 11h [чтение], только EGA) (Light Pen Low Register)
- Порт 3?5h: Конец Разрешения Вывода Кадров (Индекс 12h) (Vertical Display Enable End Register)
- Порт 3?5h: Регистр СМЕЩЕНИЯ (Offset Register)
- Порт 3?5h: Регистр Положения Подчеркивания (индекс 14h) (Underline Location Register)
- Порт 3?5h: Регистр Затемнения ПО Кадру (индекс 15h) (Start Blancing Register)
- Порт 3?5h: Регистр Конец Затемнения по Кадру (индекс 16h) (End Vertical Blanking)
- Порт 3?5h: Регистр Управления Режимом (Индекс 17h) (Mode Control Register)
- Порт 3?5h: Регистр Сравнения Строк (индекс 18h) (Line Compare Register)
- 9. Регистры Графического Контроллера
- Порт 3CAh: Регистр Положения Графики 2 (Только EGA) (Graphics 2 Position Register)
- Порт 3CCh: Регистр Положения Графики 1 (Только EGA) (Graphics 1 Position Register)
- Порт 3CEh: Регистр Адрес Графики 1 И 2 (Graphics 1 and 2 Address Register)
- Порт 3CFh: Регистр Установка/Сброс (Индекс 0) (Set/Reset Register)
- Порт 3CFh: Регистр Разрешения Установки/Сброса (Индекс 1) (Enable Set/Reset Register)
- Порт 3CFh: Регистр Сравнения Цветов (Индекс 2) (Color Compare Register)
- Порт 3CFh: Регистр Циклический Сдвиг Данных (Индекс 3) (Data Rotate Register)
- Порт 3CFh: Регистр Выбора Схемы Чтения (Индекс 4) (Read Map Select Register)
- Порт 3CFh: Регистр Режим (Индекс 5) (Mode Register)
- Порт 3CFh: Регистр Смешанный (Индекс 6) (Miscallaneous Register)
- Порт 3CFh: Регистр Цвет Безразличен (Индекс 7) (Color Don't Care)
- Порт 3CFh: Регистр Битовой Маски (Индекс 8) (Bit Mask Register)
- 10. Регистры Атрибут-Контроллера
- Порт 3c0h: Регистр Адрес Атрибута (Attribute Address Register)
- Порт 3c0h: Регистры Палитры (индекс 0 - fh) (Palette Register)
- Порт 3C0H: Регистр Управления Режимом (индекс 10h) (Mode Control Register)
- Порт 3C0H: Регистр Цвета Рамки (индекс 11h) (Overscan Color Register)
- Порт 3C0H:Регистр Разрешения Матрицы Цветов (индекс 12h) (Color Plane Enable Register)
- Порт 3C0h: Регистр Горизонтальное Поэлементное Панорамирование (Индекс 13h) (Horizontal PEL Panninig Register)
- Порт 3C0h: Регистр Выбор Цвета (Индекс 14h, только VGA) (Color Select Register)
- 11. Регистры Цифро-аналогово преобразователя (только VGA)
- Порт 3C7h (Только VGA): Регистр Состояния ЦАП (DAC State Register)
- Порт 3C7h (Только VGA) Режим Чтения PEL Адреса (PEL Address Read Mode)
- Порт 3C8h (Только VGA): Режим Записи PEL Адреса (PEL Address Write Mode)
- Порт 3C9h (Только VGA): Регистр PEL Данных (PEL Data Register)
- Порт 3C6h (Только VGA): Регистр Маскирования PEL (Pel Mask Register)
- 12. Область сохранения BIOS
- 13. Дисплеи
- 14. Примеры программирования и ловушки
- 15. Прикладные задачи
- Порт 3C2h: Регистр Смешанного Вывода (Miscellaneous Output Register)