tdfx bios editor

tdfx bios editor v1.6

Введение.
1. Меню программы:
2. Закладки:
2.1 Fonts
2.2 Dump
2.3 Boot-up Strings
2.4 Registers.
2.5 PCIR
2.6 VESA Strings
2.7 Video Mode
2.8 Logo image
3. Проверка и прошивка биоса.
4. Модифицирование биосов от 3dfx Voodoo Rush.
5. История обновлений и модификаций программы .

Введение.

ВНИМАНИЕ: автор программы не несет никакой ответственности за возможный ущерб, причиненный в результате работы этой программы.

Я не буду подробно рассматривать сейчас причины, из-за которых вы будете модифицировать биос своей видеокарты. Данная тема уже не один раз рассматривалась в различных статьях на многих сайтах. Отмечу лишь наиболее важные:

  • Замена зарубежных стандартных шрифтов на локализованные (руссификация);
  • Оптимизация быстродействия (в зависимости от условий использования и конфигурации компьютера);

Биос в видеокартах - это программа. И от одного биоса к другому может меняться. tdfx bios editor анализирует эту программу и, если анализ и идентификация прошла нормально - вы можете изменять биос по своему усмотрению. 100% гарантии правильности анализа, автор программы дать не может.

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

В частности не распознаются большинство биосов от 3dfx Voodoo5 6000, от 3dfx Voodoo 4 4000 и кое какие от 3dfx Voodoo 3. Могут быть проблемы с оригинальными OEM биосами. Не смотря на это, из ~70 биосов для различных видеокарт Voodoo, которые есть у автора программы, ~60 успешно распознаются. Если будет время и желание - автор возможно добавит неподдерживающися в данной версии биосы.

Данная программа предназначена для корректировки биосов видеокарт 3dfx Voodoo Banshee/3/4/5 и ограниченно для 3dfx Voodoo Rush. Замечания по корректировке биосов для 3dfx Voodoo Rush можно прочитать ниже, в конце описания.

ВНИМАНИЕ: Прежде чем приступить к модифицированию и прошивке биоса - необходимо понимать, что и зачем вы делаете.

1. Меню программы:

  • Exit - выход из программы.
  • Load - загрузка биоса.
  • Save As... - запись биоса на диск (с автоматической корректировкой контрольной суммы).
  • Help - вызов этой справки.
  • About - о программе.

2. Закладки:

  • Fonts - шрифты биоса.
  • Dump - дамп памяти биоса.
  • Boot-up Strings - информация, показывающаяся при включении компьютера.
  • Registers - регистры управления видеокартой.
  • PCIR - стандартная информационная структура PCI/AGP устройств.
  • VESA Strings - информация vesa bios'а.
  • Video Mode - информация о поддерживаемых видеорежимах и регистрах, отвечающих за них.
  • Logo image - вывод картинки при инициализации карты

Значения "offset" на всех закладках - это смещение до какого либо параметра, относительно начала биоса. Значения в hex системе. При клике на любом значении "offset", режим дампа будет выставлен на просмотр, начиная со строки, содержащей значение "offset". Значащие байты параметра будут выделены синим цветом.

2.1 Fonts - работа со шрифтами биоса.

В биосе содержатся шрифты 8x8, 8x14 и 8x16 пикселов. Программа позволяет их просматривать, загружать свои собственные и записывать существующие. Это может понадобиться, например, при "руссификации" bios'а. т.е. если в bios загрузить шрифт с русскими буквами, то впоследствии уже не будет необходимости загружать шрифты и расходовать на них оперативную память. Это особенно важно для "чистого" DOS и текстовых (консольных) режимов в различных графических оболочках типа Windows. Кроме того, становится возможным прочесть сообщения о критических ошибках при сбоях локализованных Windows

Шрифты можно взять из cpi файлов, которые идут с любой версией Windows. Программа позволяет выбрать кодовую страницу и заносить в биос шрифты, в соответствии с ней. Окно управления cpi файлом будет выведено при загрузке соответствующих шрифтов. Русской альтернативной кодировке соответствует 866 кодовая страница.

fnt шрифты можно загружать только каждый из соответствующего режима. Т.е. например шрифт 8x14 можно загрузить только из режима просмотра шрифта 8x14. Режим просмотра на cpi шрифты никакого влияния не оказывает.

Шрифты 8x14 и 8x16 содержат также fix-up таблицы замены символов (9x14 и 9x16). Сделано это скорее всего для быстрой замены образов символов при создании биоса. Т.е. необходимо только для разработчика самого биоса. Простая замена шрифта не даст требуемого результата. т.е. часть символов будет отображаться неправильно. tdfx bios editor автоматически скорректирует эти таблицы при загрузке соответствующих шрифтов.

Информация в "offset table" содержит в себе смещение до fix-up таблицы шрифта, относительно начала биоса. Шрифт 8x8 не имеет fix-up таблицы.

Шрифты в биосах от Voodoo Rush могут не иметь fix-up таблиц, или иметь только для шрифта 8x16.

2.2 Dump - дамп памяти биоса.

Здесь можно просмотреть сам биос. Изменения биоса, относительно исходного выделяются красным цветом.

Просмотр текущего параметра в биосе. Выделяется синим цветом.

Apply - делает текущий биос исходным. Все операции Restore выполняются относительно исходного биоса.

Restore - отменяет все изменения и восстанавливает биос из исходного.

2.3 Boot-up Strings - информация, показывающаяся при включении компьютера.

Можно поменять выводимую информацию. в биосе она разбита на несколько частей:

  1. Информация о видеокарте и самом биосе.
  2. Информация о производителе видеокарты.
  3. Информация об объеме установленной памяти.

В tdfx bios editor'е можно менять только первые две. Необходимо после последнего символа сделать перевод строки. Информацию об объеме установленной памяти, автор считает изменять не корректно. Поэтому оно и не реализовано.

Так же можно изменить дату создания биоса.

Apply - принятие изменений и прописывание строк в сам биос.

Restore - отмена изменений и восстановление исходных строк.

2.4 Registers - управляющие регистры видеокаты.

С помощью управляющих регистров можно менять тайминги памяти, частоту чипов и многое другое.

ВНИМАНИЕ: если прошить биос с некорректными значениями управляющих регистров, то видеокарта может не заработать, вплоть до полного отказа видеокарты.

Напротив значения каждого регистра есть кнопка [...], нажав которую можно попасть в окно конфигурирования данного регистра. Само конфигурирование происходит побитово.

Compare - загрузка второго биоса для сравнения регистров. Изменение регистров второго биоса заблокировано.

При конфигурировании какого-либо регистроа будет представено примерно следующее:

Вверху окна представлено текущее hex значение регистра, правее - bin значение. Ниже - биты с коротким описанием их принадлежности. Вводятся значения в dec системе. Рядом с каждым битовым полем находятся соответствующие значения из 2-го биоса (если он загружен).

Коментарии к каждому битовому полю взяты из спецификации на ядро Avenger (Voodoo 3). Их отличия для ядра Napalm (Voodoo 4/5) отмечены отдельно - в квадратных скобках. Отличия Banshee от Avenger незначительны.

Более подробное описание можно найти в спецификациях "Avenger. Super high performance graphics engine for 3d game acceleration" и "Napalm. Super high performance graphics engine for 3d game acceleration".

Наибольший интерес представляет регистр pllCtrl1 - задающий частоту чипсета/памяти видеокарты. Конечная частота рассчитывается по определенной формуле. Одни и те же значения частоты можно получать различными значениями. Из-за этого регулирование частоты одним бегунком довольно проблематично. Рекомендуется выставлять как можно меньшие значения. Например, частоту 166 мгц можно получить, выставив 1,8,231 - K,M и N соответственно (166.807), а можно и 1,3,114 (166.091). Второй способ - предпочтительнее именно из-за меньших значений составляющих.

После прошивки биоса, узнать установленную частоту можно, например, с помощью V.Control или 3dfx tools (закладкаа 3dfx info). В закладке разгона, 3dfx tools не показывают реальную частоту видеокарты.

Прежде чем прошивать биос с повышенной частотой, необходимо убедиться в работоспособности на ней видеокарты.

pllCtrl2 в видеокартах 3dfx Voodoo3/4/5 не используется. Вернее явно не задается. Его изменение имеет смысл только для биосов от 3dfx Voodoo Banshee. Побитовое редактирование отсутствует.

Apply - принятие изменений и прописывание регистров в сам биос.

Restore - отмена изменений и восстановление исходных значений.

2.5 PCIR - информационная структура PCI/AGP устройств.

Ее изменение заблокировано, т.к. ничего не даст, кроме возможной неработоспособности видеокарты. Ну а просто посмотреть ее может быть интересно.

2.6 VESA Strings - информация vesa bios'а.

Данную информацию можно получить, например, в DOS'е через функции vesa bios'а. Представлены только текстовые строки.

Apply - принятие изменений и прописывание строк в сам биос.

Restore - отмена изменений и восстановление исходных строк.

2.7 Video Mode - информация о поддерживаемых видеорежимах и регистрах, отвечающих за них.

Представлен список поддерживаемых CGA, EGA, VGA и SVGA режимов. Изменение регистров заблокировано.

2.8 Logo image - вывод картинки при инициализации карты.

Можно разнообразить те серые надписи, возниккающие на экрне при включении или перезагрузке компьютера, путем вставки какого-либо изображения рядом с текстовыми строками.

Load image - загрузкаа bmp файла с изображением. поддерживаются 16-ти цветные, некомпрессированные изображения с шириной, кратной 8. Также необходимо, чтобы изображение использовало стандартную dos палитру.

В архиве, с программой идет файл dospal.act - палитра для программы Photoshop. Привести изобрежение к каеой-либо палитре достаточно просто - указываем индексное представление цветов, при этом Photoshop выдаст окно выбора палитры. Выбираем заказную и загружаем нужную палитру (в нашем случае dospal.act). Все - изображение приведено к нужной палитре.

В результате изменения биоса, полностью заменяется вывод на экран текстовых строк. Поэтому, если вы решили вставить в биос картинку, в закладке Bioot-up strings можно ничего не менять. Выводиться будут те пять строк, которые расположены на закладке Logo image. Последняя строка - информация о типе и объеме памяти. Тут необходимо самостоятельно написать необходимые данные. Или вообще стересть весь текст.

В результате, при загрузке, можно получить примерно следующее:

Хочется отметить, что вставить изображение можно только в 40 килобайтный биос (обычно размер файла составляет 64 кб, но используются только 40кб). В этих биосах есть примернно 6-7 кб неиспользуемой памяти, в которую и прописывается картинка. В 32-х килобайтных биосах свободного места почти нет и картинку запихать туда невозможно.

ВНИМАНИЕ: "Apply", на данной закладке можно нажимать только один раз! При нескольких нажатиях, лучшим выходом будет перезагрузка биоса. После нажатия на "Apply", также категорически запрещается что-либо изменять на заклажке "Boot-up strings".

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

3. Проверка и прошивка биоса:

Проверить биос, не прошивая его, можно, например, с помощью программы vgabios от nVidia. Если подмена биоса прошла удачно, то можно прошить его в flash память видеокарты с помощью прошивальщика flash от 3dfx. Если же компьютер завис, или появились какие-либо признаки некорректной работы - то прошивать биос категорически не рекомендуется. Проверять и прошивать биос необходимо в чистом DOS'е - до загрузки Windows'а, или загрузившись с системной дискеты. В Windows'е прошивать биос категорически не рекомендуется.

Если же вы все таки запороли биос видеокарты, и при включении компьютера видим черный экран - то тогда понадобится вторая видеокарта, основанная не на 3dfx чипе. тогда процесс восстановления работоспособности такой - устанавливаем в компьютер обе видеокарты и запускаемся с рабочей. Ну а потом прошиваем оригинальный (не измененный) биос точно также как это описано выше. если прошивка прошла успешно, то можно вытаскивать вторую видеокарту и перецеплять монитор на Voodoo. Должно все заработать.

4. Модифицирование биосов от 3dfx Voodoo Rush.

Биосы от 3dfx Voodoo Rush поддержаны очень ограниченно. Сами карты, как и их биосы очень сильно различаются между собой - т.к. выпускались различными производителями и с разными 2d ядрами.

Корректной может быть только изменение шрифтов. После загрузки такого биоса в других закладках вы скорее всего ничего не увидите. Что-то там изменять категорически не рекомендуется. Но загрузить измененные шрифты можно. Проверяется биос точно также как и на других видеокартах - vgabios'ом. Но вот для прошивки нужны специальные утилиты. Стандартный 3dfx'овский flash не подойдет. Но встречаются также Rush'ы и без flash'ек - с EPROM памятью. Прошивка таких возможно только на программаторе.

5. История обновлений и модификаций программы:

v1.6
1. добавлена возможность вставки картинки, при включении видеокарты.

v1.5
1. добавлена возможность сравнения значений регистров двух биосов.

v1.4
1. оптимизация навигации по биосу.
2. добавлена закладка видеорежимов.
3. доработан анализ структуры PCIR.
4. мелкие внешние изменения

v1.3
1. добавлена поддержка загрузки шрифтов из cpi файлов.
2. в дампе, сивольное представление измененных байтов также выделяется красным цветом.
3. при клике на offset'е, дамп будет выводиться с указанной строки. значащие байты параметра выделяются синим цветом.

v1.2
1. добавлена ограниченная поддержка voodoo rush. менять можно только шрифты.
2. в описаниях регистров внесены изменения в соответствии со спецификацией Napalm'а.
3. исправлен глюк с регистром miscinit1.
4. убрано редактирование rom сигнатуры. за ее ненадобностью.
5. кое какие косметические изменения и исправления мелких ошибок в коде.

v1.1
1. автоматическая коррекция контрольной суммы перед записью биоса.
2. проверка на видеобиос при загрузке
3. вывод имени файла загруженного биоса в заголовке окна
4. Save заменен на Save As...
5. добавлена запись шрифтов
6. добавлена закладка с окном для редактирования строк, возвращаемых при запросе информации о vesa.
7. измененные байты в дампе выделяются красным цветом. их символьное представление осталось прежним.
8. в дампе появились кнопки Apply и Restore.
9. появилась возможность изменения информации, выдаваемой при запуске компьютера, включающей русские символы.
10. кое какие косметические изменения и исправления мелких ошибок в коде.

v1.0
начальная базовая версия

По всем вопросам, предложениям и замечаниям можно обращаться на e-mail автора.

Автор выражает огромную благодарность Кисленко Валериану Владимировичу ( valerian_k@mail.ru ), а также Алексею Ф. aka fin ( files@overclockers.ru ). за информацию, поддержку и конструктивные советы и предложения.

Певцов Константин aka Rainbow ( rbws@mail.ru )

02.06.2003