Matrox by Gigabyte [забываем|вспоминаем] истоки…

На днях ко мне в руки попала куча видеокарт Matrox разных поколений, так же на сдачу была приобретена материнская плата Gigabyte GA-6OMM7. По словам продавца, одна из видеокарт Matrox, работает только в этой плате и еще в небольшом числе других моделей плат Gigabyte. Сам факт того что кто-то паял MGA чипы на платы своего бренда был забавен, было интересно разобраться как это и зачем. Забегая вперед, скажу что всё оказалось тривиально.

Видеокартой, взывавшей интерес оказалась Gigabyte GA-MG400. Страница поддержки на самом деле офигительная, как и сама карта:

Такое ощущение что со стандартной в общем-то для G400 печатной платы последовательно снимали элементы до тех пор, пока плата не перестала запускаться, а как только она перестала запускаться, с платы договорились снять еще десяток компонентов и на этом остановиться. Матрокс еще и на текстолите любил экономить (опытный взгляд узнает референс под этой синей маской), делая платы сложной формы, но тут ограничились экономией на элементах. Площадка под второй RAMDAC пуста, разъёмов для подключения платы со вторым выходом нет, как и Feature коннектора. Плата при этом позиционировалась как решение для профессионалов. Что же, оставим это на совести Gigabyte.


На самом деле, я был уверен, что задача сведется к обновлению ПЗУ на референсный, но на плате нет микросхемы ПЗУ. А раз видеокарта работает только с конкретными материнскими платами и периодически упоминается какой-то 2D BIOS, дело наверняка кроется в PCI или VGA OptionROM прошивки материнской платы. Проверка показала вот что:

VGA ROM[1] — палево 🙂


После обнаружения данного забавного факта было принято решение прошивку видеокарты обновить. С официального сайта Matrox был в числе прочего скачан BIOS версии 2.1 (b35), посредством cbrom была произведена подмена, но все операции, которые выглядели так, как показано на картинке ниже, результата не дали.

Материнская плата с модифицированным BIOS и установленной видеокартой стартовать не смогла.

Факультативно и без особых проверок был модифицирован 35-й биос так, что видеокарта, установленная в материнскую плату с ним в качестве VGA ROM стартует и позволяет установить драйвер. К сожалению, автоматически драйвер не устанавливается — приходится подсовывать его руками. Тесты проводились на Epox Cu-133A+, эта плата демонстрирует такое поведение (драйвер не видит видеокарт Matrox) и с 15-м и 35-м биосом.


Вообще, изначальная идея понятна — загрузить данную видеокарту на другой (в идеале, любой) материнской плате, но хочется не просто загрузить, а загрузить с максимально свежей прошивкой. Списка плат, совместимых с данной видеокартой на официальном Gigabyte я не нашел, лишь краткий список плат на anandtech. Выкачал все, прогнал cbrom (пришлось использовать старый CBROM 2.20 ибо CBROM32 1.95/1.98 такое не умеет) и вот что получилось:

CBROM V2.20 (C)Phoenix Technologies, Ltd 2001 All Rights Reserved.

              ********     6BXC.F4c BIOS component ********

 No. Item-Name         Original-Size   Compressed-Size Original-File-Name
================================================================================  0. System BIOS       1F79Ah(125.90K)14EB5h(83.68K)AWDBIOS1.ROM
  1. Other(6F79:000A)  00866h(2.10K)005E0h(1.47K)AWDBIOS2.ROM
  2. CPU micro code    0B000h(44.00K)064A3h(25.16K)CPUCODE.BIN
  3. ACPI table        01FACh(7.92K)00CCFh(3.20K)ACPITBL.BIN
  4. EPA LOGO          0168Ch(5.64K)0030Dh(0.76K)AwardBmp.bmp
  5. XGROUP CODE       0549Bh(21.15K)03A23h(14.53K)awardext.rom
  6. PCI ROM[A]        04000h(16.00K)02594h(9.39K)ncr307.16k
  7. VGA ROM[1]        08000h(32.00K)045D1h(17.45K)v30920.rom
  8. VGA ROM[2]        08000h(32.00K)04CD7h(19.21K)g400-15.bin

  Total compress code space  = 34EB5h(211.68K)
  Total compressed code size = 2BB73h(174.86K)
  Remain compress code space = 09342h(36.81K)

                          ** Micro Code Information **
Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID
------------------+--------------------+--------------------+-------------------PPGA   11   0681|  PPGA   14   0683|  PPGA   08   0686|  PPGA   01   068A
PPGA   04   06B0|  PPGA   03   0665|  SLOT1  13   0630|  SLOT1  20   0632
SLOT1  34   0633|  SLOT1  35   0634|  SLOT1  40   0651|  SLOT1  2A   0652
SLOT1  10   0653|  SLOT1  0A   0660|  SLOT1  03   0671|  SLOT1  10   0672
SLOT1  0E   0673|  SLOT1  14   0680|  SLOT1  0D   0681|  SLOT1  0C   0683
SLOT1  07   0686|
CBROM V2.20 (C)Phoenix Technologies, Ltd 2001 All Rights Reserved.

              ********     6BXE.F3A BIOS component ********

 No. Item-Name         Original-Size   Compressed-Size Original-File-Name
================================================================================  0. System BIOS       1ED56h(123.33K)14D08h(83.26K)original.tmp
  1. Other(6ED5:0006)  012AAh(4.67K)00D11h(3.27K)original.tm1
  2. CPU micro code    0B000h(44.00K)064A1h(25.16K)CPUCODE.BIN
  3. ACPI table        02705h(9.75K)00FADh(3.92K)ACPITBL.BIN
  4. EPA LOGO          0168Ch(5.64K)0030Dh(0.76K)AwardBmp.bmp
  5. XGROUP CODE       05EB8h(23.68K)041B5h(16.43K)awardext.rom
  6. PCI ROM[A]        04000h(16.00K)02594h(9.39K)ncr307.16k
  7. VGA ROM[1]        08000h(32.00K)045D1h(17.45K)v30920.rom
  8. VGA ROM[2]        08000h(32.00K)04CD7h(19.21K)g400-15.bin

  Total compress code space  = 34D08h(211.26K)
  Total compressed code size = 2CB65h(178.85K)
  Remain compress code space = 081A3h(32.41K)

                          ** Micro Code Information **
Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID
------------------+--------------------+--------------------+-------------------PPGA   11   0681|  PPGA   10   0683|  PPGA   08   0686|  PPGA   01   068A
PPGA   04   06B0|  PPGA   03   0665|  SLOT1  13   0630|  SLOT1  20   0632
SLOT1  34   0633|  SLOT1  35   0634|  SLOT1  40   0651|  SLOT1  2A   0652
SLOT1  10   0653|  SLOT1  0A   0660|  SLOT1  03   0671|  SLOT1  10   0672
SLOT1  0E   0673|  SLOT1  14   0680|  SLOT1  0D   0681|  SLOT1  0C   0683
SLOT1  07   0686|
CBROM V2.20 (C)Phoenix Technologies, Ltd 2001 All Rights Reserved.

              ********     6vxep.f9 BIOS component ********

 No. Item-Name         Original-Size   Compressed-Size Original-File-Name
================================================================================  0. System BIOS       20000h(128.00K)155ABh(85.42K)original.tmp
  1. XGROUP CODE       066F0h(25.73K)044C5h(17.19K)awardext.rom
  2. CPU micro code    0A800h(42.00K)060D1h(24.20K)CPUCODE.BIN
  3. ACPI table        02584h(9.38K)00E36h(3.55K)ACPITBL.BIN
  4. EPA LOGO          0168Ch(5.64K)0030Dh(0.76K)AwardBmp.bmp
  5. PCI ROM[A]        04000h(16.00K)02594h(9.39K)ncr307.16k
  6. VGA ROM[1]        08000h(32.00K)04CD7h(19.21K)g400-15.bin

  Total compress code space  = 355ABh(213.42K)
  Total compressed code size = 27EEFh(159.73K)
  Remain compress code space = 0D6BCh(53.68K)

                          ** Micro Code Information **
Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID
------------------+--------------------+--------------------+-------------------PPGA   11   0681|  PPGA   10   0683|  PPGA   08   0686|  PPGA   01   068A
PPGA   03   0665|  SLOT1  13   0630|  SLOT1  20   0632|  SLOT1  34   0633
SLOT1  35   0634|  SLOT1  40   0651|  SLOT1  2A   0652|  SLOT1  10   0653
SLOT1  0A   0660|  SLOT1  03   0671|  SLOT1  10   0672|  SLOT1  0E   0673
SLOT1  14   0680|  SLOT1  0D   0681|  SLOT1  0C   0683|  SLOT1  07   0686
CBROM V2.20 (C)Phoenix Technologies, Ltd 2001 All Rights Reserved.

              ********    bx2000.f9 BIOS component ********

 No. Item-Name         Original-Size   Compressed-Size Original-File-Name
================================================================================  0. System BIOS       20000h(128.00K)15D31h(87.30K)bx2000.BIN
  1. CPU micro code    0B800h(46.00K)06871h(26.11K)CPUCODE.BIN
  2. ACPI table        02A39h(10.56K)010CFh(4.20K)ACPITBL.BIN
  3. EPA LOGO          0168Ch(5.64K)0030Dh(0.76K)AwardBmp.bmp
  4. XGROUP CODE       06770h(25.86K)04778h(17.87K)awardext.rom
  5. OEM0 CODE         04E66h(19.60K)029C1h(10.44K)FLASH.05
  6. LOGO1 ROM         00B64h(2.85K)0057Fh(1.37K)dbios.bmp
  7. PCI ROM[A]        04000h(16.00K)02594h(9.39K)ncr307.16k
  8. PCI ROM[B]        04000h(16.00K)01A4Ah(6.57K)u1151105.bin
  9. VGA ROM[1]        08000h(32.00K)045D1h(17.45K)v30920.rom
 10. VGA ROM[2]        08000h(32.00K)04CD7h(19.21K)g400-15.bin

  Total compress code space  = 35D31h(215.30K)
  Total compressed code size = 322BCh(200.68K)
  Remain compress code space = 03A75h(14.61K)

                          ** Micro Code Information **
Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID
------------------+--------------------+--------------------+-------------------PPGA   11   0681|  PPGA   14   0683|  PPGA   08   0686|  PPGA   01   068A
PPGA   04   06B0|  PPGA   1C   06B1|  PPGA   03   0665|  SLOT1  13   0630
SLOT1  20   0632|  SLOT1  34   0633|  SLOT1  35   0634|  SLOT1  40   0651
SLOT1  2A   0652|  SLOT1  10   0653|  SLOT1  0A   0660|  SLOT1  03   0671
SLOT1  10   0672|  SLOT1  0E   0673|  SLOT1  14   0680|  SLOT1  0D   0681
SLOT1  0C   0683|  SLOT1  07   0686|
CBROM V2.20 (C)Phoenix Technologies, Ltd 2001 All Rights Reserved.

              ********   bx2000p.FD BIOS component ********

 No. Item-Name         Original-Size   Compressed-Size Original-File-Name
================================================================================  0. System BIOS       20000h(128.00K)15D98h(87.40K)bx2000p.BIN
  1. CPU micro code    0C000h(48.00K)06C3Fh(27.06K)CPUCODE.BIN
  2. ACPI table        02B31h(10.80K)010ECh(4.23K)ACPITBL.BIN
  3. EPA LOGO          0168Ch(5.64K)0030Dh(0.76K)AwardBmp.bmp
  4. XGROUP CODE       06770h(25.86K)04786h(17.88K)awardext.rom
  5. OEM0 CODE         04E66h(19.60K)029C1h(10.44K)FLASH.05
  6. LOGO1 ROM         00B64h(2.85K)0057Fh(1.37K)dbios.bmp
  7. PCI ROM[A]        04000h(16.00K)02594h(9.39K)ncr307.16k
  8. VGA ROM[1]        08000h(32.00K)045D1h(17.45K)v30920.rom
  9. VGA ROM[2]        08000h(32.00K)04CD7h(19.21K)g400-15.bin
 10. PCI ROM[B]        04000h(16.00K)01D7Fh(7.37K)UL200B18.bin

  Total compress code space  = 35D98h(215.40K)
  Total compressed code size = 32A51h(202.58K)
  Remain compress code space = 03347h(12.82K)

                          ** Micro Code Information **
Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID
------------------+--------------------+--------------------+-------------------PPGA   11   0681|  PPGA   14   0683|  PPGA   08   0686|  PPGA   01   068A
PPGA   04   06B0|  PPGA   1C   06B1|  PPGA   01   06B4|  PPGA   03   0665
SLOT1  13   0630|  SLOT1  20   0632|  SLOT1  34   0633|  SLOT1  35   0634
SLOT1  40   0651|  SLOT1  2A   0652|  SLOT1  10   0653|  SLOT1  0A   0660
SLOT1  03   0671|  SLOT1  10   0672|  SLOT1  0E   0673|  SLOT1  14   0680
SLOT1  0D   0681|  SLOT1  0C   0683|  SLOT1  07   0686|

Во-первых, везде, где BIOS удалось открыть, присутствовала 15-я версия. Во-вторых, даже на платах без встроенного видеоядра присутствовали два VGA ROM. Правда, были платы и с одним ROM’ом. Что же, раз видеокарту «обновить» не удастся, будем адаптировать материнские платы!


Оказалось, что BIOS материнской платы должен принять в себя достаточно серьезный объём дополнительных данных, это не только упомянутый выше G400-15.BIN, весом 32КБ, но и V30920.ROM аналогичного веса, который оказался ни много не мало, а прошивкой VOODOO 3 3000 AGP! Но даже если не шить образ для VOODOO, 32KB образ для MATROX, который жмётся едва ли на половину, ставит крест на обновлении старых плат с размером ПЗУ, рарвным 128КБ. Просто не хватит места. Когда же места хватает, процесс обновления выглядит так:

Т.е. мы извлекаем из образа BIOS для платы GA-BX2000 два VGA ROM и загоняем их в BIOS платы, колторую хотим наделить поддержкой изделий Gigabyte. Используется CBROM 2.20. Модифицировалась кстати плата из одной из прошлых записей.

Список модифицированных и протестированных мной плат не велик, но важна суть, а не объём:

  1. ASUS P2L-B — не влезло.
  2. Acorp 6BX/ZX/VIA82 (6VIA82P) — влезло, работает.
  3. MSI BX Master (MS-6163) — влезло, не работает. Система встаёт на 41-м коде и даёт в динамик сначала длинный и два коротких, а потом повторяющиеся короткие на тон выше.
  4. Gigabyte GA-6OXT и GA-6OXT-A — влезло, работает (на дефлотном BIOS не работало).
  5. EPOX EP-8RDA+ — не влезло.
  6. ASUS P2-99 — влезло, не работает. Длинный и два коротких.
  7. EPOX Cu-133A+ — влезло, работает, но с оговорками.

Образа доступны по ссылке. Наверное, список будет пополняться. Все файлы, кроме образа для платы EPOX CU-133A+ на данный момент модифицированы 15-м матроксовским биосом.

[UPD]
В вебархиве была найдена такая вот табличка:

GA-MG400

M/B Model

BIOS Version

GA-BX2000 Ver F2 or Later Ver.
GA-BX2000+ Ver F2 or Later Ver.
GA-6BX7 Ver F2 or Later Ver.
GA-6BXC Ver F1 or Later Ver.
GA-6BXE Ver F1 or Later Ver.
GA-6CX Ver F1 or Later Ver.
GA-6CXC Ver F2 or Later Ver.
GA-6VXE+ Ver F3 or Later Ver.
GA-6VXE7+ Ver F2 or Later Ver.
GA-6VX-4X Ver p1 or Later Ver.
GA-6ZMA Ver F1 or Later Ver.
GA-6ZXC Ver F1 or Later Ver.
GA-7IX Ver F2d or Later Ver.
GA-7IXE Ver F4c or Later Ver.

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

Запись опубликована в рубрике Без рубрики с метками , , , . Добавьте в закладки постоянную ссылку.

6 комментариев на «Matrox by Gigabyte [забываем|вспоминаем] истоки…»

  1. radical говорит:

    >> ставит крест на обновлении старых плат с размером ПЗУ, рарвным 128КБ. Просто не хватит места.

    А если флешку поменять на бОльшую?

    • IdeaFix говорит:

      В принципе, это возможно, но я ставил цель описать ситуацию. А в данной ситуации меня больше удивила осечка на BX Master, в то время как на BX2000 всё работало.

      Кстати, упоминаний о безбиосном VOODOO 3 я в сети не нашел. Интересно, была ли такая карта выпущена?

  2. Сергей говорит:

    Здравствуйте, не знаю куда писать-все закрыли.
    Огромный Биг благодарность, за Вашу работу и терпение отвечать на вопросы на которые давно озвучены ответы!
    про меня извините. Я с ноября 2018г. пересматриваю все ваши ответы и faqи и не нашел ответ. Не могу скачать с китайца любой мод под asus p5q и тд.
    и писал письма о битых ссылках и заходил через vpn, может заблокировали санкциями :)). любые выбранные архивы — не скачиваются. (win10)
    может «пошлете» меня куда нить — только не в топпОф. :))).

  3. klopcha говорит:

    Большое спасибо! Появилась такая же G400, теперь понятно почему не запускается ! ) Хотелось бы её побенчить конечно.

    • IdeaFix говорит:

      Тут только подсовывание BIOS карточки в BIOS платы… особых вариантов больше нет. Ну, или в бутром сетевушки или контроллера какого.

Добавить комментарий для IdeaFix Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *