Найти тему
OVERCLOCKERS.RU

Программирование 2d ускорения на 8514/A в связке с ATI Match 8.

Добрый день, друзья!

Сегодня я расскажу о практической работе с одним из первых графическим ускорителей 8514/A. на базе чипов ATI и IBM.

1. Краткий обзор карты

На момент своего выхода карта в своей наиболее совершенной конфигурации поддерживала разрешение 1024х768 с 256 цветами и имела на борту целый мегабайт памяти. Для работы карта использовала шину ISA. Вывод осуществлялся на монитор MDA, EGA или VGA.

На момент выхода версии карты от ATI в 1990 году уже было выпущено много карт с чипом 8514/A от других производителей, однако особенностью карты от ATI было использование в паре с чипом 8514/A своего 2d ускорителя ATI Mach 8. Оба чипа использовали цифровой интерфейс для обмена данными друг с другом.

На изображении печатной платы представленной выше, слева внизу распаяны 512кб памяти,над ними в слотах установлено еще столько же памяти. Чип без маркировки снизу по центру это IBM 8514/A. Над которым распаян 2d ускоритель от ATI.

Кстати, цена на подобную карту в то время была такой же как сейчас на Nvidia 4080 RTX - 1290 $ и это только за базовую версию.

-2

2. Программирование ускорителя 2d графики.

Перейдем пожалуй, к самой интересной части данной статьи,а именно к вопросу о том как заставить это чудо ускорить вывод линий, прямоугольников и их закраску, ускорение операций BitBLT.

Вот здесь и возникает главная проблема. Особенностью карты является отсутствие возможности работать с регистрами напрямую. Все программирование карты осуществляется через специальный интерфейс,что само по себе медленнее чем прямой доступ к железу. К преимуществам данного подхода можно отнести не зависимость от железа то есть в качестве 2d ускорителя в паре с чипом 8514/A может работать любой чип например чип Texas Instruments TMS340x0 также использовался другими производителями в аналогичных картах.

Однако ,к счастью для работы с интерфейсом на просторах интернета нашлась документация от IBM.

-3

Из этой документации следует, что плата поддерживает команды горизонтальной (начинаются с буквы H) и вертикальной (начинаются с буквы V) отрисовки примитивов, а также позволяет установить их цвет и цвет фона.

Теперь, когда есть инструмент для работы можно приступить к написанию кода.

Потратив некоторое время получилась следующая программа на языке C.

В результате трудов, после успешной компиляции и запуска программы на мониторе радостно заплясали разноцветные треугольники. Без ускорителя один такой треугольник рисовался бы минуту. А с ускорителем за секунду несколько тысяч получается вывести на дисплей.

-5

3.Вместо итогов

Работая над программой для использования 2d ускорения графики я осознал,что появление 2d ускорителей было продиктовано бизнес необходимостью. Ведь если бы выводом изображения занимался центральный процессор, то для отрисовки открытия нового окна, например в windows 95 с современным на тот момент процессором х286 уходило бы пара минут и говорить о продуктивной работе в Word, Excel или Paint не представлялось возможным. Поэтому можно сделать вывод что прогресс в железе диктуется бизнес необходимостью.

Надеюсь вам понравился небольшой экскурс в историю графики.

📃 Читайте далее на сайте