Ноутбуки   
   Софт   
   Компьютеры   
   Компьютерные фирмы   
  Меню сайта

BIOS

SSD-накопители

Акустика для ПК

Видеокарты

Видеокарты - История

Джойстики, клавиатуры и мыши

Дигитайзеры

Жесткие диски

Жесткие диски - история

Звуковые карты

Именитые люди компьютерной индустрии

История компьютеров

Карманные компьютеры

Компьютер десктоп - готовая сборка

Компьютерные фирмы

Компьютеры в теории и практике

Копировальные аппараты

Корпуса, вентиляторы, блоки питания

Маршрутизаторы, коммутаторы, хабы

Материнские платы

Модемы

Модули памяти

Мониторы

Мониторы и видеокарты - история

Новости

Ноутбуки и субноутбуки

Оборудование беспроводной связи, bluetooth, wi-fi

Оптические накопители CD, DVD, Blueray

Оргтехника

Память - история

Плоттеры

Принтеры

Процессоры

Процессоры - история

Сетевые карты

Сетевые фильтры, ИБП

Сети

Сканеры

Сменные жесткие диски

Советские ПК

ТВ-тюнеры

Типы компьютеров

Устройства архивации данных и стримеры

Факс

Флоппи-дисководы

Флэшки и всяко-разно

Шины и чипсеты - история




Главная страница Прайс-лист Интернет-магазин

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

Существует два основных способа отображения информации на экране компьютера IBM/PC.
Первый способ, который я буду называть косвенным, состоит в использовании копии изображения, хранящейся в памяти дисплея. Фирма IBM, однако относится к этому способу неодобрительно. В первой редакции руководства по программированию этот способ рассматривается как образец "дурного тона" в программировании, поскольку программы становятся зависимыми от аппаратных особенностей IBM/PC. В случае замены типа дисплея (что является вполне реальным,(см. параграф 8.2) или какой-либо иной аппаратной модификации пользовательские программы подлежат модификации.
Наиболее эффективный способ генерации изображения на экране дисплея состоит в использовании функций обслуживания BIOS; в этом случае при любых модификациях компьютера (либо для последующих моделей IBM/PC) фирмы-изготовители позаботятся о внесении соответствующих изменений в BIOS с тем, чтобы пользовательские программы остались неизменными. Следует однако отметить, что функции обслуживания BIOS-ПЗУ, ориентированные на работу с дисплеями, не вполне корректны; я даже считаю их малопригодными. Во многом это объясняется тем, что любая мало-мальски серьезная программа обходит их и работает непосредственно с памятью дисплея, хранящей изображение. В отличие от точки зрения фирмы IBM на "дурной тон" в программировании, я считаю что использование памяти дисплея, хранящей кодированную копию изображения, вполне обоснованным решением в случае потребности получения быстрых и сложных изображений. Генерация изображения на экране дисплея с помощью адекватного образа памяти обладает огромными преимуществами. Изображение формируется быстро, непосредственно и весьма эффективно. Процесс генерации протекает достаточно просто. Программа, приведенная в приложении 8.1, иллюстрирует особенности реализации этого процесса на языке Бейсик, а текст программы приложения 8.2 содержит ряд процедур обслуживания, предназначенных для прямого обмена с памятью дисплея программ, написанных на языке Паскаль. Эти процедуры могут использоваться в качестве базиса для любых программ обмена с дисплеем, написанных на Паскале, или большинстве других языков.
Принцип работы таких программ весьма прост - во-первых, программе необходимо сообщить тип дисплея - монохромный или цветной. Это можно сделать двумя способами: либо путем опроса пользователя (программа в процессе своей настройки задает пользователю прямой вопрос), либо путем опроса операционной системы (программа в этом случае получает доступ к внутренним таблицам операционной системы, содержащим сведения о типах устройств).
Используя функцию обслуживания BIOS-ПЗУ (рассматривается в разделе 8.11), можно получить информацию о типе используемого дисплея. Это наиболее эффективный способ настройки программ.
После определения типа дисплея необходимо сформировать ссылку (указатель) на соответствующий участок памяти; в случае монохромного адаптера это адрес шестнадцатеричного параграфа B000, а случае цветного графического адаптера - B800. В рамках языка Бейсика это можно осуществить с помощью оператора DEF SEG.В Паскале это делается с помощью сегментированных типов. Любой из названных способов осуществим весьма просто.
Поскольку пользователь имеет возможность обращаться к памяти дисплея, то тем самым у него появляется возможность с одной стороны отображать на экране нужную ему информацию, а с другой стороны он имеет возможность считать то, что уже отображено.
Единственное возникающее при этом осложнение - относительная адресация. Пользователь обязан учитывать наличие байтов-атрибутов (размещаются по нечетным адресам); если необходимо принимать в расчет разбивку экрана на строки, то программы должны выполнить соответствующие вычисления. Если используется страничный механизм дисплея, то следует так же учитывать особенности размещения страниц его адреса кратным 2К и 4К.
В приложении 8.2 приведены наиболее распространенные модули, требуемые для программирования на Паскале. Если возникает потребность в дополнительных модулях, то они могут быть легко добавлены к существующим по уже известной схеме (см. приложение 8.2).


Атрибуты изображений

Основы машинной графики

Особенности воспроизведения цвета

Отображение пикселей на экране

Понятие элемента отображения (пикселя)

Представление текста (символов) в графическом режиме

Принципы формирования изображения

Псевдографический режим

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

Символьные клавиши

Стандартный режим управления видеомонитором

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

Структура копии изображения экрана

Типы экранов видеодисплеев

Управление курсором




Немного рекламы:









































































Реклама и информация:













Счётчик Rambler's Top100