Реферат: Видеокарты
5. После этого создаем системные файлы autoexec.bat и config.sys на случай неудачи. Вы можете скачать наши файлы либо подготовить свои; главное, чтобы через N (у нас установлено в 10) секунд машина автоматически пыталась прошить оригинальный биос.
autoexec.bat:
CLS
PROMPT
$p$g
GOTO
%CONFIG%
:success
GOTO end
:failed
nvflash my.bin
GOTO End
:end
config.sys:
[Menu]
MENUITEM = success, Bios successfully changed
MENUITEM = failed, Bios change is FAILED!
MENUDEFAULT = failed, 10
[success]
[failed]
6. Внимательно проверяем наличие всего необходимого еще раз и приступаем непосредственно к процедуре модификации/перепрошивки.
Проверка биоса «на совместимость»
После подготовки резервной копии нужно проверить, подходит ли вам выбранный биос по различным критериям — соответствующим ID, контрольной сумме и т.д. Для этого воспользуемся чудесной программой VGABios. Эта программа представляет собой динамически загружаемый драйвер, который позволяет подгружать BIOS с диска. VGABios перезаписывает ту область системного ОЗУ, где кэшируется BIOS видеокарты (в BIOSе материнской платы предварительно должно быть включено кэширование BIOSа видеокарты в системном ОЗУ). При этом содержимое ПЗУ видеокарты не изменяется. Для постоянного использования необходимо прописать загрузку программы в autoexec.bat (сама программа и файл BIOSа должны быть в одной папке диска, лучше в корне, чтобы не запутаться с путями):
c:\vgabios -fROMFile -tM
где ROMFile — файл видеобиоса, M — TV-режим (значения от 0 до 5)
Тем же VGABios'ом проверяется работоспособность прошиваемого BIOSа: загрузили, проверили, если все ОК, то шьем. То есть в случае неудачной загрузки вам следует просто загрузиться с обычной системной дискеты и отменить вызов VGABios'а в autoexec.bat.
Перепрошивка биоса
Перед самой процедурой перепрошивки хотелось бы сделать одно, на мой взгляд ценное, замечание. Зачастую после сохранения оригинального биоса и сравнения его с претендентом на заливку пользователя пугает разница в размерах файлов. На самом деле ничего страшного здесь нет — просто один биос дополнен нулями до размера, кратного машинному слову, второй же показывает фактический размер биоса (а по числу занимаемых блоков (кластеров) на винчестере они одинаковы). Так что не пугайтесь, ситуация под контролем.
Общие рекомендации к перепрошивке
Обычно процедура перепрошивки выполняется из «чистого DOS'а» (в Win 9X по нажатию «Shift + F5»), как и рекомендовано, однако торопыги могут работать и из окна MS-DOS под Windows… Для NT и Windows 2000, вероятнее всего, лучше загрузиться с DOS-дискеты. Имена директориям и файлам, используемым в процессе прошивки, лучше давать максимально простые — для удобства, если придется работать с командной строкой… Кроме того, желательно наличие блока бесперебойного питания (на случай появления экскаватора для починки магистрали или дяди Васи-электрика) или хотя бы сетевого фильтра для помехозащищенности. Если у вас наличествует разгон какого-либо компонента (процессор, видеокарта…) или их совокупность, то лучше перевести все в штатный режим функционирования, хотя возможна спокойная прошивка при системной шине 83 МГц и прилично разогнанной видеокарте… Но это из серии «как делать не надо».
Редактирование биоса
Для редактирования биоса воспользуемся лучшей (и единственной?) программой в этом классе — GF123Bios Edit, предназначенной для редактирования биоса карт на базе GeForce256 (SDR/DDR), GeForce2 (МХ, МХ100, МХ200, МХ400, GST, Pro, Utra) и GeForce3. Я намеренно перечислил все модификации, так как если написать просто «плат на чипах GeForce», то меня завалят вопросами типа: «Вот, вы писали про GeForce, а как мне прошить мою NVIDIA GeForce2 MX?» Итак, вернемся к GF123Bios Edit. Программа предназначена только(!) для редактирования биоса, но не для самой перепрошивки. Редактировать можно: различные ID (производителя, модели и т.д.), частоты чипа и памяти, которые являются дефолтными (по умолчанию), тайминги, выводимые при загрузке надписи и т.д. Программа предоставляет развитый графический интерфейс, избавляя нас от разбора шестнадцатеричных чисел «подопытного» файла с биосом, поэтому работа с ней — одно удовольствие: загрузили нужный (текущий или с диска) биос, откорректировали необходимые параметры и сохранили в виде файла на диск. После этого запустили прошивальщик, и «дело в шляпе».
Рассмотрим саму программу:
· Верхний блок из двух редактируемых полей — строки, выводимые при загрузке машины (можно написать что угодно, вплоть до «NVIDIA GeForce4 GTS VGA BIOS»)
· SubVendorID, SubVendor Model — ID фирмы производителя карты и модели
· NVIDIA Model — идентификатор чипсета (модель чипа, установленного на видеокарте)
· Core Clock/Memory Clock — частоты ядра/памяти соответственно
· Current Clocks — блок для установки частоты ядра (core), частоты памяти (memory) и таймингов памяти (последние менять категорически не рекомендую, т.к. информации по расшифровке значений на данный момент нет)
· Блок кнопок «Common» — обеспечивает получение текущего BIOSа («Get Current BIOS»), открытие («Open BIOS file») и сохранение («Save BIOS file») файлов с BIOSом. Важное замечание: для начала работы выполните чтение текущего образа BIOS — из памяти либо с диска!
· Блок кнопок «Special» — обеспечивает загрузку шрифтов («BIOS Font») для «русификации» BIOSа и синхронизацию копий биоса («Sync with 1st»)
Остановимся подробнее на некоторых рабочих моментах программы. Для этого рассмотрим новинку от VICO — работу со шрифтами, прошитыми в BIOS. Вызов данной функции производится кнопкой «BIOS Font»
Эта функция позволяет заменять кодовую таблицу шрифтов в видеобиосе на любую из определенных в CPI-файлах комплекта DOS (находятся для Windows 98 в каталоге %WIN%\COMMAND\). Для чего это нужно? Замена позволяет видеть корректное отображение русских символов без загрузки пресловутого display.sys, не отдавая ему порядка 10 КБ ОЗУ. Например, это может пригодиться при загрузке в Safe Mode…
Для установки русской кодовой страницы на большинстве машин будет достаточно загрузить ega3.cpi и выбрать 866-ю кодировку.
Следующая новинка по сравнению с TNT Bios Edit — это синхронизация копий биоса от NVIDIA и производителя карты. По идее они должны совпадать, но некоторые фирмы-«умники» пишут в свою копию оригинальные значения. Функция, вызываемая по кнопке «Sync with 1st» поможет вам избежать рассинхронизации копий.
И последний момент, на который хотелось бы обратить ваше внимание — несовпадение контрольной суммы файла BIOSа. Довольно часто пользователи сталкиваются с такой проблемой, и GF123Bios Edit ее успешно решает: просто загрузите файл биоса в программу, а затем сохраните — контрольная сумма будет пересчитана и образом можно пользоваться.
Замечание: для работы программы необходима предварительная установка run-time библиотеки LabWindows/CVI Run-Time Engine , которую можно взять там же, где вы взяли основную программу…
Непосредственно замена биоса
После подготовки образа биоса к перепрошивке (с предварительным редактированием или без оного) файл биоса нужно «залить» в видеобиос. Для референсных биосов используется программа nvFlashХХ.exe, точнее, ее определенная версия. В нашем случае для GeForce256 (SDR/DDR), GeForce2 (MX, MX100, MX200, MX400, GTS, Pro, Ultra) и GeForce3 это nvflash.exe
Формат запуска файла из командной строки таков:
с:\nvflash change.bin
где change.bin — файл прошиваемого BIOSа.
После выполнения данной команды биос прошит. С чем вас и поздравляю.
Что делать в случае неудачи?
В случае неудачи не нужно судорожно жать на кнопку «Power» в надежде, что «еще не поздно» и, может, «оно еще не прошило». Лучше спокойно попробуйте повторить процедуру перепрошивки. Если не получилось — попробуйте восстановить резервный BIOS (можно и второй раз, после загрузки со сделанной системной дискеты). Если же ваш компьютер все равно не грузится — карта не оживает, то нужно взять старую ISA- или PCI-карту (только неперепрограммируемую — nonFlashable) и вставить в машину. Далее повторяем процедуру прошивки заново. Дело в том, что первой в машине включается именно видеокарта, а ISA-видеокарта — более «старое» устройство и включается независимо, не требуя BIOSа (в компьютерах с BIOSом Award на материнской плате есть boot-block, инициализирующий ISA-карту).
Если в результате манипуляций видеокарта не ожила… Что ж, вам нужно обратиться к специалисту либо в фирму, продавшую вам видеокарту.
Что делать, если прошивальщик «не понимает» биос?
Иногда пользователь при попытке перепрошивки получает сообщение вроде «EEPROM not found, не могу прошить биос…». Здесь возможны несколько причин. Причина первая и самая тривиальная: ваша карта непрошиваема, т.е. у вас стоит неперепрограммируемая микросхема биоса (сейчас это редкость, но случается). Причина вторая: данная программа-прошивальщик не подходит к вашей карте (либо не тот ID, либо не поддерживаемый тип микросхемы). В этом случае можно попытаться найти другой прошивальщик — либо фирмы-производителя карты, либо референсный от NVIDIA (надо сказать, что он подходит к большинству карт). И, наконец, третья причина: несовпадение контрольной суммы файла биоса. Эта проблема решается просто: нужно загрузить файл в GF123Bios Edit и сохранить его на диск под другим именем. Новый файл уже будет дополнен до машинного слова и контрольная сумма будет в порядке.
Заключение
Помните, что изменяя/перепрошивая BIOS видеокарты, вы тем самым производите несанкционированное вмешательство в «устройство прибора». При этом вы автоматически лишаетесь гарантии продавца на товар, даже если все прошло удачно. Здесь уместно указать следующее: если карта перестала нормально функционировать по какой-либо причине, не связанной с вашей перепрошивкой BIOSа, то никто не мешает вам перепрошить «родной» BIOS и поменьше распространяться в гарантийной мастерской о проделанной процедуре. В случае неудачи вам нужно будет обратиться к специалистам для восстановления биоса либо замены видеокарты.
Удачи!