As is known, the resistors positioning on the wafer of ATI R300 chips determines the possibility to reprogram their DeviceID. By moving the resistor of your RADEON 9500 as is shown on the famous picture below:

...and by reflashing the RADEON 9700 BIOS into it you will get the opportunity to reprogram the DeviceID from 4144 (DeviceID of RADEON 9500) into 4E44 (DeviceID of RADEON 9700). So, this is how the card is turned into a fully-fledged RADEON 9700.
However, this resistor is not the only one of the chip wafer. The resistor next to it has also been placed specifically there not for nothing. We supposed right away that it is responsible for another opportunity to change the DeviceID, so that by resoldering it we could get a professional adapter from FireGL X1, Z1, etc., family…
But in this case we need the BIOS for these cards, which we didn’t have at hand then. So, the only thing to do was to make the FireGL BIOS on our own.
So, let’s get started!
First of all we take the Sapphire RADEON 9700 graphics card (you can also take a RADEON 9500, but in this case you will need to resolder the first resistor as well :)). Then we move the next resistor to a new spot:

Now the DeviceID is absolutely open for any programming, so that we should only reflash the new BIOS. We took the BIOS for RADEON 9700 based graphics card from Hercules. In order to make the FireGL X1 drivers recognize the card as “the right one”, the DeviceID of the chip, VendorID and SubID of the card should coincide with those of FireGL X1. We found these values in the inf-file of the FireGL X1 driver:

And from the info-file of the Catalyst 2.5 driver we can see that RADEON 9700 based card features completely different IDs:

After we found the lines containing IDs in the BIOS and compared the BIOSes for RADEON 9500 with that for RADEON 9500 Pro and RADEON 9700, we knew for sure where these IDs are exactly located and what should be changed in the RADEON 9700 BIOS we took for our experiment.
Now we are making the changes (the edited part is highlighted yellow):

Having changed the BIOS accordingly, we had to correct the checksums, which can be easily done in RadEdit, by opening the file and then saving it anew without any changes.
So, the card features new BIOS, and after Windows start a new graphics accelerator is found:

Before the experiment we removed all ATI drivers from the PC, so we had to point the system the correct driver, i.e. the FireGL X1/Z1 driver. As soon as it was installed, the system found a “secondary” adapter and then offered to install drivers for it as well:

Of course, we agreed :)
Now we restart the system.
Yes! After system restart Windows indicated that we have ATI FireGL X1 installed:

But this is not the end yet. The display properties now have FireGL X1 pages instead of the standard Catalyst driver control panel pages. For example, this page contains some information about the graphics card: ATI FireGL X1:

And here we can see the driver settings for professional applications:

When we decided to run some games, the performance appeared somewhat lower than that of the regular RADEON 9700. But the most important thing, which made all the remaining concerns vanish, is the following:

Serious Sam game started using the OpenGL driver for ATI FireGL X1.
Well, everything about the modification of our RADEON 9700 into ATI FireGL X1 seems to have run smoothly.
Now we suggest undertaking the same experiment on RADEON 9500. RADEON 9500 features 4 pipelines that is why it will be turned into FireGL Z1 and not into FireGL X1.
Well, we take Sapphire RADEON 9500 128MB. Then we resolder the resistor:

Now we take the BIOS for RADEON 9500 128MB and change it:

We correct the checksum and reflash the changed BIOS into the modified graphics card.
Start the system now. Windows finds some new adapter. FireGL X1/Z1 driver has already been installed that is why the system recognizes the card as FireGL Z1 right on the spot:

Having installed the drivers we restart the system again and see a new card in the display properties page:

And a “professional” control panel for ATI FireGL Z1:

The info about the graphics card corresponds to the goal of our experiment:

And Serious Sam game uses ATI FireGL Z1 OpenGL driver:

We tested the FireGL X1 card (former RADEON 9700) in 3ds max 5 in the following system:
- Intel Pentium 4 3.06GHz CPU;
- Gigabyte GA-8INXP (Granite Bay) mainboard;
- Seagate Barracuda V 40GB HDD;
- 1GB PC2700 DDR SDRAM;
- Windows XP;
- 3ds max 5.

Here are some results for your reference taken from the Benchmark directory of 3ds max 5 distributive. We are going to compare RADEON 9700 modified into FireGL X1 against RADEON 9700 Pro:

Well, no comments are necessary :)
You can download the BIOS files for the FireGL X1 (modified RADEON 9700) and FireGL Z1 (modified RADEON 9500 128MB) from our site: here and here respectively.
By the way, we are not the first ones to try to modify RADEON 9500/9700 into the professional FireGL X1/Z1, so we do not and will not claim that we are the pioneers here. As we learned, some successful experiments have been already reported (see this link). People have already managed to get professional solutions out of their R300 based gaming cards. But we still thought it makes sense to try doing the thing ourselves to learn about all peculiarities of the case and share the impressive results with you, guys!





