Переделываем игровые платы на чипах от ATI в профессиональные!

Как известно, от положения резисторов на подложке чипов серии R300 зависит возможность программирования их DeviceID. Передвинув резистор на RADEON 9500, как показано на знаменитой :) картинке…

…и прошив BIOS от RADEON 9700, мы получили возможность перепрограммирования DeviceID из 4144 (DeviceID RADEON 9500) в 4E44 (DeviceID RADEON 9700). Плата превратилась в полноценный RADEON 9700. Однако, этот резистор на подложке - не единственный. Резистор, стоящий по соседству, тоже установлен на подложку явно не "просто так". Мы сразу предположили, что он отвечает за возможность изменения DeviceID и перепаяв его, мы смогли бы получить, например, "профессиональные" адаптеры серии FireGL X1, Z1 и т.д... Но для этого нужны BIOS от этих плат, чего у нас в тот момент не было и не предвиделось. Пришлось делать BIOS для FireGL самостоятельно :).

Итак, действуем! Первым делом берем плату от Sapphire на базе RADEON 9700 (с тем же успехом можно взять плату на базе RADEON 9500, но предварительно перепаять еще один резистор :) ) и передвигаем соседний резистор на новое место:

Теперь программирование DeviceID чипа полностью открыто, остается залить новый BIOS. За основу я взял BIOS от Hercules на базе RADEON 9700. Для того, чтобы плата определилась драйвером для FireGL X1 как "родная" нужно, чтобы как минимум DeviceID чипа, VendorID и SubID платы совпадали с "родными" у FireGL X1. Эти значения я нашел в inf-файле драйвера для FireGL X1:

А из inf-файла драйвера Catalyst 2.5 видно, что плата на базе RADEON 9700 имеет другие ID:

После поиска строк с ID в файлах BIOS и сопоставления BIOS от RADEON 9500, RADEON 9500 Pro и RADEON 9700 я выяснил, в каких местах находятся эти ID и что нужно менять в исходном BIOS RADEON 9700. Подправляем BIOS (все изменения редактор показывает жёлтым цветом):





После изменения BIOS осталось лишь скорректировать контрольные суммы, это можно сделать с помощью RadEdit, если просто открыть им файл и сохранить, не изменяя.

Итак, в плату залит новый BIOS, и после загрузки Windows обнаруживает новую видеокарту:

Перед экспериментом я вычистил компьютер от всех драйверов ATI, так что пришлось указать системе, где лежит правильный драйвер, то есть драйвер от FireGL X1/Z1. Как только драйвер поставился, система нашла "вторичный адаптер" и уже сама предложила установить драйвер для него:

Конечно соглашаюсь :). Момент истины: перезагрузка. Ура! После перезагрузки Windows показывает, что в системе установлен адаптер ATI FireGL X1:

Но это еще не всё. В свойствах экрана вместо стандартных закладок от контрольной панели драйверов Catalyst появились закладки от FireGL X1. Например, на этой закладке показана информация о видеокарте, это ATI FireGL X1:





А здесь появились настройки драйвера для профессиональных приложений:

Когда я решил погонять игрушки, скорость платы стала немного ниже, чем у обычного RADEON 9700, но главное, что окончательно убедило меня в удачном результате - вот это:

Serious Sam стал использовать OpenGL-драйвер от ATI FireGL X1.

Что ж, с превращением RADEON 9700 в FireGL X1 всё получилось отлично.

Повторим этот же эксперимент над RADEON 9500. RADEON 9500 имеет 4 конвейера, поэтому будет превращаться уже не в FireGL X1, а в FireGL Z1. Берем плату Sapphire RADEON 9500 128 M. Перепаиваем резистор в новое положение:

Берем исходный BIOS от RADEON 9500 128 M и изменяем его:





Корректируем контрольную сумму и заливаем в видеокарту. Загружаемся. Windows находит новый адаптер. Драйвер для FireGL X1/Z1 уже поставлен, поэтому система сходу определяет плату как FireGL Z1:

После установки драйвера снова перезагружаемся и видим в свойствах экрана новую плату:

И "профессиональную" контрольную панель от ATI FireGL Z1:

Информация о видеокарте соответствует цели эксперимента:

А Serious Sam использует OpenGL-драйвер от ATI FireGL Z1:





Полученную из RADEON 9700 плату FireGL X1 мы протестировали в 3DS MAX 5 на машине с конфигурацией:

  • Gigabyte GA-8INXP (Granite Bay)
  • Intel Pentium4 3.06
  • Seagate Barracuda 5 40Gb
  • 1Gb PC2700
  • Windows XP
  • 3DS MAX 5

В 3DS MAX 5 сразу появилась контрольная панель настроек FireGL:

Вот результаты некоторых тестов из папки Benchmark дистрибутива 3DS MAX 5: RADEON 9700 -> FireGL X1 против RADEON 9700 Pro:

Комментарии излишни :).

Файлы BIOS, сделанные нами для RADEON 9700->FireGL X1 и RADEON 9500->FireGL Z1 можно взять, соответственно, здесь и здесь.

Кстати, наш опыт переделки RADEON 9500/9700 в FireGL X1/Z1 - не первый, так что мы не можем и не будем называть себя первопроходцами в этом деле. Как выяснилось, уже до нас люди сообщали об удачных экспериментах и получали в результате «профессиональные» платы на базе R300, но мы решили провести собственное детальное расследование, разобраться во всех подробностях переделки и опубликовать их, а также снять бенчмарки и поделиться с Вами результатами.


For English-speaking readers this news story is available at X-bit labs

Telegram-канал @overclockers_news - это удобный способ следить за новыми материалами на сайте. С картинками, расширенными описаниями и без рекламы.
Страницы материала
Страница 1 из 0
Оценитe материал
рейтинг: 4.6 из 5
голосов: 14


Возможно вас заинтересует

Популярные новости

Сейчас обсуждают