3. Системы с двумя видеоадаптерами

В некоторых случаях желательно или необходимо, чтобы компьютер имел два дисплея. Например, для отладки приложений, созданных с использованием SDK Windows можно применять отладчики CodeView и Symdeb. Данные отладчики при отладке приложений Windows нуждаются в компьютере, имеющем два дисплея. На одном дисплее отображается исходный текст отлаживаемого приложения и информация отладчика, а другой используется самим приложением.

Фирма IBM разработала свои адаптеры MDA и CGA так, что они могут одновременно подключаться к одному компьютеру. Подключение двух адаптеров стало возможным благодаря ипользованию различного адресного пространства для регистров и видеопамяти этих адаптеров.

Адресное пространство, используемое EGA можно изменять. При подключении EGA к монохромному дисплею, адресация регистров и видеопамяти соответствует MDA, а при подключении к цветному дисплею - CGA. Таким образом видеоадаптер EGA может одновременно работать как с MDA, так и с CGA.

Видеоадаптер EGA может работать вместе с другим видеоадаптером при выполнении следующих требований:

Таким образом, если EGA работает с цветным дисплеем, то вторым (дополнительным) видеоадаптером может быть MDA или Hercules, работающие с монохромным дисплеем. Если же EGA работает с монохромным дисплеем, то вторым видеоадаптером может быть CGA с цветным дисплеем:

Рисунок 4.1 Системы с двумя дисплеями.

Ниже представлена таблица, в которой перечислены все возможные комбинации видеоадаптеров, которые можно подключать к одному компьютеру:

  MDA CGA EGA VGA Hercules
MDA   + + +  
CGA +   +   +
EGA + +     +
VGA +       +
Hercules + + +    

Таблица 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.