VOGONS


First post, by RayeR

User metadata
Rank Oldbie
Rank
Oldbie

I bought this VGA Inno3D MX128 PCI rev 3.1 on a local flea market this summer. Just because I don't have more powerfull GPU for PCI bus. It was cheap and trash quality but I decided to give a try because I don't see much PCI cards like this so often. And of course it doesn't boot, just a black screen. So I added some ISA VGA to see if PCI scan will find it. And yes, it was responding. Even nVflash found it properly but it failed to dump video BIOS - complains about unknown flashROM ID 55,AA - really a nonsense. I forced to dump it with override parameter to skip ID and it dumped the vbios but it looks corrupted. The 1st 256B was fine but then the same block repeated multiple times like some address line issue. I decided to desolder flashROM chip because it's far much easier handling PLCC32 than BGA GPU. I put it in programmer and the flashrom works fine, can dump it, read correct ID, erase, reprogram... so it was not the culprit...

When flashROM was off I use diode test to check all lines from the chip footprint pads to the GPU but didn't find any broken trace. All had cca 0,7V drop. So I soldered the chip back on and nothing changed, of course... I found that A9 & A10 pins has relative low resistance to GND - cca 5,5k - could be some bootstrap resistor somewhere? I didn't find any, seems to me that traces from that pins goest directly under BGA GPU but the black solder mask is not ideal for visual tracing traces... So I kicked on the scope and checked what's going on after power on. After cca 5s a short communication occured and then all lines swithed to high. I can see that all lines show pretty square waves, EXCEPT the A9 & A10 where there was some strange "stairs" 3-state signal. Voltage goes from 0V to cca 1,5V and then to 3,3V and then back to 0V, repeated multiple times. It would make a sense if there would be really a bootstrap then when GPU switch the address bus to HiZ it can float at level defined by some ext.resistors. So as a last try I just soldered 1k pull-ups to both signals and the 3rd state has gone - got pretty square wave as on other signals. And finally I have a boot! nVflash now recognizes the flashROM by correct ID and dump it. All seems to be fine but I still have no explanation what's going on there, if GPU is dying and I give it just a last breath?

I cannot find any GF2MX card reference schematic so I cannot confirm if that resistance should be there or not. So please could someone with GF2MX200/400 card with DMM measure resistance of A9 & A10 against the GND? Pinout is in datasheet here: https://www.alldatasheet.com/html-pdf/102553/ … /PM39LV512.html

One thing coming to my mind is to put the card to have a bath in IPA of an ultrasonic cleaner if it will change anything...
And attaching the VBIOS if someone would need it (old archives are disappearing from the Internet)

Gigabyte GA-P67-DS3-B3, Core i7-2600K @4,5GHz, 8GB DDR3, 128GB SSD, GTX970(GF7900GT), SB Audigy + YMF724F + DreamBlaster combo + LPC2ISA

Reply 1 of 4, by zyga64

User metadata
Rank Oldbie
Rank
Oldbie
RayeR wrote on Yesterday, 06:26:

I cannot find any GF2MX card reference schematic so I cannot confirm if that resistance should be there or not.

I’ve attached what I have. I likely found it somewhere on Vogons 😀


8088@8 /640k /TVGA9000C /TNDY 3voice
286@20 /4M /CL-GD5422 /CMI8330
486DX33 /16M /TGUI9440 /GUS+ALS100+MT32PI
K6-2@400 /64M /MGA-2064W+3dfx /YMF718
P!!!750 /256M /MX440 /Vibra16s+SBLive!

Reply 2 of 4, by RayeR

User metadata
Rank Oldbie
Rank
Oldbie

Thank you, this is very helpful! Schematic clearly show, that flashROM pins are used as strap pins TVED[x]:
A9 - TVED[9] STRAP_AGP4X: STRAP_AGP4X=0 : AGP4X transfers enabled, STRAP_AGP4X=1 : AGP2X only
A10 - TVED[6] STRAP_CRYSTAL: STRAP_CRYSTAL=1 : 14.31818MHz
10k resistors are used. So in my case it should be strapped to AGP2x and 14,3M crystal with 10k pull-ups. I have to locate this resistors and check if they have correct values or even are still there (not fell off from PCB). But claning with IPA will not hurt...

Last edited by RayeR on 2026-11-04, 00:12. Edited 1 time in total.

Gigabyte GA-P67-DS3-B3, Core i7-2600K @4,5GHz, 8GB DDR3, 128GB SSD, GTX970(GF7900GT), SB Audigy + YMF724F + DreamBlaster combo + LPC2ISA

Reply 3 of 4, by RayeR

User metadata
Rank Oldbie
Rank
Oldbie

I was able to locate that 2 bootstrap resistors, they are OK, my config:
A9 (pin 26) - TVED[9] STRAP_AGP4X: 0 = AGP4X transfers enabled, 1 = AGP2X only - R137 (10k) to GND - 0
A10 (pin 23) - TVED[6] STRAP_CRYSTAL: 1 = 14.31818MHz - R128 (10k) to VCC - 1

I desoldered temporal 1k pullups and washed the card in IPA. After blowing with compressed air and dry out I measured the resistance at A9 & 10 and now it match expected 10k values exactly, so it was probably just some dirt under BGA package of GPU that caused soft-shorts to GND. Card then booted fine without extra pull ups. Then I did a complete recap with modern polymer caps. With old damaged elyts I was getting some random errors in VMT, now torturing a 12th pass and any errors occured yet.

I'm also thinking about to expand memory from 32MB to 64MB, it could give some perf. gain as the bus width would double from 64 to 128 bits but I doubt if it brings some real speed up on old PCI system. Maybe this would require also some straps change but it's not fully described in schematic:
TVED[5:2] STRAP_RAM_TYPE
0000 = 2MX32 SDR SDRAM
1010 = 4MX16 DDR SDRAM
there are 16 possible combinations but only 2 known (this design was not ready for 128 bit memory)...

Gigabyte GA-P67-DS3-B3, Core i7-2600K @4,5GHz, 8GB DDR3, 128GB SSD, GTX970(GF7900GT), SB Audigy + YMF724F + DreamBlaster combo + LPC2ISA

Reply 4 of 4, by zyga64

User metadata
Rank Oldbie
Rank
Oldbie

Congratulations on a successful repair. It's amazing how much good cleaning can do!


8088@8 /640k /TVGA9000C /TNDY 3voice
286@20 /4M /CL-GD5422 /CMI8330
486DX33 /16M /TGUI9440 /GUS+ALS100+MT32PI
K6-2@400 /64M /MGA-2064W+3dfx /YMF718
P!!!750 /256M /MX440 /Vibra16s+SBLive!