VOGONS


First post, by bimole

User metadata
Rank Newbie
Rank
Newbie

Hi,

I got for free an old Matrox G200 PCI and it (obviously) doesn't work!
Here below is this guy :

The attachment G200PCI.jpg is no longer available

When I gave it a try for the first time on my SS7 platform, I got no POST screen and no beep.
It was also impossible to install it in Windows 98SE by using a main AGP graphics card.
Aware of rotten BIOS problems on these cards, I used the Matrox Recover Utility floppy disk with another AGP card as the main display so I could have a look of what happened. It seemed to recognize the card type but it returned some "invalid pins cheksum" or 'currupt pointer". Here is the log :

The attachment 1740602486280.jpg is no longer available

Since I have a T48 chip programmer with a SOIC-8 test clip, I tried to backup and rewrite the EEPROM with the g200pci.bin file found in the Matrox Recover Utility floppy disk (see in the archive in attachments). Surprisingly, the EEPROM content seemed to be completely free and each attempt to rewrite something on the chip was apparently succeful. But each re-read ended with blank memory. I know that my programmer can write and read without any trouble...
So I managed to desolder the BIOS chip, an ATMEGA 25HP256W to read and write it "outside" the card.
Before rewriting it, I finally could read the content. You can find it in the archive below under the name "backup_desoldered.bin". I also re-read it several times and compared the output file : they are all the same, so reading the EEPROM seems to be fine.
For me, this extracted BIOS doesn't look like a regular BIOS binary. There are to many "readable" character strings. On the contrary, g200pci.bin from the Matrox Recover Utility floppy disk has some "readable" headers at the beginning from the bin file and then it's ASCII "white noise".
To compare, I also have a working G200 AGP on which I can read the EEPROM from "inside" the card with the SOIC-8 test clip. The data content looks much more to g200PCI.bin file than the actual data content of the G200 PCI EEPROM.

Anyway, I re-wrote the EEPROM with g200pci.bin, and "outside" the card, it worked perfectly.
After resoldering it on the PCB, I gave a try on my SS7 platform. I got the single beep from the buzzer and some VGA signals finally appeared...

The attachment 1740600826798.jpg is no longer available
The attachment 1740600826837.jpeg is no longer available

As you can see, the display is completely broken! And same behaviour on a PIII S370 platform.

I have found that the EEPROM ST M95256W is almost equivalent to the AT25HP256W, so I got 2 pieces of them. I wrote the g200pci.bin firmware on it and I will swap the chips on the card. I will also re-read the actual ATMEGA EEPROM (desoldered) to check eventual data corruption which could have occured during the test...

So what do you think?
Toasted core/RAM? Wrong BIOS version? Bad EEPROM?

Any help is very appreciated 😉

Cheers,
JB

Reply 1 of 6, by Geri

User metadata
Rank Member
Rank
Member

You have likely flashed the wrong bios. Also you dont need to desolder the bios, you can use a clip and do the flashing while the chip is still attached to the card.

Thinking on selecting one random bios from the net and expecting it to work is very opportunistic, in reality one bios from 10 will work with your card at most, there are far more hardware revisions of a video hardware than what people expect.

TitaniumGL the OpenGL to D3D wrapper:
http://users.atw.hu/titaniumgl/index.html

Reply 2 of 6, by bimole

User metadata
Rank Newbie
Rank
Newbie

Also you dont need to desolder the bios, you can use a clip and do the flashing while the chip is still attached to the card.

Sure I can't!
Every time I tried it, EEPROM was read empty just after the writing step.
Whereas it is possible on the G200 AGP...
It was only after desoldering it that I could read the actual data on it (which were completely different from what I was trying to write).
Something is unusual.

Thinking on selecting one random bios from the net and expecting it to work is very opportunistic, in reality one bios from 10 will work with your card at most, there are far more hardware revisions of a video hardware than what people expect.

It was my first attempt. If I can find other versions for G200 PCI, I will check them carefully...

Reply 3 of 6, by acl

User metadata
Rank Oldbie
Rank
Oldbie
bimole wrote on 2025-02-26, 21:11:
Hi, […]
Show full quote

Hi,

I got for free an old Matrox G200 PCI and it (obviously) doesn't work!
Here below is this guy :

The attachment G200PCI.jpg is no longer available

When I gave it a try for the first time on my SS7 platform, I got no POST screen and no beep.
It was also impossible to install it in Windows 98SE by using a main AGP graphics card.
Aware of rotten BIOS problems on these cards, I used the Matrox Recover Utility floppy disk with another AGP card as the main display so I could have a look of what happened. It seemed to recognize the card type but it returned some "invalid pins cheksum" or 'currupt pointer". Here is the log :

The attachment 1740602486280.jpg is no longer available

Since I have a T48 chip programmer with a SOIC-8 test clip, I tried to backup and rewrite the EEPROM with the g200pci.bin file found in the Matrox Recover Utility floppy disk (see in the archive in attachments). Surprisingly, the EEPROM content seemed to be completely free and each attempt to rewrite something on the chip was apparently succeful. But each re-read ended with blank memory. I know that my programmer can write and read without any trouble...
So I managed to desolder the BIOS chip, an ATMEGA 25HP256W to read and write it "outside" the card.
Before rewriting it, I finally could read the content. You can find it in the archive below under the name "backup_desoldered.bin". I also re-read it several times and compared the output file : they are all the same, so reading the EEPROM seems to be fine.
For me, this extracted BIOS doesn't look like a regular BIOS binary. There are to many "readable" character strings. On the contrary, g200pci.bin from the Matrox Recover Utility floppy disk has some "readable" headers at the beginning from the bin file and then it's ASCII "white noise".
To compare, I also have a working G200 AGP on which I can read the EEPROM from "inside" the card with the SOIC-8 test clip. The data content looks much more to g200PCI.bin file than the actual data content of the G200 PCI EEPROM.

Anyway, I re-wrote the EEPROM with g200pci.bin, and "outside" the card, it worked perfectly.
After resoldering it on the PCB, I gave a try on my SS7 platform. I got the single beep from the buzzer and some VGA signals finally appeared...

The attachment 1740600826798.jpg is no longer available
The attachment 1740600826837.jpeg is no longer available

As you can see, the display is completely broken! And same behaviour on a PIII S370 platform.

I have found that the EEPROM ST M95256W is almost equivalent to the AT25HP256W, so I got 2 pieces of them. I wrote the g200pci.bin firmware on it and I will swap the chips on the card. I will also re-read the actual ATMEGA EEPROM (desoldered) to check eventual data corruption which could have occured during the test...

So what do you think?
Toasted core/RAM? Wrong BIOS version? Bad EEPROM?

Any help is very appreciated 😉

Cheers,
JB

I found this page : https://theretroweb.com/expansioncards/s/matr … x-mill-g200-pci

The picture #3 is exactly like yours. There is a bios provided but not sure it applies to a standard card.

But under the chip section there is a wider selection of bioses : https://theretroweb.com/chips/3873#bios

They might be worth a try

"Hello, my friend. Stay awhile and listen..."
My collection (not up to date)

Reply 4 of 6, by eisapc

User metadata
Rank Member
Rank
Member

The G200 PCI was also used with a differnet BIOS as an IBM GXT130P for RS/6000 running AIX.
I personally flashed some PC cards to use them in RS/6000 workstations.
This might explain why there are two totally different BIOS releases.

Reply 5 of 6, by bimole

User metadata
Rank Newbie
Rank
Newbie

Thank you for your help!
I have compared the bin file from the previously backuped G200 EEPROM with the bin file found on The Retro Web (open firmware VBIOS for RS/6000 variant) and they are extremely close. I conclude this card was used with such a machine and not a PC.

I also re-read the memory content after desoldering it (it was programmed yesterday with g200pci.bin which corresponds to V2.3 BIOS). No mismatch nor data corruption so the EEPROM chip seems to be fine.

With the link posted above by acl pointing to MGA-G200P chip page on The Retro Web, I tested the V2.6 BIOS.
Still the same messy display.
I will try other versions but I'm not convinced this is a BIOS problem since the card is well detected and I get the single beep and the (screwed up) POST screen...

What do you think?

Reply 6 of 6, by bimole

User metadata
Rank Newbie
Rank
Newbie

OK, here are some good news! The G200 PCI is still alive 😀
This was a BIOS problem.

Thanks to the old website MatroX Files available with the Wayback Machine (https://web.archive.org/web/20040110103 ... m/matrox/ ), and these two VERY useful threads on VOGONS (Matrox Millennium G200 PCI no video, suspect bad BIOS? and In need of PINS for Matrox G200 SD PCI 8mb), I finally managed to find and write the proper BIOS for my card.
If you want to re-write the BIOS of your MATROX card, you will need some utilities (especially PROGBIOS) still available on (ftp://ftp.matrox.com/). These tools are in the pub/mga/bios/ folder, and setup351.zip.

Actually, there are two G200 generations, an "old" one and a "new" one. I found it by chance in this table : https://web.archive.org/web/20080516034057/ht … sprog.html#file. Thus, there are two BIOS generations
The BIOS files we can find in the link above (https://theretroweb.com/chips/3873#bios) is related to the new generation. For the "old" generation it's another story... Maybe digging in the Matrox ftp...
Hopefully, a VOGONS member, SSTV2 (and I would like to thank him for this!), posted binaries for a BIOS and a PINS file in this thread (In need of PINS for Matrox G200 SD PCI 8mb).

To make it simple, the PINS file is a kind of ID card for the Matrox GPUs. It tells to the PROGBIOS utility which BIOS binary to use for the card installed in the system.
When the card is working properly, you can create a PINS file with the Matrox utilities. It will be useful if the BIOS is corrupted, to select the right BIOS version to re-write.
Ii turns out that even in case of data corruption in the BIOS, PINS data have good chance to remain untouched. So even with a broken card, it should be still possible to create a PINS file to make the BIOS re-writing procedure working properly, and restoring the card.
In my case, my G200 PCI is a G2+/MILP/8D/IBM which was not a PC-dedicated GPU, so I had to find the right BIOS version. Since I had "hard-written" the V2.6 with my programmer on the EEPROM, I tried to create a PINS file. It worked, but some fields in the PINS file were blank or had weird values. So something was definitely going wrong with V2.6 (which is a BIOS for the "new" G200 PCI).

I finally gave a try with the BIOS extracted and given by SSTV2. A quick look in HxD revealed it was a V1.1 which correspond to an "old" generation G200 PCI accordingly to the BIOS File Table of MatroX Files. It also revealed the BIOS file base name, 878-1. I just renamed the BIOS bin file 878-1.bin and forced re-writing with PROGBIOS -i 878-1.bin -k
A reboot later, I finally had a clean display and could eventually generate a proper PINS file (which is in fact exactly the same as the one published by SSTV2).

Under Windows 98SE the card is well detected and is working properly with the drivers.

Hope it will be usefull 😉