VOGONS


First post, by Retronerd878

User metadata
Rank Newbie
Rank
Newbie

I have 2 Radeon 9700 PRO with artifacts. I'm pretty handy with the soldering iron and I also have tools and spare chips for memory replacement. While I have 0 experience with BGA chips, replacing some RAM on an old video card is a good place to start.

First card

Initially it had no artifacts during post, but started to have mild artifacts in DOS.
Tried to run R3MEMID but I got the error in the attachment.
I ran the memory diagnostic tools that Necroware used to determine faulty RAM on a voodoo 3 and on the first try it suggested that all the memory chips on the front of the card were bad and the ones on the back were all good.
After more testing it showed that all the memory chips were bad. Seems like the condition of the card slightly worsened with use / heat.
Measured VTT MVDDC MVDDQ and they are all normal 1.4, 2.9, 2.8V

Second card will be posted in the following post.

Reply 1 of 19, by Retronerd878

User metadata
Rank Newbie
Rank
Newbie

Second card

Much worse artifacting than first card.
Same error in R3MEMID.
Necroware tool reports all memory chips bad.
VTT MVDDC MVDDQ measured normal as the first card.

I highly doubt that all the memory chips are bad. The problem must be somewhere else.
Seeking guidance from people with more experience.

Reply 2 of 19, by zuldan

User metadata
Rank Oldbie
Rank
Oldbie
Retronerd878 wrote on 2026-04-14, 11:17:

Tried to run R3MEMID but I got the error in the attachment.

You’re missing some parameters

R3MEMID –NOCFG –GENREF –LOG

Send us the log 😀

Reply 3 of 19, by Dothan Burger

User metadata
Rank Member
Rank
Member

I remember having to deshim my 9700 or the GPU die wouldn't make contact with the cooler. Maybe something similar happened with this card.

Reply 4 of 19, by Retronerd878

User metadata
Rank Newbie
Rank
Newbie

I used the new command line.
In the logfile is the same message I got on the console before.

Reply 5 of 19, by zuldan

User metadata
Rank Oldbie
Rank
Oldbie
Retronerd878 wrote on 2026-04-14, 11:54:

I used the new command line.
In the logfile is the same message I got on the console before.

Very strange the card is not being detected. Maybe double check voltages, see here Re: ATI 9700 Pro Broken

Did you try AGP 1X/2X? Do the artifacts move?
If they do move, then maybe memory
If they don't, then maybe core

Reply 6 of 19, by Retronerd878

User metadata
Rank Newbie
Rank
Newbie

I checked the voltages, they are all correct for both cards.
Switching between AGP 1x /2x doesn't change the artifacts

Reply 7 of 19, by tehsiggi

User metadata
Rank Oldbie
Rank
Oldbie
Dothan Burger wrote on 2026-04-14, 11:49:

I remember having to deshim my 9700 or the GPU die wouldn't make contact with the cooler. Maybe something similar happened with this card.

The default thermal compound between cooler and GPU took that into account.

----

Retronerd878 wrote on 2026-04-14, 11:17:

I ran the memory diagnostic tools that Necroware used to determine faulty RAM on a voodoo 3 and on the first try it suggested that all the memory chips on the front of the card were bad and the ones on the back were all good.
After more testing it showed that all the memory chips were bad.

I would discard that result. The cards picture would look significantly worse if it was the case. Stick to R3MEMID.

Retronerd878 wrote on 2026-04-14, 11:54:

I used the new command line.
In the logfile is the same message I got on the console before.

Are you running FreeDOS? R3MEMID will only work with safe mode with least drivers loaded.

AGP Card Real Power Consumption
AGP Power monitor - diagnostic hardware tool
Graphics card repair collection

Reply 8 of 19, by Retronerd878

User metadata
Rank Newbie
Rank
Newbie

it's normal MS-DOS. Fresh copy with no drivers installed. Are there even drivers for DOS for the Radeon 9700? Not familiar with FreeDOS.

Reply 10 of 19, by Retronerd878

User metadata
Rank Newbie
Rank
Newbie

Yes, I downloaded and manually copied the DOS4GW file and it worked afterward. However, this is the report it produces.

Reply 12 of 19, by Retronerd878

User metadata
Rank Newbie
Rank
Newbie

I can install freedos, no problem.
I guess this is the source: https://www.freedos.org/download/
Which variant should I choose? My test rig is a socket 370 setup with universal AGP slot. I have a CF card as a boot drive. Can I install the FreeDOS on the card on my main computer (using a card reader) and simply put it back into the retro pc?

Reply 13 of 19, by Retronerd878

User metadata
Rank Newbie
Rank
Newbie

Finally got it to work. Installed freedos.

Here is the log for the first card:

R3MEMID version 1.07, (c) Copyright ATI Technologies Inc, 2003
Log file generation enabled to .\R3MEMID.LOG ...
Reference data file (RDF) loading disabled ...
No wait on error enabled (not effected by '-s') ...
TEST RESULT SUMMARY:
====================
R300 (0x4e44) detected.
128M video memory.
Test suite ran 1 of 1 times.
Checking test status array ...
[1 ] Fill : FAIL
Error ID 0VB001
1024 x 768 - 32 bpp ( 60 Hz): TEST FAILURE
failing bit : MDC0 28 30 31 MDD0 32 33 34 35 36 37 38 39 ...

[2 ] Data line toggle (GUI) : FAIL
Error ID 0VB023
1024 x 768 - 32 bpp ( 60 Hz): TEST FAILURE
failing bit : MDC0 28 30 31 MDD0 32 33 34 35 36 37 38 39 ...

[3 ] RW page (GUI) : FAIL
Error ID 0VB025
1024 x 768 - 32 bpp ( 60 Hz): TEST FAILURE
failing bit : MDC0 28 30 31 MDD0 32 33 34 35 36 37 38 39 ...

[4 ] RW channel (GUI) : FAIL
Error ID 0VB028
1024 x 768 - 32 bpp ( 60 Hz): TEST FAILURE
failing bit : MDC0 28 30 31 MDD0 32 33 34 35 36 37 38 39 ...

[5 ] Data mask : FAIL
Error ID 0VB006
1024 x 768 - 32 bpp ( 60 Hz): TEST FAILURE
failing bit : MDC0 28 30 31 MDD0 32 33 34 35 36 37 38 39 ...

[6 ] Macro + Micro8x2 tiling read : FAIL
Error ID 0VC006
1024 x 768 - 32 bpp ( 60 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 36 37 38 39 ...

[7 ] Byte swap macro+micro8x2 read : FAIL
Error ID 0VC018
1024 x 768 - 32 bpp ( 60 Hz): TEST FAILURE
failing bit : MDC0 28 30 31 MDD0 32 33 34 35 36 37 38 39 ...

[8 ] HOST_DATA/<f,b>/M2L : FAIL
Error ID 0TR014
640 x 480 - 8 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 36 37 38 39 ...

640 x 480 - 15 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 37 38 39 40 ...

640 x 480 - 16 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 37 38 39 40 ...

640 x 480 - 32 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 37 38 39 40 ...

800 x 600 - 8 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 37 38 39 40 ...

800 x 600 - 15 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 37 38 39 40 ...

800 x 600 - 16 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 37 38 39 40 ...

800 x 600 - 32 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 36 37 38 39 ...

1024 x 768 - 8 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 37 38 39 40 ...

1024 x 768 - 15 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 37 38 39 40 ...

1024 x 768 - 16 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 37 38 39 40 ...

1024 x 768 - 32 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 36 37 38 39 ...

[9 ] Line slopes/dir/P/solid : FAIL
Error ID 0TR010
640 x 480 - 8 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 37 38 39 40 ...

640 x 480 - 15 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 37 38 39 40 ...

640 x 480 - 16 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 37 38 39 40 ...

640 x 480 - 32 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 37 38 39 40 ...

800 x 600 - 8 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 37 38 39 40 ...

800 x 600 - 15 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 37 38 39 40 ...

800 x 600 - 16 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 37 38 39 40 ...

800 x 600 - 32 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 37 38 39 40 ...

1024 x 768 - 8 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 37 38 39 40 ...

1024 x 768 - 15 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 37 38 39 40 ...

1024 x 768 - 16 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 36 37 38 39 ...

1024 x 768 - 32 bpp ( 75 Hz): TEST FAILURE
failing bit : MDD0 32 33 34 35 37 38 39 40 ...

Failure detected.

Reply 14 of 19, by Retronerd878

User metadata
Rank Newbie
Rank
Newbie

This is the 2nd card:

R3MEMID version 1.07, (c) Copyright ATI Technologies Inc, 2003
Log file generation enabled to .\R3MEMID.LOG ...
Reference data file (RDF) loading disabled ...
No wait on error enabled (not effected by '-s') ...
TEST RESULT SUMMARY:
====================
R300 (0x4e44) detected.
128M video memory.
Test suite ran 1 of 1 times.
Checking test status array ...
[1 ] Fill : FAIL
Error ID 0VB001
1024 x 768 - 32 bpp ( 60 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31

[2 ] Data line toggle (GUI) : FAIL
Error ID 0VB023
1024 x 768 - 32 bpp ( 60 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31

[3 ] RW page (GUI) : FAIL
Error ID 0VB025
1024 x 768 - 32 bpp ( 60 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31

[4 ] RW channel (GUI) : FAIL
Error ID 0VB028
1024 x 768 - 32 bpp ( 60 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31

[5 ] Data mask : FAIL
Error ID 0VB006
1024 x 768 - 32 bpp ( 60 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31

[6 ] Macro + Micro8x2 tiling read : FAIL
Error ID 0VC006
1024 x 768 - 32 bpp ( 60 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31

[7 ] Byte swap macro+micro8x2 read : FAIL
Error ID 0VC018
1024 x 768 - 32 bpp ( 60 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 7 24 25 26 27 28 29 30 ...
[8 ] HOST_DATA/<f,b>/M2L : FAIL
Error ID 0TR014
640 x 480 - 8 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
640 x 480 - 15 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
640 x 480 - 16 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
640 x 480 - 32 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
800 x 600 - 8 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
800 x 600 - 15 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
800 x 600 - 16 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
800 x 600 - 32 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
1024 x 768 - 8 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
1024 x 768 - 15 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
1024 x 768 - 16 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
1024 x 768 - 32 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
[9 ] Line slopes/dir/P/solid : FAIL
Error ID 0TR010
640 x 480 - 8 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
640 x 480 - 15 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
640 x 480 - 16 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
640 x 480 - 32 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
800 x 600 - 8 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
800 x 600 - 15 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
800 x 600 - 16 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
800 x 600 - 32 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
1024 x 768 - 8 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
1024 x 768 - 15 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
1024 x 768 - 16 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
1024 x 768 - 32 bpp ( 75 Hz): TEST FAILURE
failing bit : MDA0 0 1 2 3 4 5 6 7 ... MDB0 0 1 2 3 4 5 6 7 ... MDC0 24 25 26 27 28 29 30 31 MD
Failure detected.

Reply 15 of 19, by Retronerd878

User metadata
Rank Newbie
Rank
Newbie

Judging by the results there are problems with:

U56 and U59 on the first card
U52, U54 and U56 on the second card

Am I correct?

Reply 16 of 19, by tehsiggi

User metadata
Rank Oldbie
Rank
Oldbie

From your logs, yes. That is correct. There appear to be more bits affected on the second card, indicated by the ... - I'll check tomorrow, there should be a switch for R3MEMID to log every bit.

Let's start with Card 1 first, so we keep it simple. Check the surrounding of U56 and U59, broken traces, corrosion etc. are interesting. However! If the bits are only affected on one memory rank, it's relatively safe to assume the issue is with the memory chips, since having series/parallel termination failures would affect both ranks (0 and 1).

Test if the error behavior changes with pressure.

I attached a schematic of the R9700 from Gigabyte.

AGP Card Real Power Consumption
AGP Power monitor - diagnostic hardware tool
Graphics card repair collection

Reply 17 of 19, by Retronerd878

User metadata
Rank Newbie
Rank
Newbie

Didn't find anything suspicious around those ram chips, or on all of the card for that matter. Looks in good condition.
So, I'm guessing I should begin by replacing one of the ram chips.

I have a board preheater with a stand for the hot air gun. I also have a 15 x 15 mm nozzle. Since I have no experience with BGA I need a few tips.
What temperature should I set the preheater and what temperature should i set the hot air station?
Removing the chip should be pretty straightforward but when I solder the new one, how much flux should I apply? I know that in some cases too much can be a bad thing.

Reply 18 of 19, by tehsiggi

User metadata
Rank Oldbie
Rank
Oldbie
Retronerd878 wrote on 2026-04-16, 06:46:
Didn't find anything suspicious around those ram chips, or on all of the card for that matter. Looks in good condition. So, I'm […]
Show full quote

Didn't find anything suspicious around those ram chips, or on all of the card for that matter. Looks in good condition.
So, I'm guessing I should begin by replacing one of the ram chips.

I have a board preheater with a stand for the hot air gun. I also have a 15 x 15 mm nozzle. Since I have no experience with BGA I need a few tips.
What temperature should I set the preheater and what temperature should i set the hot air station?
Removing the chip should be pretty straightforward but when I solder the new one, how much flux should I apply? I know that in some cases too much can be a bad thing.

Pre-heater depends highly on what you use. For swapping memory, I usually set my preheater to 150°C or something around that, knowing that the PCB will likely be cooler than that. I use a simple hotair soldering station with 350°C and mid-to high airflow. You can apply flux around the edges of the old memory IC beforehand, "tiny ropes" around it are sufficient.

For soldering in the new chip you can do the same, apart from the flux. Clean the pads cautiously, don't apply much pressure when using soldering wick to clean the pads. Use plenty of flux for the cleaning, it will help a lot. Then clean it all up with isoprop. After that, a small blob (like 2x2mm) of flux in the middle of the pads, gently spread it and then position the new chip thoroughly. Take your time, care beats quick. Then solder the chip on with hot air. It should "settle itself in" once you're done. It's easy to compare the chips height from the board to the neighboring chips if you look from the side.

AGP Card Real Power Consumption
AGP Power monitor - diagnostic hardware tool
Graphics card repair collection

Reply 19 of 19, by Retronerd878

User metadata
Rank Newbie
Rank
Newbie

So, basically I just had my first BGA replacement failed attempt. Used the preheater on 150C and set the hot air station for 350 C on medium air speed. Got the chip out. Cleaned the pads and turned off the preheater. Waited for the board to cool off. Cleaned with IPA and applied a blob of flux. Spread it off with my finger. Kind of worried now that there wasn't enough flux as much stuck to my finger. Aligned the new chip in place and turned on the preheater to 150C. Waited for the board to get hot and then used the hot air station at 375 C with low-medium air speed. I'm using a square nozzle with the exact size of the chip so I'm just placing it very close to the chip and not moving. After an uncomfortably long period of keeping the hot air gun really close to the chip, like 20-30 sec, I didn't notice the chip settle in place, however I decided to stop.

After running R3memid again, the errors on that chip changed from MDC0 28 30 31 to MDC0 0 1 2 3 4 5 6 7
I'm guessing that not all the balls melted so not all of them are connected.

One thing that maybe I did wrong : I see people applying leaded solder to the pads before wicking, which i didn't do.
Anyway, what should I do? Try a reflow? Or remove the chip and start again?