FAQ по вопросам перепрошивки биосов для различных версий видеокарт на базе чипов R100, RV100, RV200, R200

Дмитрий Виллер(Viller)

Алекс (alex14n)

Константин Ворон (int13H)

 

 

Предупреждение! Перепрошивка биоса видеоадаптера - потенциально опасная процедура. Вы можете необратимо испортить свою видеокарту, потерять гарантию или вам потребуется помощь квалифицированных специалистов. Чтобы избежать этого внимательно прочитайте этот FAQ.


Какой программой осуществляется прошивка биоса и откуда она взялась?

Прошивка биоса осуществляется с помощью программы Flashrom, которая изначально была выложена на сайте компании Dell и предназначалась для смены биосов видеокарт Radeon DDR 64 VIVO с версии NTSC на PAL и наоборот. Но оказалось, что она вполне подходит и для перепрошивки биосов всего семейства Radeon. Написана она или программистами ATI, или программистами Dell после предоставления им тех.документации на видеоадаптер, т.к. написать ее без необходимой документации было бы весьма нелегко, - дело в том, что процедура инициализации биоса Radeon сильно отличается от таковой у других видеоадаптеров, инициализирующих видеобиос по такому же принципу, как это делалось еще на ISA видеокартах. У Radeon видеобиос инициализируется, используя спецификацию PCI в полной мере, что позволяет на определеннои этапе оставить в Shadow RAM только часть, необходимую для дальнейшей работы, без блока инициализации и с рядом изменений (например, 3-его байта, определяющего размер видеобиоса). С появлением видеоадаптеров Radeon 7500/8500 эта утилита была модицицированная Джоном Хоеком (John Hoek) и новым вариантом можно пользоваться для работы с новой линейкой видеокарт ATi. Позже ATI официально разрешила партнерам сделать замену BIOS видеокарт пользовательской функцией, и сейчас Flashrom и более позднюю его версию - Atiflash вы можете найти на сайтах у многих производителей видеокарт. Эти утилиты вы можете скачать у нас на сайте в разделе Downloads.

А нужно ли мне менять биос на своей видеокарте?

Рассмотрим случаи, когда такая замена действительно имеет смысл:

  • Наибольший интерес она представляет для владельцев Radeon с TV-out (телевизионным выходом) для смены стандарта кодирования видеосигнала с NTSC на PAL.
  • Для разгона карты, чтобы не пользоваться твикерами, или же для снижения слишком жестких таймингов памяти в BIOS.
  • Для замены стандартных шрифтов 8x8 и 8x16 на русифицированные.
  • Для изменеия частот разверток в VESA-режимах.

Во всех остальных случаях перепрошивка биоса не имеет смысла.

Что дает перепрошивка биоса видеокарты Radeon LE?

Увы, полностью надежды владельцев видеокарт Radeon LE не оправдались, - перепрошивка не делает их карту полноценной DDR, фирменную технологию HyperZ новый биос автоматически не включает. И в чем причина: в разводке самой видеокарты или программируемых регистрах чипа - пока не ясно. Хотя, безусловно, улучшения есть и немалые.

Во-первых, дефолтные частоты становятся 166/166 вместо 148/148. Во-вторых, в LE HyperZ включался при обязательном внесении в реестр двух ключей: "DisableHyperZ"="0" и "FastZClearEnabled"="1" второй без первого не действовал.

В DDR ключей вносить было не надо и так все работало. Сейчас без ключей не работает, но для включения достаточно только "FastZClearEnabled"="1". По производительности LE с биосом DDR OEM остался на уровне LE с включенным HyperZ, т.е. отставание от настоящего DDR в пределах 1%

Могу ли я сам изменить частоты работы ядра и памяти в своем биосе?

Да, можете! - с помощью программы RadEdit:

Для редактирования биоса необходимо:

  • загрузить дамп биоса, который вы собираетесь редактировать (желательно в формате *.rom);
  • изменить частоты по вашему усмотрению. Предупреждение: Для видеокарт на чипах R100, RV100 частоты должны быть синхронными.
  • по желанию изменить шрифты, т.е. Русифицировать биос (процедура описана ниже);
  • сохранить полученный биос.

Где взять образ биоса для редактирования и прошивки?

Самый простой, и, наверное, правильный способ — из вашей же видеокарты. Для этого в программах прошивки нужно выбрать опцию записи образа биоса в файл, например:

flashrom -s 0 my_bios.rom

Также можно взять образ биоса совместимой видеокарты из раздела Downloads нашего сайта. Но в этом случае надо быть осторожнее! Дело в том, что даже на картах одной линейки может использоваться разная видеопамять, от разных производителей, с разными настройками таймингов. В некоторых случаях использование не "родного" биоса может принести несколько дополнительных МГц при разгоне карты, в других вызвать появление артефактов даже на стандартных частотах.

Что дает русификация биоса?

"Русифицированная" прошивка биоса видеоадаптера - это прошивка, в которой вместо стандартной таблицы символов (без русских букв) добавлена таблица в кодировке 866 из файла формата *.cpi с поддержкой кириллицы. Для этого в исходной прошивке в соответсвующие места вставляются нужные символы, а затем пересчитывается контрольная сумма файла прошивки - и все готово. Внимание: при этом в остальных местах прошивки ничего не меняется, следовательно это не влияет на качество 2D/3D и т.п.

При использовании этого биоса отпадает необходимость в наличии Русификатора в текстовом режиме (полноэкранный консольный режим в Windows) и экономится место в оперативной памяти ниже 1 Мб (или 640 Кб). Кроме того он устраняет в ряде операционных систем, в которых при критической ошибке выдается сообщение об этом по-русски, нечитабельность этого сообщения, из-за того, что Русификатор тоже повис вместе с системой :).

В принципе нельзя сказать, что это вам необходимо иметь Русифицированный биос.

За русификацию ДОСа в Windows 9X отвечают следующие строчки в:

  • config.sys:
    mode con codepage prepare=((866) C:\WIN\COMMAND\ega3.cpi)
    mode con codepage select=866
  • autoexec.bat:
    device=C:\WINDOWS\COMMAND\display.sys con=(ega,,1)

Все вышеперечисленные проблемы решаются и другими способами, например, загрузкой программы-Русификатора при старте системы. Тогда все описанные строки можно заменить одной в

  • autoexec.bat:
    C:\WINDOWS\COMMAND\.com

и поместить .com в соответствующую папку. Но под WinME, где чистый DOS спрятан глубоко внутрь, а вы не хотите видеть "грузинский" шрифт при подвисании машины, Русифицированный биос видеоплаты — неплохое решение.

Как мне Русифицировать мой биос?

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

Существует 3 размера шрифтов для DOS-режимов: 8x8, 8x14 и 8x16, но в биосах карт серии Radeon шрифтов 8x14 обнаружено не было, и, судя по всему, они при необходимости создаются из шрифтов 8x16.

Консольный вариант редактора работает только с файлами, содержащими единственный шрифт. В этих файлах последовательно хранятся побитовые изображения всех 256 символов, при этом символы 8x8 занимают 8 байт, а 8x16 - 16 и размеры файлов получаются 2048 и 4096 байт, соответственно.

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

Есть два способа взять шрифты для Русификации вашего биоса:

  • Из файлов C:\Windows\System32\Ega.cpi - для Windows NT/2000/XP или C:\Windows\Command\Ega3.cpi - для Windows 95/98/Me, выбрав русскую кодировку 866.
  • из уже Русифицированного биоса из раздела Downloads.

Делается это следующим образом:

  • Для консольной версии RadEdit:
    Команда RadClk.exe /s ddr_rus.rom записывает шрифты из образа биоса ddr_rus.rom и записывает их в файлы font8x8.fnt и font8x16.fnt.
    Команда RadClk.exe /l my_bios.rom загружает эти шрифты в образ биоса my_bios.rom.
  • Графический вариант редактора позволяет также читать и загружать файлы со шрифтами формата fnt и cpi. При использовании файлов со шрифтами формата *.cpi шрифты 8x8 и 8x16 загружаются независимо, и при этом предлагается выбрать кодовую страницу нужного шрифта. Для русской кодировки это 866.

Таким образом, алгоритм русификации биоса таков:

  • Запускаем редактор биосов RadEdit.exe
  • Нажимаем кнопку "Load..." и выбираем нужный файл с образом редактируемого биоса.
  • Нажимаем кнопку "Load 8x8 font..."
  • Выбираем файл ega3.cpi или ega.cpi в зависимости от варианта Windows.
  • Выбираем кодовую страницу 866 и нажимаем кнопку "OK".
  • Нажимаем кнопку "Load 8x16 font..."
  • В соответствии с предыдущими пунктами выбираем cpi-файл, кодовую страницу, и нажимаем "OK".
  • Нажимаем кнопку "Save..." и записываем новый образ в файл.

Как правильно перепрошить биос?

Распакуйте архив с прошивальщиком в отдельную папку. Лучше с коротким именем и расположенную в корневой директории. Туда же поместите биос, который будете шить. Наименование файла с дампом биоса и его расширение роли не играет, но имя не должно содержать больше 8-ми символов. Можете назвать его ddr.bin, ddr.rom или просто ddr. Описанные действия можно выполнить в Windows. Прошивать же надо в голом ДОС без himem.sys(MS-Dos emulation от windows 9x также подойдет, но загружаться надо по Shift+F5 - Safe Mode Command Prompt Only), лучше загрузившись с дискеты и предварительно отсоединив кабели от TV-Out и TV-In (если есть). Сначала можно просто запустить flashrom.exe, чтобы получить справку по ключам для перепрошивки. Затем следует определить номер видеокарты в системе:

flashrom -i

но для AGP-видеокарты это будет 0. После этого настоятельно рекомендуется сохранить оригинальную версию биоса вашей видеокарты:

flashrom -s 0

А уж потом шейте:

flashrom -p 0

Осталось лишь перезагрузиться, а если вы хотите, чтобы это произошло автоматически, то припишите ключ -r в строке при перепрошивке.

Надо ли что-то делать после перепрошивки?

Владельцам карт c TV-out после смены биоса желательно переустановить драйвера, причем можно не стирать файлы, оставшиеся в папке C:\Windows\System. Можно попробовать не переустанавливать драйвера, а стереть в реестре ветку HKEY_LOCAL_MACHINE\Software\ATI Technologies, перезагрузить машину и заново настроить видеокарту.

Что делать, если прошивка биоса прошла неуспешно и машина даже не запускается?

Многие материнские платы при ошибке инициализации видеоадаптера продолжают загрузку, так что видеокарту можно прошить "в слепую". Об этом лучше позаботиться заранее - создать командный файл с содержимым "flashrom -p 0 ". "В слепую" его запустить гораздо проще, чем набирать комманду программирования целиком, особенно, если дать ему короткое имя, например, rep.bat . Прошивальщик способен работать с картой даже если прошитый BIOS имеет неверную контрольную сумму, и карта не инициализируется. Если же ваша материнская плата отказывается загружаться в таком режиме, то вам понадобится другая видеокарта в PCI или ISA слот, (но не в AGP!). Не убирая Radeon из AGP-слота, вставьте вторую видеокарту с свободный PCI или ISA слот. Для PCI карты установите в системном биосе в разделе Integrated Peripherals "Init Display First" в значение PCI. Не исключено, что для этого вам все-таки придется временно вынуть Radeon из слота, т.к. компьютер может не грузиться, пытаясь инициализировать именно его, а затем вставить назад.
После этого действуете так же, как при прошивке:
Определяете номер Radeon в системе (не перепутайте - у вас стоит две карты!):

flashrom -i

Скорее всего Radeon в AGP-слоте будет иметь номер 0. И заливаете назад предварительно сохраненный родной биос:

flashrom -p 0

Выключаете машину, вынимаете вторую видеокарту и загружаетесь вновь — все должно работать.

Какие еще есть ключи в программе прошивки и для чего они нужны?

В программе перепрошивки биоса есть еще несколько ключей. Правда, если вы уверены, что биос, который вы собрались прошить, подходит к вашему видеоадаптеру, то пользоваться этими ключами вам нет никакой необходимости.

Наибольшее число вопросов вызывает ключ -l, который проверяет не заблокирована ли микросхема flash для записи. Даже если программа отвечает "Yes", то прошивка пройдет нормально. По всей видимости, имеется в виду так называемая "программная блокировка" - запись во Flash осуществляется специально усложенными последовательностями команд. Это сделано для предотвращения случайного повреждения видеоBIOS.

Еще несколько ключей -cf -cb -cr позволяют подсчитать контрольную сумму (CRC) файла или биоса и проверить её на соответствие условиям, заданным с помощью параметров Size и CheckSum.

Можно ли прошить BIOS от другой карты?

Можно попытаться. В любом случае, крайне желательно соблюдение следующих условий:

  • BIOS должен быть от карты с тем же чипом.
  • BIOS должен быть от карты с аналогичной PCB (в крайнем случае, от карты с аналогичной организацией памяти).
  • Основные характеристики карт (объем памяти, наличие выходов, шина, и.т.д.) должны совпадать.

Но даже при соблюдении этих условий нормальная работа карты не гарантируется - даже небольшие отличия в таймингах памяти могут привести к неработоспособности BIOS'а.

Что делать, если BIOS не прошивается?

Прежде всего проверить микросхему, установленную на карте на возможность перезаписи без специальных устройств (программаторов). Как это сделать - описано здесь. Если микросхема поддерживает перезапись, проверить, не забыли ли вы отключить шнуры от видеовыходов и видеовходов. Также желательно проверить поддержку вашей видеокарты программой прошивки (особенно если у вас Radeon 8500 AIW, Radeon 9000/PRO или Radeon 9700) - откройте в любом текстовом редакторе файл flasfrom.rom (или atiflash.cfg) от вашего прошивальщика, и провертьте в нем наличие следующих строк:

"; 08/10/01 added new chipIDs for R200 AIW w/ Bridget" - для 8500 AIW и

"; 03/21/02 added support for R300/RV300/RL300(Khan), RV250(Iris), & M9(Iris)" - для Radeon 9000/PRO и Radeon 9700.

Также проверьте, описана ли микросхема flash, установленная на вашей плате в этом файле.


 

 

 

Вёрстка:
Александр Ефимов (IdeaFix)

На главную страницу

Главная | Справочник | FAQ | Статьи | Загрузки | Контакты | Конференция

Логотипы, торговые марки и прочие зарегистрированные знаки принадлежат их правообладателям.
Copyright © 2001 - 2016, Radeon.ru Team.
Перепечатка материалов запрещена.

Рейтинг@Mail.ru Rambler's Top100