Страница 1 из 4 Первоначально в персональных компьютерах фирмы IBM было определено восемь видеорежимов: семь для CGA и один для MDA. Более сложные адаптеры EGA, MCGA и VGA обеспечили несколько новых режимов плюс модификации исходных восьми. В результате пять видеоподсистем фирмы IBM обеспечивают 12 текстовых и графических режимов и (в зависимости от способа подсчета) семь или восемь модификаций — это не считая дополнительных режимов, имеющихся у адаптеров других фирм, а также у неиспользуемых более систем самой фирмы IBM типа тех, которые были на PCjr. Это вполне достаточный выбор для работы с видеоподсистемами.
Несмотря на такое изобилие видеорежимов, бросается в глаза не столько их различие, сколько :ходство (табл. 4.1): все видеорежимы по своей разрешающей способности и по организации видеобуфера имеют связь с исходными режимами для MDA и CGA.
Монохромный текстовый режим с 80 колонками и 25 строками, имеющийся у MDA, поддерживается также адаптерами EGA и VGA. Точно так же два текстовых режима адаптера CGA (40x25 и i0x25 с 16 цветами) также обеспечиваются адаптерами EGA, MCGA и VGA.
Пусть вас не смущают многочисленные номера режимов, приведенные в табл. 4.1 : различие между режимами 0 и 1, к примеру, состоит в том, что для монохромных мониторов в режиме 0 составной цветовой сигнал CGA модифицируется. Для всех остальных мониторов и при любых видеоподсистемах режимы 0 и 1 совпадают, как совпадают режимы 2 и 3 и режимы 4 и 5.
Точно такая же схема развития и у графических режимов. CGA поддерживает два графических гежима: 4-цветный режим с разрешающей способностью в 320x200 пикселов и 2-цветный режим с разрешающей способностью в 640x200 пикселов. Эти же два режима поддерживаются адаптерами EGA, MCGA и VGA. Вместе с EGA появились три новых графических режима с большим количеством цветов и лучшей разрешающей способностью по сравнению с исходными графическими режимами CGA: 16-цветный 320x200; 16-цветный 640 х 200 и 16-цветный 640x350. EGA также обеспечил монохромный графический режим 640x350, который можно использовать на совместимых с MDA монохромных дисплеях.
Когда появились машины PS/2, то используемые на них видеоподсистемы поддерживали те же :;мые режимы, что и MDA, CGA и EGA, однако опять-таки помимо старых были внедрены еще несколько новых графических режимов. Видеоподсистема MCGA, применяемая в моделях 25 и 30 машин PS/2, сохраняет преемственность с CGA — она поддерживает все режимы CGA плюс два новых графических режима: 640x480 с двумя цветами и 320x200 с 256 цветами. Видеоподсистема VGA, присутствующая на других моделях PS/2, имеет сильное сходство с EGA. Она обеспечивает все текстовые и графические режимы EGA, два новых режима, применяемых для MCGA, и плюс еще один графический режим, который не поддерживается другими подсистемами: 16-цветный 640x480.
Как можно определить, какой режим использовать в программе? Ясно, что если в центре внимания стоит вопрос обеспечения наибольшей совместимости, то в этом контексте режимы адаптеров MЭА и CGA образуют, выражаясь математическим языком, наименьший общий знаменатель среди всех режимов. Если же вам требуются большее количество цветов и лучшая графическая разрешающая Способность, чем те, которые обеспечивают режимы адаптера CGA, то воспользуйтесь одним из графических режимов адаптеров EGA, MCGA или VGA. Однако если для работы вашей программы требуется наличие адаптера EGA или VGA, то пользователи, имеющие только CGA, окажутся обделенными.
Многие продавцы коммерческого программного обеспечения решают данную проблему посредством распространения вместе со своими программными продуктами устанавливаемых программ, обеспечивающих вывод данных для видеоподсистем. Например, прежде чем вы сможете использовать пакет типа Windows фирмы Microsoft или пакет Lotus 1-2-3, вы должны запустить специальную программу установки, которая связывает программы вывода для конкретной видеоподсистемы с прикладным программным обеспечением. Такой подход прибавляет работы и тем, кто пишет npoi-раммное обеспечение, и тем, кто использует его, и тем не менее он является прекрасным способом, обеспечивающим наилучшее возможное качество видеоизображения и позволяющим обойти все сложности, связанные с многообразием аппаратных средств и видеорежимов.
|