Сага о Windows. Глава первая. Часть вторая

Представляем вашему вниманию долгожданное продолжение цикла статей "Сага о Windows"! Мы искренне надеемся, что вам понравится продолжение эпического повествования небезызвестного автора с TheVista.ru о возникновении и истории разработки операционной системы Microsoft Windows!

05.11.2010 00:35,
Страницы: Пред. 1 2 3 4 5 6 След.

IBM Color/Graphics Monitor Adapter, или, короче, CGA, о котором мы уже сказали несколько слов в предыдущей статье, была первой цветной видеокартой IBM с поддержкой графики для компьютеров PC/XT и PC/AT. Выпущена она была в 1981 году одновременно с другой, завоевавшей не меньшую, а, пожалуй, даже и большую популярность монохромной видеокартой IBM Monochrome Display Adapter, или MDA. С технической точки зрения, основное различие между MDA и CGA заключалось в адресуемости отдельных пикселей. MDA, предназначенный исключительно для работы с текстом, обращался не к отдельным пикселями, а к матрице символов, состоящей из 80 столбцов и 25 строк. В каждую “ячейку” матрицы мог быть помещен один из 256 доступных символов, при этом каждый символ занимал 9х14 пикселей (включая межзнаковый и межстрочный интервал). Несложно подсчитать, что теоретическое разрешение видеоадаптера MDA составляло 720х350 пикселей.

Еще одно ключевое различие между видеоадаптерами MDA и CGA следует из их же названий. IBM Monochrome Display Adapter был монохромным, то есть поддерживал вывод только двуцветного изображения. Один из этих цветов был неизменно черный – он составлял фон, второй же цвет определялся типом монохромного монитора. В зависимости от используемого в кинескопе люминофора, монохромные мониторы могли быть зелеными (люминофор P1), светло-коричневыми (люминофор P3) и, гораздо реже, черно-белыми (люминофор P4). Выпущенный специально для MDA “эталонный” монитор IBM 5151 был именно зеленым. И именно этот монитор в дальнейшем получил наиболее широкое распространение и популярность.

Сага о Microsoft Windows
IBM 5151 Monochrome Display

Сага о Microsoft Windows
IBM 5151 Monochrome Display

Color Graphics Adapter, как уже было сказано, стал первым цветным видеоадаптером IBM для персональных компьютеров. Впрочем, здесь нужно сделать целый ряд оговорок. В CGA использовались неквадратные пиксели, имеющие в зависимости от выбранного режима разное соотношение сторон. Графических режимов было два – цветной (320х200), с соотношением сторон пикселя 1:1,2, и монохромный (640х200), с соотношением сторон пикселя 1:2,4. Палитра CGA состояла из 16 цветов, но одновременно на экране могло быть отображено лишь 4 из них. Но на этом ограничения, накладываемые видеоадаптером на использование цветов, не заканчивались. Основные 8 цветов были поделены на две палитры (по 4 цвета в каждой), оставшиеся цвета соотносились с ними как светлые варианты палитр (исключение составляет синий цвет и его светлый оттенок, не входившие ни в одну из палитр). Одновременно на экране могли быть отображены лишь цвета одной палитры, причем смешивать стандартные и светлые варианты также было нельзя. Таким образом, разработчик мог свободно выбрать лишь один из доступных цветов, остальные три задавались используемой палитрой. Исключение составлял лишь цвет фона, который мог быть изменен с черного (входящего в каждую палитру) на любой из 16 доступных.

Но нас больше интересует второй, монохромный режим, так как именно его поддержка обеспечивалась в Windows 1.0. В монохромном режиме разрешение экрана составляло 640х200 пикселей. По умолчанию он был черно-белым, но цвет переднего плана (белый) мог быть программно заменен на любой из 16 доступных в палитре CGA цветов.

CGA был оснащен цифровым RGBI-разъемом для подключения цветных мониторов, а также композитным RCA для подключения NTSC-совместимых экранов (мониторов или телевизоров). Это важно, поскольку CGA оказывался несовместим с монохромными мониторами стандарта MDA, такими как вышеупомянутый IBM 5151. Хотя и MDA, и CGA использовали одинаковый DE-9 разъем, распиновка, а также частоты развертки у них были различны. Важно учитывать, что сигнал описываемых нами стандартов был цифровым, основанным на транзисторно-транзисторной логике (TTL). Проще говоря, по каждому из контактов, задействованных в выводе изображения, передавалось определенное бинарное значение (0 или 1) для каждой точки на экране. Так, в стандарте MDA для формирования изображения использовались Pin 7 (Mono Video) и Pin 6 (Intensity). Pin 7 отвечал за само изображение (условно говоря, зажжена ли определенная точка на экране или погашена). Pin 6 позволял повысить яркость текста (стандарт MDA поддерживал вывод более светлых вариантов символов). В свою очередь, CGA задействовал Pin 3 (Red), Pin 4 (Green), Pin 5 (Blue) и Pin 6 (Intensity). 3 канала RGB позволяли сформировать 8 цветов, последний канал (Intensity) использовался в сочетании с остальными для вывода упомянутых выше светлых вариантов палитр.

Для CGA был выпущен цветной RGBI-монитор IBM 5153 Personal Computer Color Display, который единственный позволял использовать все преимущества нового видеоадаптера. Монохромный монитор, в свою очередь, мог быть подключен к CGA лишь по композитному разъему (модели таких мониторов известны). Через этот же разъем к компьютеру мог быть подключен любой NTSC-совместимый телевизор. Правда, композитный выход был малопригоден при работе в графическом режиме высокого разрешения (640х200), поскольку вносил в изображение значительные цветовые искажения, делая текст трудночитаемым. Единственным совместимым решением, рекомендуемым IBM для работы в графическом режиме 640х200, было использование цветных RGBI-мониторов, таких как IBM 5153.

Сага о Microsoft Windows
IBM 5153 Color Display под управлением IBM PC/XT

Впрочем, большинство вышеназванных ограничений касалось лишь оригинальной продукции IBM, поскольку в сторонних аналогах проблема несовместимости стандартов впоследствии решалась производителями. Но нас все же интересует именно оригинальные решения IBM, так как, во-первых, они были наиболее распространены, и, во-вторых, потому что именно на них ориентировалась Microsoft при разработке Windows 1.0.

Сложно судить, какая из двух видеокарт IBM – MDA или CGA – одержала победу на рынке. Можно лишь с уверенностью сказать, что корпоративные клиенты, больше заинтересованные в работе с текстовыми приложениями, отдавали предпочтение MDA, оснащенной принт-портом и выводившей текст в более высоком разрешении. В любом случае, к 1985 году оба эти видеоадаптера уже уходили в прошлое, хотя и оставались популярными. На смену им пришли две новые модели видеокарт, а вместе с ними и новые стандарты.

В 1984 году забытой в наши дни компанией Hercules Computer Technology, Inc. была выпущена монохромная видеокарта Hercules Graphics Adapter. По своим характеристикам она оказывалась куда ближе к MDA, чем CGA-стандарту. По сути, она просто делала все пиксели MDA отдельно адресуемыми, что позволяло выводить на экран графическое изображение. Как и MDA, она была монохромной и отлично работала с мониторами IBM 5151. Рабочее разрешение также совпадало со стандартом MDA – 720х350 в текстовом режиме и 720х348 в графическом (по техническим причинам высота графического режима должна была быть кратной четырем). Видеоадаптеры Hercules получили достаточно широкое распространение и поддержку в программном обеспечении, поскольку позволяли работать с графикой в более высоком, по сравнению с CGA, разрешении.

В том же 1984 году IBM был предложен новый стандарт видеокарт и мониторов для только что вышедшего компьютера PC/AT. Им стал Enhanced Graphics Adapter. EGA был, несомненно, прорывом для своего времени. По сравнению с CGA, накладывавшей множество ограничений на использование цветовой палитры, EGA поддерживал вывод одновременно 16 из 64 доступных в палитре цветов в разрешении 640х350. Он был обратно совместим с MDA и CGA-мониторами и поддерживал почти все распространенные в то время графические и текстовые режимы. Впрочем, речь о работе EGA с цветными мониторами еще впереди, сейчас же нас интересует его монохромный режим. Настроенный соответствующим образом, EGA-видеоадаптер обеспечивал работу с монохромными мониторами (например, с тем же IBM 5151) в своем родном разрешении 640х350. Поддержка именно этого режима, то есть монохромного режима EGA, подключенного к монохромному монитору, и дебютировала в альфа-версии Windows 1.0.

Таким образом, alpha-версия Windows 1.0 поддерживала три видеоадаптера и три соответствующих им разрешения: 640х200 (CGA), 720х348 (Hercules) и 640х350 (EGA). При этом все три режима оставались монохромными – с CGA подразумевалось использование CGA-совместимого монитора IBM 5153, с Hercules – зеленого, светло-коричневого или черно-белого монохромного монитора. Что же касается EGA, хотя в действительности ситуация с ним обстояла значительно сложнее, в Alpha Release имелась лишь поддержка монохромного режима – видеоадаптер должен быть подключен к монохромному монитору (например, IBM 5151) и настроен соответствующим образом.

Ниже представлены скриншоты Windows 1.00 Alpha Release, запущенной в трех описанных выше режимах.

Сага о Microsoft Windows
Microsoft Windows driver for IBM Color/Graphics Monitor Adapter (640x200)

Сага о Microsoft Windows
Microsoft Windows driver for Hercules Graphics Adapter (720x348)

Сага о Microsoft Windows
Microsoft Windows driver for IBM EGA Card in monochrome mode (640x350)

Комментария требует, пожалуй, лишь странный, темно-синий скриншот EGA. Как было сказано выше, EGA был совместим со всеми описанными типами дисплеев и режимами работы. Совместимость с определенным типом экрана настраивалась посредством шести особых переключателей, которые меняли как частоту развертки, так и распиновку DE-9 разъема. Распиновка стандартов MDA и Hercules полностью совпадала (как было сказано выше, они были совместимы). Pin 7 разъема DE-9 в этих стандартах – Mono Video – отвечал за вывод монохромного изображения на дисплей (см. выше). В “цветном” стандарте EGA цвет точки формировался за счет сочетания шести каналов (битов) – RGB и rgb (последние в документации IBM также фигурируют под названиями Secondary Red, Secondary Green и Secondary Blue соответственно). Pin 7 отвечал за канал Secondary Blue. Соответственно, при переключении видеокарты в монохромный режим, Pin 7 изменялся с Secondary Blue на Mono Video (см. выше). Но в современных эмуляторах подобная настройках EGA не предусмотрена – по умолчанию эмулируется цветной режим EGA с цветным дисплеем, в котором Pin 7 приходится на Secondary Blue. Подобное сочетание каналов (rgbRGB = 001 000) в палитре EGA соответствовало темно-синему (#000055) цвету. Именно поэтому монохромный сигнал при эмуляции оказывается сегодня темно-синим.

Так как наиболее высокое качество монохромного изображения предлагается именно Hercules, и современные эмуляторы правильно воспроизводят выводимое им изображение, в дальнейшем скриншоты Windows 1.00 Alpha Release сделаны именно с использованием этого адаптера.

Характерно, что для разных видеокарт Windows использовала различные шрифты – это хорошо видно при сравнении. Также можно заметить, что различается и фоновая текстура – на новых видеоадаптерах она представляет собой решетку из белых и черных точек, в то время как на CGA состоит из раздражающих глаз черно-белых полосок.

Для запуска Windows исчезла необходимость во вводе команды PATH, указывающей маршрут поиска исполнительных файлов, а сам исполнительный файл Windows был переименован из MSWIN.EXE в WIN.EXE и перенесен из каталога C:\Windows\Bin в основной каталог C:\Windows\Test.

При включении системы теперь не запускаются никакие приложения, кроме оболочки MS-DOS Executive.

Страницы: Пред. 1 2 3 4 5 6 След.
Оцените материал:  
(Голосов: 16, Рейтинг: 3.78)

Каждый вечер мы будем присылать вам одно письмо со всеми опубликованными за день материалами. Нет материалов - нет писем, просто и удобно (другие варианты).

Материалы по теме


Комментарии (0)