Программирование видеоадаптеров CGA, EGA и VGA© Александр Фролов, Григорий ФроловТом 3, М.: Диалог-МИФИ, 1992, 287 стр. 3. Системы с двумя видеоадаптерамиВ некоторых случаях желательно или необходимо, чтобы компьютер имел два дисплея. Например, для отладки приложений, созданных с использованием SDK Windows можно применять отладчики CodeView и Symdeb. Данные отладчики при отладке приложений Windows нуждаются в компьютере, имеющем два дисплея. На одном дисплее отображается исходный текст отлаживаемого приложения и информация отладчика, а другой используется самим приложением. Фирма IBM разработала свои адаптеры MDA и CGA так, что они могут одновременно подключаться к одному компьютеру. Подключение двух адаптеров стало возможным благодаря ипользованию различного адресного пространства для регистров и видеопамяти этих адаптеров. Адресное пространство, используемое EGA можно изменять. При подключении EGA к монохромному дисплею, адресация регистров и видеопамяти соответствует MDA, а при подключении к цветному дисплею - CGA. Таким образом видеоадаптер EGA может одновременно работать как с MDA, так и с CGA. Видеоадаптер EGA может работать вместе с другим видеоадаптером при выполнении следующих требований:
Таким образом, если EGA работает с цветным дисплеем, то вторым (дополнительным) видеоадаптером может быть MDA или Hercules, работающие с монохромным дисплеем. Если же EGA работает с монохромным дисплеем, то вторым видеоадаптером может быть CGA с цветным дисплеем:
Рисунок 4.1 Системы с двумя дисплеями. Ниже представлена таблица, в которой
перечислены все возможные комбинации
видеоадаптеров, которые можно подключать к
одному компьютеру:
Таблица 4.1 Совместимые типы видеоадаптеров. Может возникнуть вопрос: какой дисплей будет использоваться MS-DOS для вывода информации? Этим дисплеем, называющимся первичным, может быть любой из двух дисплеев. Для изменения первичного дисплея используют команды MS DOS MODE CO80 и MODE MONO. Чтобы цветной дисплей стал первичным исполняют команду MODE CO80, а чтобы первичным стал монохромный дисплей - команду MODE MONO.
Рисунок 4.2 Смена первичного дисплея. Программы, написанные на языках высокого уровня, применяют для отображения первичный дисплей или другими словами - консоль. Некоторые приложения - например LOTUS 1-2-3 и Autocad позволяют пользователю работать с каждым дисплеем безотносительно к тому, какой из дисплеев является первичным. Видеофункции BIOS переключаются между видеоадаптерами в соответствии с состоянием битов D4 и D5 флага конфигурации, расположенного по адресу 0000:0410. |