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


Предупреждение! Перепрошивка биоса видеоадаптера - потенциально опасная процедура. Вы можете необратимо испортить свою видеокарту, потерять гарантию или вам потребуется помощь квалифицированных специалистов. Чтобы избежать этого внимательно прочитайте этот 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 вы можете найти на сайтах у многих производителей видеокарт.
А нужно ли мне менять биос на своей видеокарте?

Рассмотрим случаи, когда такая замена действительно имеет смысл:
Наибольший интерес она представляет для владельцев 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

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

"Русифицированная" прошивка биоса видеоадаптера - это прошивка, в которой вместо стандартной таблицы символов (без русских букв) добавлена таблица в кодировке 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.
из уже Русифицированного биоса.

Делается это следующим образом:
Для консольной версии 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, установленная на вашей плате в этом файле.
Topic revision: r1 - 03 Apr 2012, mishura_5foa
ЦифраБар © 2024
info@cifrabar.ru
ЦифраБар
142280, Россия, г. Протвино, ул. Гагарина, д. 2/а
+7 (4967) 34-30-30, +7 (4967) 74-46-80