На днях ко мне в руки попала куча видеокарт 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 такое не умеет) и вот что получилось:
******** 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|
******** 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|
******** 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
******** 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|
******** 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. Модифицировалась кстати плата из одной из прошлых записей.
Список модифицированных и протестированных мной плат не велик, но важна суть, а не объём:
- ASUS P2L-B — не влезло.
- Acorp 6BX/ZX/VIA82 (6VIA82P) — влезло, работает.
- MSI BX Master (MS-6163) — влезло, не работает. Система встаёт на 41-м коде и даёт в динамик сначала длинный и два коротких, а потом повторяющиеся короткие на тон выше.
- Gigabyte GA-6OXT и GA-6OXT-A — влезло, работает (на дефлотном BIOS не работало).
- EPOX EP-8RDA+ — не влезло.
- ASUS P2-99 — влезло, не работает. Длинный и два коротких.
- 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. Найти бы образ…
>> ставит крест на обновлении старых плат с размером ПЗУ, рарвным 128КБ. Просто не хватит места.
А если флешку поменять на бОльшую?
В принципе, это возможно, но я ставил цель описать ситуацию. А в данной ситуации меня больше удивила осечка на BX Master, в то время как на BX2000 всё работало.
Кстати, упоминаний о безбиосном VOODOO 3 я в сети не нашел. Интересно, была ли такая карта выпущена?
Здравствуйте, не знаю куда писать-все закрыли.
Огромный Биг благодарность, за Вашу работу и терпение отвечать на вопросы на которые давно озвучены ответы!
про меня извините. Я с ноября 2018г. пересматриваю все ваши ответы и faqи и не нашел ответ. Не могу скачать с китайца любой мод под asus p5q и тд.
и писал письма о битых ссылках и заходил через vpn, может заблокировали санкциями :)). любые выбранные архивы — не скачиваются. (win10)
может «пошлете» меня куда нить — только не в топпОф. :))).
За Фенга я не отвечаю, он тоже мог «устать». У меня мод на P5Q кажется есть — https://ideafix.name/stuff/asus/P5Q.zip
Что же до Фенга — его контакты на его страничке, иных у меня нет.
Большое спасибо! Появилась такая же G400, теперь понятно почему не запускается ! ) Хотелось бы её побенчить конечно.
Тут только подсовывание BIOS карточки в BIOS платы… особых вариантов больше нет. Ну, или в бутром сетевушки или контроллера какого.