Как перепрошить BIOS видеокарты и не кусать потом свои локти

09.10.2000


Введение…

  Итак, в этой статье мы рассмотрим, как правильно выполнить пугающую для новичков процедуру –перепрошивку BIOS (БИОС) видеокарты. Напомню, что BIOS (от англ. Basic Input-Output System — Базовая Система Ввода-Вывода) — является одной из важнейших «шестеренок» видеокарты, без которой правильное функционирование оной не представляется возможным… Вот почему, данная процедура так пугает новичков, ведь «запорОв» БИОС можно надолго остаться без видеоакселератора…
  Существует множество различных версий и модификаций БИОСов для видеокарт, начиная от БИОСов, прошиваемых фирмой-изготовителем карты и, заканчивая, референсными БИОСами от производителя графических чипов, в нашем случае от NVIDIA. В большинстве своем, референсные БИОСы, также как и драйверы (детонаторы) можно прошить на любой соответствующий видеоадаптер, неважно, выпущен ли он фирмой ASUSTeK либо фирмой Creative… Главное здесь — выбрать свой тип БИОСа именно для собственной видеокарты. Поясняю — можно ведь попытаться БИОС от GeForce2 GTS прошить на видеокарту с чипом Vanta… Я, конечно, сомневаюсь, что найдется желающий таким образом увеличить быстродействие но, чем черт не шутит… С другой стороны, видеокарты одного ряда (собранные/выпущенные разными производителями на одном и том же чипе, например GeForce256 или TNT2) различаются еще по типу установленной на них видеопамяти — SDRAM или SGRAM. Для SGRAM будет своя версия БИОСа, для SDRAM — соответственно своя… Помните об этом, скачивая БИОСы с сайтов!


Зачем вам это?

  Вначале попытаемся сразу же отговорить вас от этой затеи — перепрошивки БИОСа… Подумайте, что вы хотите достигнуть этой операцией? Ответов может быть несколько:

  • Хочу БИОС с поддержкой SBA
    Прочитайте на нашем сайте статью об SBA и живете без него спокойно — как говорится, «работает, сынок, ну и не тронь!»…

  • Хочу разогнать свою карту, изменив частоты прямо в БИОСе, чтобы не загружать каждый раз PowerStrip
    Да, это, конечно, вопрос на злобу дня… Если у вас карта на чипах TNT/TNT2, то можно воспользоваться TNTClck-ом, а вот если GeForce или GeForce2… Пока, такой распространненной утилиты разгона от стороннего производителя нам не встречалось, однако, можно воспользоваться фирменными разгонялками, встроенными в драйверы (они, правда, не всегда присутствуют — тут в некотором роде выручают референс-драйверы)… Да, и с TNTClck есть некоторые проблемы — он некорректно разгоняет память выше 200 Мгц на некоторых не-Asus картах (Diamond, Creative)… Плюс ко всему, все привыкли что если карту разгоняют — то для достижения большей скорости в играх. Где игры — там ОС Windows 9X. А ведь есть еще и Windows NT, в которой не работают ни TNTClck, ни встроенная в драйвера разгонялка… В общем, здесь вопрос так и остается открытым.

  • Хочу уменьшить тайминги памяти и тем самым увеличить скорость…
    Еще один миф! Точнее, конечно, быстродействие увеличится, но не настолько, чтобы проводить такую рискованную операцию (опять же, статья для новичков в этом деле — ассы могут только улыбнуться при этих словах J)… К тому же, зачастую, это ведет к снижению порога разгона, либо к понижению стабильности работы платы… Да и наш старый добрый TNTClck может вам подойти для карт не выше Ultra.

  • Хочу поменять надписи, выводимые картой при загрузке…
    Ну, это уже баловство… J Если вы считаете, что это того стоит — вперед!

  • Хочупоменять Sub Vendor ID/ Sub Vendor Model.
    Вот здесь ничего другого предложить пока нельзя… Если вам это действительно нужно, например, прошить фирменный БИОС от Asus на noname-карту, либо сделать из PowerColor-а Creative, чтобы пользоваться фирменными драйверами и утилитами — дерзайте!

  • Хочу поменять БИОС на более свежий — в моем обнаружены глюки…
    Вот это, пожалуй, причина, по которой стоит заменить свой БИОС, на более новый. Тогда эта статья именно для вас. Здесь только надо упомянуть такой момент: если у вас все работает «ОК», и обнаруженные в вашем БИОСе глюки, вас никоим образом не касаются (например, «решена некая проблема, в некой неизвестной вам программе» или «улучшена совместимость с каким-то чипсетом» (например, MVP3, а у вас BX)), то успокойтесь — «глюки прошли мимо», и вам совсем не зачем беспокоиться и, уж тем более, перепрошивать БИОС. В этих и подобных случаях риск запороть карту, себя не оправдывает.


Ближе к делу

  Теперь небольшое введение в практическую часть — случай из нашей практики. На плате Asus 3800 Pro 32M, разогнанной до частот 187/210 (ядро/память соответственно) требовалось прошить БИОС с поддержкой SBA. Прошить фирменным прошивальщиком не удалось… Пришлось извлекать БИОС и прошивать с помощью стандартного прошивальщика от NVIDIA. В итоге — тайминги в БИОСе с SBA оказались меньше, чем в фирменном БИОСе… Увеличение их, не дало ожидаемый результат по стабильной работе платы, и пришлось снижать частоты до 180/200… Это, к вопросу о необходимости прошивки БИОСа с поддержкой SBA для увеличения производительности карты. Кстати, БИОС от ASUSTeK не является исключением в плане неудачи перепрошивки. БИОСы от Diamond, к примеру, «стандартный прошивальщик» от NVIDIA «не понимает», точнее, он «не понимает» flash-микросхему карты — поэтому здесь выход только один — использовать фирменный прошивальщик.
  Итак, если, все-таки, прочитав выше сказанное, вы не отказались от своего намерения; если установка самого последнего детонатора является для вас делом чести, а прохожие тычут в вас пальцем из-за того, что вы еще ни разу (подумать только! J) не перепрошивали БИОС видеокарты, если так — то, переходим к практической части…
  Для начала составим небольшой алгоритм действий по перепрошивке (поверьте, стоит потратить лишние 5-10 минут на подготовку своих тылов):

  1. Документируем все свои действия на бумаге, на случай провала операции… Этим вы обеспечите себя/восстанавливающего необходимой информацией.

  2. Создаем backup (резервную копию) БИОСа. В случае неудачи, вы можете попытаться восстановить БИОС самостоятельно. Или, принесете свой БИОС для перепрошивки на фирму, в которой покупали плату… Обычно, резервная копия — это небольшой (~ 50Кб) файл, который можно создать прошивальщиком, либо какой-либо другой утилитой. Рекомендуем для простоты давать файлу простое имя, к примеру, «my.bin».

  3. Создаем все условия для восстановления. Данный пункт подразумевает создание загрузочного диска, на котором будет находится ваша резервная копия, и которая будет грузится по умолчанию. Рассмотрим чуть подробней….

    • В Setup установите порядок загрузки с диска «А»

    • Сделайте загрузочную дискету средствами вашей ОС

    • Проверьте, загружается ли с нее машина, если да, то двигаемся дальше

    • Скопируем на дискету «автономный набор прошивальщика» — то, что нужно для прошивки БИОСа + сам фал БИОСа. К примеру, для прошивки референсного БИОСа на TNT/TNT2 это будет «dos4gw.exe», «nvXXflash», «my.bin», где «my.bin» — наш оригинальный БИОС

    Тогда системные файлы будут выглядеть примерно так:

    autoexec.bat
    CLS
    PROMPT
    $p$g
    GOTO
    %CONFIG%
    :success
    GOTO end
    :failed
    nvXXflash my.bin
    GOTO End
    :end

    config.sys
    [Menu]
    MENUITEM = success, Bios successfully changed
    MENUITEM = failed, Bios change is FAILED!
    MENUDEFAULT = failed, 10
    [success]
    [failed]


    При таком построении системных команд по истечении 10 секунд, если с консоли оператором не будет предпринято никаких действий, будет выполняться автоматическая перепрошивка БИОСа-оригинала.

  4. Еще раз внимательно проверяем выполнение пунктов 1-3. Без комментариев — вот уж где воистину «семь раз проверь, один — прошей!»…

  5. Перепрошиваем БИОС. Здесь возможны две сюжетные линии — успех и неудача. Понятно, при успехе, можно поздравить себя и пожать правой рукой левую! J. При неудаче — внимательно читаем дальше…

  6. Итак, случилось страшное… Здесь тоже необходимо придерживаться нескольких правил:

    • Не паниковать. Это не конец света… Соберитесь!

    • Не нужно судорожно жать на кнопку «Power» в надежде, что «еще не поздно» и может «оно еще не прошило». Лучше спокойно попробуйте повторить процедуру перепрошивки. Если, не получилось — попробуйте восстановить резервный БИОС (можно и второй раз, после загрузки со сделанной системной дискеты).

    • Компьютер все равно не грузится — карта не оживает. Тогда нужно взять старую ISA- или PCI-карту (только неперепрограммируемую — nonFlashable) и вставить в машину. Далее повторяем процедуру прошивки заново; дело в том, что первым в машине включается именно видеокарта, а ISA-видеокарта — более «старое» устройство и включается независимо, не требуя БИОСа (в компьютерах с БИОСом Award на материнской плате есть boot-block, инициализирующий ISA-карту).

    • Если в результате манипуляций видеокарта не ожила… Что ж вам нужно обратиться к специалисту, либо в фирму, продавшую вам видеокарту — здесь два пути: честно им рассказать, что случилось — вам почти точно помогут (за n-ную сумму) J и, наверняка, лишат гарантии; сыграть простофилю, у которого «перестала работать видеокарта» — может быть, вам поверят J. Во втором случае вы рискуете попасть в неловкое положение — скорее всего, вы — не первый «умник» пришедший с такой проблемой, и они в курсе возможной причины…


    Общие положения: обычно процедура перепрошивки выполняется из «чистого DOS-а» (в Win 9X по нажатию «Shift + F5»), что и рекомендуется, однако торопыги могут выполнять и из окна MS-DOS из Windows… Для NT и Windows 2000, вероятнее всего лучше загрузиться с DOS-дискеты — здесь у нас нет личного опыта, поэтому мы только предполагаем… Директории и имена файлов, где они будут хранится, лучше всего давать максимально простые — для удобства, если придется оперировать с командной строкой… Дальше — желательно наличие блока бесперебойного питания (на случай появления экскаватора для починки магистрали или дяди Васи-электрика) или хотя бы сетевого фильтра для помехозащищенности. Если у вас наличествует разгон какого-либо компонента или их совокупности (процессор, видеокарта…), то лучше перевести все в штатный режим функционирования, хотя, возможно спокойная прошивка при системной шине 83 Мгц и прилично разогнанной видеокарте… Но, это из области «как делать не надо».

Рабочие инструменты

TNT BIOS Edit & NVFlash

  Практическая часть нашего занятия будет заключаться в рассмотрении референсного набора для перепрошивки от NVIDIA, замечательной программы «TNT BIOS Edit», работающей с БИОСами для карт на чипах TNT/TNT2 и их модификаций (Vanta, M64, Pro, Ultra). Грубо говоря, для прошивки референс-биоса на карты с чипом TNT2 вам необходимо опять же три файла: файл биоса, «dos4gw.exe» и «nv5flash» («nv4flash» для карт на базе TNT). Процедура прошивки проста — запуск из командной строки:

с:\nv5flash change.bin

где «change.bin» — файл прошиваемого БИОСа

  Для работы «TNT BIOS Edit» требуется предварительная установка run-time библиотеки «LabWindows/CVI Run-Time Engine», который можно взять там же, где вы взяли основную программу… Программа представляет из себя редактор-загрузчик БИОСа. С помощью нее можно загрузить текущий БИОС, отредактировать его и сохранить в файл, который потом прошивается с помощью «nvХХflash». Сама программа БИОС не прошивает! Кроме этого, у нее есть ряд других полезный функций, но об этом ниже…

Основное рабочее окно программы:

  Рассмотрим наиболее интересные параметры, доступные для редактирования.

  • BIOS Info — строки, выводимые при загрузки машины (можно написать что угодно, вплоть до «Hi! How are you?»)*

  • SubVendorID, SubVendor Model — ID фирмы производителя карты и модели*

  • NVIDIA Model — идентификатор чипсета (модель чипа, установленного на видеокарте)

  • Core Clock/Memory Clock — частоты ядра/памяти соответственно

  • 9 параметров для установки таймингов памяти (расположены практически в центре окна)

  • Блок кнопок «Common» — обеспечивает получение текущего БИОСа, открытие и сохранение файлов с БИОСом блок кнопок «Asus winFLASH» — обеспечивает извлечение и вставку БИОСов в файл «winFLASH», где содержатся БИОСы от фирмы ASUSTeK.

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

  Здесь хотелось бы сделать некоторые пояснения. Фирменные БИОСы от ASUSTeK поставляются в виде «.exe»-файла, который на самом деле представляет собой самораспаковывающийся zip-архив (в этом легко убедиться, поменяв расширение на «.zip» и вручную распаковав файл). После распаковки мы получаем набор фалов с фирменным прошивальщиком, однако, прошить им не всегда удается по причине «EEPROM not found». Здесь и приходит на помощь данный блок. Открываем файл «winFLASH», извлекаем необходимый нам БИОС и сохраняем его в файл на диске (первый блок управления — «Common»). Затем, по вышеописанной процедуре, прошиваем его как обычный референс-БИОС.

  Еще раз напомню, что после редактирования этой программой (либо шестнадцатеричным редактором) и сохранения на диске файла БИОСа, его надо еще перепрошить.

VGABios

  Кроме того, хотелось бы упомянуть о существовании программы «VGABios». Она может помочь вам, если вы не смогли по каким-то причинам перепрошить БИОС, либо при нахождении оптимальных значений изменяемого вами БИОСа (при отладке). Эта программа представляет из собой динамически загружаемый драйвер, который позволяет динамически подгружать БИОС. VGABios перезаписывает ту область системного ОЗУ, где кэшируется БИОС видеокарты (в БИОСе материнской платы предварительно должно быть включено кэширование в системное ОЗУ БИОСа видеокарты). При этом содержимое ПЗУ видеокарты не изменяется. Для постоянного использования необходимо прописать загрузку программы в «autoexec.bat» (сама программа и файл БИОСа должны быть в одной папке диска, лучше в корне, чтобы не запутаться с путями):

c:\vgabios –fROMFile –tM

где «ROMFile» — файл видео-БИОСа, «M» — TV-режим (значения от 0 до 5)

  Тем же VGABios-ом проверяется работоспособность прошиваемого БИОСа — загрузили, проверили, если всё ОК — то, шьём. То есть, в случае неудачной загрузке вам следует просто загрузиться с обычной системной дискеты и отменить вызов VGABios-а в «autoexec.bat».


Интересности

Смена SubVendorID

  Поменяв SubVendorID вы можете сделать из своей noname-карты карту от Asus; или поменять производителя для того, чтобы ОС находила «фирменность» вашей карты, а фирменные драйвера и утилиты (например, от Creative) работали и у вас…

  • ASUSTeK: SubVendorID = 1043

  • Creative: SubVendorID = 1102

  Только не забудьте указать модель карты — они различаются у разных производителей. Посмотреть их можно у соседа, либо узнать в интернете, задав вопрос в форуме.
  Не думайте, что изменив надписи и ID в БИОСе, вы сможете обмануть систему. Если у вас чип Vanta, то вы не сможете сделать из нее Ultra. Хотя драйвера и будут ставится под Ультру, и надписи кое-где в системе будут гордо гласить «Ultra», система все равно будет знать, какой у вас чип и сообщит вам это в настройках дисплея. Эта информация «зашита» на уровне железа в видеокарту и изменить ее можно, поменяв напряжение на соответствующих выводах flash ROM-микросхемы видеокарты. К примеру, различия между TNT2 и TNT2 Ultra показаны на рисунке ниже:

  Более подробную информацию, о выходах и подаваемом напряжении давать мы не будем, чтобы не провоцировать народных умельцев… Да и процедура эта, на наш взгляд, сомнительна — ведь чип должен работать на более высоких частотах. Плюс память, которую ставят производители — вряд ли на Ванте будет качественная 5.5нс. С другой стороны, выдача TNT2 за Ультру (с соответствующими изменениями нужных ID, строк загрузки и прочего) вполне реальна — ее вовсю практикуют наши китайские братья… Получается, что на сегодняшний момент, точно подделать нельзя разве что скорость работы видеокарты. Если это Ванта то, как бы мы ни старались, называя ее хоть «Super Ultra Plus», результаты тестов будут говорить за себя. Так что, если вы все-таки покупаете китайские поделки (что очень не рекомендуется нами), договоритесь о манибэке и погоняйте карту в тяжелых режимах… Результат не заставит себя долго ждать…

Тайминги и БИОС

  Мы уже писали выше про изменение таймингов в сторону уменьшения их значений для увеличения быстродействия и говорили о потере стабильности в связи с этим, однако, было бы несправедливо умолчать о том, что таймингами можно и повысить стабильность работы видеоплаты. Например, можно попытаться убрать «снег» изменением «Wait State between read and precharge» с «0» на «1», но, безусловно, если есть возможность, лучше делать это с помощью TNTClсk. Если же такой возможности нет, а стабильность вас не удовлетворяет — что ж, попробуйте…

Обозначения БИОСа

  БИОСы различных производителей отличаются своими обозначениями (кодом). Например, NVIDIA обозначает свои БИОСы набором «CC.cc.mm.ee.oo», где «oo» — OEM-версия, а Creative — «CC.cc.oo.mm.ee». То есть,

  • в транскрипции от NVIDIA — 2.10.01.04.1

  • в транскрипции от Creative — 2.10.1.01.04

  Будьте внимательны перед обновлениями!

Программы и ссылки

  Программы, описанные в статье, можно взять на нашем сайте, кроме того, в интернете, можно обратить внимание на следующие ссылки:



И, напоследок, я скажу…

  Напоследок — помните, что, изменяя/перепрошивая БИОС видеокарты, вы тем самым производите несанкционированное вмешательство в «устройство прибора». Тем самым вы автоматически лишаетесь гарантии продавца на товар, даже если все прошло удачно. Здесь уместно указать следующее: если карта перестала нормально функционировать по какой-либо причине, не связанной с вашей перепрошивкой БИОСа то, никто не мешает вам перепрошить «родной» БИОС и «поменьше трепать языком в гарантийной мастерской», как сказал один из консультантов J. В случае неудачи вы можете лишь пенять на свои кривые руки, и надеяться на помощь друзей, либо просто хороших людей, которые, кстати, и среди продавцов встречаются…

Удачи!


Игорь Шевченко a.k.a. Bishop (weevil@mail.ru)
Главный консультант по статье — Роман Билык a.k.a. SLR

Спасибо San`у,
Большое спасибо andser`y,

Отдельное спасибо Vico за программы, NEW — за ссылки, и обоим за исчерпывающие ответы в конференции.



Обратная связь с читателями

  Есть одна вещь, которую нада соблюдать при прошивке обязательно! Речь идет о контрольной сумме Биоса...
  Процедура установки run-time библиотеки «LabWindows/CVI Run-Time Engine», просмотр скаченного Биоса TNTedit_ом и запись его под другим именем (newbios.bin) из TNTedit - предназначена именно для расчета правильной контрольной суммы и является ОБЯЗАТЕЛЬНОЙ!

Barbos$



  У меня карта Asus V3800 Pro 16Mb SgRam (bios: 2.05.13a) и я прочитав вашу статью решил таки прошить родным прошивальщиком от Асуса биос с SBA: 2.05.13sb. Понятно, что с наскока это не вышло ("не понимаю flash-микросхему" + "не могу вызвать Flashv3k.vxd"), тогда я просто скачал самый последний прошивальщик биоса для V3800 Ultra (a38u13.exe), вытащил из него файл Flashv3k.vxd и скопировал в директорию, куда до этого разархивировал нужный мне прошивальщик.
  Далее стандартный запуск прошивки биоса и все готово!!! Причем тайминги памяти остались прежними, карта стабильно работает на 195/210 (нет специального охлаждения, частота на AGP-шине 83MHz), производительность не замерял, но карта перестала подтыкаться в более высоких разрешениях в UT и NFS PU.

Slepw



Линки по теме: