Найти в Дзене
OVERCLOCKERS.RU

Спасение рядового Matrox G100, или о том, как я на видеокарте BIOS шил

Давно это было, а тех, кто это читает, может ещё и не было.

Шёл год 2006, а может и 2007... память моя уже не та, да и не так это важно. Посетил меня мой знакомец, да принёс с собой думу тяжкую - навернулся у него компьютер. Компьютер оказался повидавшим виды HP Vectra VE года эдак 1998 производства. На счастье, комп был без особых извращений и +/- соответствовал стандарту ATX. Внутри был какой-то Pentium II, 64Mb оперативной памяти, какой-то там жёсткий диск и привод. А также там торчала видеокарточка с маркировкой G100A/4/HP, что собственно расшифровывается как Matrox G100 на 4Mb.

Корпус до сих пор у меня лежит, надо бы его отмыть да продать

Почесав репу и потыкав отвёрткой было выяснено что пыхнул блок питания, о чём было доложено владельцу. Владелец же, почесав репу сказал - давай короче меняем корпус на вертикальный, ну и надо чтоб он DVD мог проигрывать. На что ему было отвечено - как бы не вопрос, иди за корпусом и приводом в магазин, а для того чтоб всё это по шустрей работало я тебе найду у себя в помойке оперативки, да видеокарту по моднее.

Хозяин приобрёл какой-то козырный корпус InWin под это дело и обычный DVD-ROM. Потом мы с ним на пару в процессе обмывания обновки всё это пересобрали, и счастливый хозяин отправился восвояси.

А мне же остался пустой корпус и видеокарточка.

-2

Корпус какое-то время я использовал под свой личный ПК, до тех пор, пока не пересел на i7 и HD6870 которая туда тупо не влезла, да и боюсь перегревалась бы она там.

Ну а видеокарточка долго валялась в коробке с барахлом в которой и самозародилась моя коллекция видеокарт, о чём я как-то уже писал статью.

-3

Собственно, герой нашей статьи

В один прекрасный день пришло время её достать и протестировать... и тут меня ждал облом. Видеокарта показывала чёрный экран, сначала я отложил её в сторону, так как было с чем ещё повозиться. Но выбрасывать её я смысла не видел, так что решил загуглить чего в интернетах на эту тему говорят. Собственно, оказалось, что для Matrox, с которыми до последнего времени судьба меня не сводила от слова совсем, нормальным явлением есть внезапное помирание BIOS. Ну мы не пальцем деланные подумал я, и убил на это пол дня...

Для прошивки мне понадобилась PCI видеокарта, чтоб было с чего грузиться, благо у меня есть S3 Trio64.

-4

В чём суть, BIOS на моей плате умер совсем, т.е. ни какими программными способами снять с него копию не удалось. А это вело к интересным последствиям, так как BIOS у видях Matrox устроен "интересно", собственно сами BIOS'ы до сих пор доступны на сайте Matrox, однако документации по особенностям прошивки там никакой нет. Там же есть утилита для автовосстановления BIOS, однако она так же требует возможности снять дамп старого, что в моём случае оказалось невозможно.

Короче, нафига собственно нам нужен старый BIOS с видеокарты. Дело в том, что на сайте Matrox выложены универсальные версии BIOS которые шьются на любые платы, но предварительно необходимо считать старый BIOS и вытащить оттуда специфичные для разных версий видеокарт информацию. Если этого не сделать и просто прошить, видеокарта будет работать нестабильно или вообще не будет работать.

В общем... суть в чём внутри BIOS есть так называемые раздел PINS который насколько я понял, является "вендорной частью" куда записываются специфичные для той или иной реализации видеокарты параметры, в частности там храниться серийный номер, частоты графического процессора и памяти, а так же ещё ряд параметров. Также у платы есть два параметра subsys_vid и subsys_id первый указывает производителя, второй модель платы. Если же залить просто BIOS с сайта Matrox все эти 3 параметра затираются и плата работает нестабильно и нет возможности поставить драйверы.

Для начала нам надо восстановить subsys_vid и subsys_id, конкретно для моей платы параметры такие 102B и 1001, обе эти цифры надо перевести в 10ричную систему побитово и перевернуть, т.е. получается 43 16 и 1 16.

В общем берём файл BIOS, грузимся в DOS и шьём командой:

PROGBIOS -i "имя файла прошивки" -b _id,2,1,16

PROGBIOS -i "имя файла прошивки" -b subsys_vid,2,43,16

Но этого мало, ищем PINS для своей платы, или берём тот что слили со своей платы если она позволяет.

Создаём тестовый файл с именем mypins.txt и, если у вас такая же плата как у меня, заливаем туда текст из сполера.

Заголовок спойлера

MGA Bios Programming Utility v1.76d(C) Matrox Graphics Inc. (1997)Matrox MGA-G100 AGPVGA Enabled - BIOS V1.1 0: PIN 1: 642: 2553: 3.04: 12/5/19985: 36: 0001 0001 0000 00007: JAV802378: 100A9: 790 110: 13011: 13012: 13013: 11614: 6215: 25516: 25517: 6218: 6219: 6220: 6221: 6222: 0103252123: 024: 23825: 11626: 6427: 25528: 25529: 25530: 25531: 25532: 25533: 25534: 53

И шьём это всё командой

PROGBIOS -i "имя файла прошивки" -s mypins.txt -k

Перезагружаемся в Windows, ставим драйверы и радуемся...

Да кстати прошивальщик надо искать старый, так как прошивальщик из комплекта свежих версий BIOS setup351 не умеет прошивать subsys_vid и subsys_id, я использовал и комплекта BIOS setup342.

Прошу прощения за сумбур... пишу это всё по горячим следам пока не лень.

В общем карточка моя запустилась и успешно работает, ну насколько вообще G100 можно упоминать в одном предложении со словом успешно, учитывая её дрянное 3D.

Для тех, кто хочет глубже копнуть в данную тему сохранился архивный сайт, там исчерпывающая информация по данному вопросу. Там есть и фалы PINS для разных видеокарт, а также коды id и vid для разных плат Matrox.

📃 Читайте далее на сайте