VOGONS


The story of the QuForce FX 5800 Ultra...

Topic actions

First post, by slivercr

User metadata
Rank Member
Rank
Member

…or, how to turn your cheap Quadro FX 1000 into a GeForce FX 5800 Ultra.

Intro
About a week ago, while rummaging through Marktplaats, I spotted a Quadro FX 1000 which had been mislabeled as Geforce 5200. I always wanted either this one or the Quadro FX 2000 since they are based on the NV30 chip, the same one powering the infamous dustbuster. I went ahead and bought it for €7 + shipping—good deal. Upon arrival I inspected it and realized the memory chips used in this card are actually the same ones used in the 5800 Ultra! (I couldn't find the exact datasheet for these markings, but they are the same that can be seen in pictures from reviews of the 5800u.)

memory.jpg
Filename
memory.jpg
File size
1.23 MiB
Views
8710 views
File license
Fair use/fair dealing exception
quadro1000.gif
Filename
quadro1000.gif
File size
15.37 KiB
Views
8797 views
File license
Fair use/fair dealing exception

So, while heavily underclocked at 300 Core / 300 Mem, the card will for sure reach a memory frequency of 500 MHz... if I can overclock the core to 500 MHz I'll have something special in my hands 😀 I started fiddling around, overclocking only the core, and when I pumped 1.5V into it it would do 500MHz easily, if a bit hot. And thus, the idea sprouted: lets mod the BIOS and turn this into a GeForce 5800 Ultra!

Why do this?

  • because is neigh impossible to find a “real” 5800u,
  • because when you find a “real” 5800u, you have to choose between buying it and paying rent,
  • because you enjoy tinkering with hardware,
  • because you want a quieter, single slot 5800u,
  • because you can!

The proceedings
I knew from the get-go I didn't want to do any hardware mods to the card. I'm not averse to soldering and indeed enjoy modding my hardware, but I wanted something that could be easily reversible without whipping out a soldering iron. This meant tinkering with the BIOS. I had never done it extensively, so I was also eager to dive-in and learn a bit about it.

Online you will find a lot of references, ALL of them deal with turning a Geforce into a Quadro. And it makes lots of sense, if you are using contemporary hardware for work, you buy the cheap Geforce and turn it into the expensive Quadro! Indeed, I remember the first resistor mods appearing online for the Geforce and Geforce2 back in the day. The process is fairly well documented, just modify the so-called "straps" in the BIOS—or in hardware like with GF and GF2—and you're good. The reason for my write-up here is twofold: I want to document the process for a slightly older piece of hardware (although its basically the same), I want to encourage people in the retro community to rescue cheap, old Quadros and use them for retro-gaming!

The nouveau project has reverse engineered and documented all we need to touch for this little operation. In particular, the info we need on the straps can be found HERE. Throughout the whole process I used nvflash 5.117.0.1 and nvflash for windows 5.118

So, let's get our hands dirty!

0. A bit of theory first

The OS decides the identity of a card by looking at the card's BIOS and reading the DeviceID, so to have a Quadro FX 1000 recognized as a Geforce FX 5800 Ultra we must change its DeviceID. At the same time, the BIOS confirms the DeviceID on bootup depending on the configuration of the straps. Attempting to modify the DeviceID in the BIOS with a program like NiBiTor will not change the value of the straps, and will result in an identity crisis for the card: while the BIOS says its a GeForce, the straps are telling it its a Quadro. The card will not initialize properly on bootup and we'll get no video. To properly change the DeviceID we need to modify the BIOS and the straps.

On NV3x based cards there are 2 sets of straps, Strap0 and Strap1; each with 3 levels, Primary or Hardware (the resistors found physically on the card), Select or AND (this is a software strap embedded in the BIOS, the values specified here perform a bitwise AND on the Primary straps), and Secondary or OR (also a software strap embedded in the BIOS, the values of this strap perform a bitwise OR on the result of Primary AND Select).

So, the gist of it is the straps can be changed either in hardware, by moving resistors around; or in software, by adjusting the AND / OR straps in the BIOS. The approaches are IDENTICAL in result. In my opinion, modifying the software straps has 1 advantage: it can be reversed immediately without having to move resistors back to their original position.

So, the process to change the DeviceID is;

  • modify the card's original BIOS with NiBiTor changing the DeviceID (and any other thing you want like clocks, voltages, etc). This change will not affect the strap values embedded in the BIOS. If you stop here, you will get no video upon reboot.
  • "Calculate" new software straps and flash them into the BIOS. This is equivalent to moving the resistors on the PCB.

Once these steps are done, the BIOS in the card will be "strapped". Backing this up is recommended! Flashing the original BIOS or the strapped BIOS into the card can be done at any time, the card will work immediately, the only difference being the DeviceID (and any other change you did like clocks, voltages, etc).

1. Compare DeviceID

The DeviceIDs of the cards in question can be read directly from the nvidia drivers: just open up the nv4_disp.inf and search for the cards. In my case I need the following values (they are in hexadecimal, I have translated them into binary)

0309 = 00 00 00 11 00 00 10 01 (Quadro FX 1000)
0301 = 00 00 00 11 00 00 00 01 (GF FX 5800U)
DeviceID bit: 32 10

Notice that the only difference is in the final 4 bits, in particular, the difference is in DeviceID[3] we need to convert a 1 into a 0.

2. Read straps from the ROM

According to the documentation, the software straps Strap0-AND, Strap0-OR, Strap1-AND, and Strap1-OR can be found in the locations 0x58, 0x5c, 0x60, 0x64 of the ROM image. We can read them with any hex editor. I read them directly with nvflash with the command nvflash --display 112, the last 2 lines displayed are the relevant ones;

0050:  E9 8F 7A 00 DE 10 82 01 FF FF FF 7F 00 00 00 00
0060: FF FF FF 7F 00 00 00 80 22 00 A5 C1 E9 B4 16 E9

And of those lines, only a few bytes are of our interest. In the 2nd half of line 0050, the first 4 bytes represent Strap0-AND, the following represent Strap0-OR. In line 0060 the first 4 bytes represent Strap1-AND, the following 4 bytes are Strap1-OR. The order is little-endian, so we must rewrite them to work with them;

Strap0-AND: 7F FF FF FF
Strap0-OR: 00 00 00 00
Strap1-AND: 7F FF FF FF
Strap1-OR: 80 00 00 00

The NV30 chip used in both the Quadro FX 1000 and the Geforce FX 5800 Ultra has a total of 4 bits to set DeviceId, all of which are located in Strap0: Strap0[12,13] correspond to DeviceID[0,1], and Strap0[20,21] correspond to DeviceID[2,3]. so we only need to work with Strap0, but we must translate it from hexadecimal into binary;

DeviceID bits:      xxxx xxxx   xx32 xxxx   xx10 xxxx   xxxx xxxx
Strap0-AND (hex) : 7F FF FF FF
Strap0-AND (bin) : 0111 1111 1111 1111 1111 1111 1111 1111
Strap0-OR (hex) : 00 00 00 00
Strap0-OR (bin) : 0000 0000 0000 0000 0000 0000 0000 0000

How to read this table? The top line has the DeviceID bits in their respective positions in Strap0: DeviceID[0,1] in positions Strap0[12,13], and DeviceID[2,3] in positions Strap0[20,21]. Below each hexadecimal value I have translated into binary: 7F corresponds to 0111 1111, for example.

3. Calculate the new straps

Note that for the DeviceID bits the values in the Strap0-AND are all 1, and the values in the Strap0-OR are all 0: these are just a passthru for the Hardware straps (the resistors in the card). For example the Quadro FX 1000;

HW Strap   : 1001   (DeviceID set by resistors)
Strap0-AND : 1111 (AND)
Results in : 1001 (result of bitwise AND)
Strap0-OR : 0000 (OR)
Results in : 1001 (result of bitwise OR, and effective DeviceID)

To have the card recognized as a 5800U we need the final result to be 0001. We have 2 possibilities to achieve this:

  • Set all bits in the Strap0-AND to 0, effectively setting all values to 0, and then use Strap0-OR to set 0001;
  • Set only bit [21] in Strap0-AND to 0, and leave Strap0-OR untouched.

I chose the 2nd approach, which would look like this when we look at the complete Strap0;

DeviceID bits        :  xxxx xxxx   xx32 xxxx   xx10 xxxx   xxxx xxxx
Old Strap0-AND (hex) : 7F FF FF FF
Old Strap0-AND (bin) : 0111 1111 1111 1111 1111 1111 1111 1111
New Strap0-AND (bin) : 0111 1111 1101 1111 1111 1111 1111 1111
New Strap0-AND (hex) : 7F DF FF FF
Old Strap0-OR (hex) : 00 00 00 00
New Strap0-OR (hex) : 00 00 00 00

So, after all this, our set of 4 straps representing Strap0-AND, Strap0-OR, Strap1-AND, and Strap0-OR are respectively 0x7FDFFFFF, 0x00000000, 0x7FFFFFFF, and 0x80000000. We only had to change 1 bit!

Hard part's over.

4. Flashing

Hard part's over, but now begins the dangerous part. If you intend to follow this "guide" then, before flashing anything...
MAKE A BACKUP OF YOUR BIOS!
MAKE A RECOVERY FLOPPY / CD THAT RUNS nvflash AUTOMATICALLY AND FLASHES THE BIOS BACK!

This part is done in NiBiTor. I opened up my backup of the BIOS and looked around, decided to change the following parts;

  • I added a second performance level, to differentiate 2D from 3D. Set the 3D at 500 / 500
  • Changed the Device ID and Sub System ID to a GeForce FX 5800 Ultra (changing the Sub System ID is not necessary, I did it to match a 5800U bios I found online)
  • In the Voltage table editor there were, curiously, 2 active entries. I say curiously because the BIOS was configured for 3D only, so I have no clue when it would use the 1st voltage entry. I just changed the VID of the 2nd entry to 7 instead of 5, this will give the card 1.5 V instead of 1.3 V when it goes into 3D mode.
  • Changed the bootup message to display QuForce FX 5800 Ultra 🤣
clockrates.jpg
Filename
clockrates.jpg
File size
308.63 KiB
Views
8797 views
File license
Fair use/fair dealing exception
voltage.jpg
Filename
voltage.jpg
File size
311.25 KiB
Views
8797 views
File license
Fair use/fair dealing exception

With all those changes made, I saved the ROM as NV30_qf5800u.rom and flashed it. Since I have no other nvidia card in my system I didn't bother setting the index parameter,

nvflash -j -5 -6 NV30_qf5800u.rom

After this step, if you check the strap values, they are unchanged from the original BIOS. Run again nvflash --display 112 and see the strap lines

0050:  E9 8F 7A 00 DE 10 82 01 FF FF FF 7F 00 00 00 00
0060: FF FF FF 7F 00 00 00 80 22 00 A5 C1 E9 B4 16 E9

Before rebooting, I flashed the new software straps calculated in this post,

nvflash --straps 0x7FDFFFFF 0x00000000 0x7FFFFFFF 0x00000000

The last one, Strap1-OR, should be 0x80000000, but apparently the leftmost bit cannot be touched, so nvflash does it by itself: if you just put 0x00000000 you will get 0x80000000. Don't know why. Indeed, when I check the straps to check they have been flashed properly, I see the following

0050:  E9 8F 7A 00 DE 10 81 01 FF FF DF 7F 00 00 00 00
0060: FF FF FF 7F 00 00 00 80 22 00 A5 E1 E9 B4 16 E9

The difference between 82 and 81 in line 0050 is the SubSystem ID we changed in NiBiTor, the difference between C1 and E1 in line 0060 is a checksum calculated by nvflash when flashing the straps (you will also get it if you only flash the straps without doing any other change at all), and the 80 of Strap1-OR is there even though we told nvflash 0x00000000.

All good, its done! Uninstall drivers, reboot, reinstall drivers…

quforce5800u.gif
Filename
quforce5800u.gif
File size
15.48 KiB
Views
8797 views
File license
Fair use/fair dealing exception

So, after all this I have the original BIOS and a strapped BIOS, which will allow me to change the identity of the card with a single command and a reboot. Later I'll describe the necessary cooling mods to keep it at a manageable temperature when running in 3D.

HERE'S A TL;DR

EDIT: formatting, added TL;DR

Last edited by slivercr on 2018-04-06, 11:48. Edited 8 times in total.

Outrigger: an ongoing adventure with the OR840
QuForce FX 5800: turn your Quadro into a GeForce

Reply 1 of 147, by RogueTrip2012

User metadata
Rank Oldbie
Rank
Oldbie

Great work! I wont pretend to understand that on my first read 🤣

Want to mod a fx3000 bios for me? Unless on already exist?

I have been using rivatuner with nvstrap driver. Its a bit of a pain. I also pulled the cards blower fan and put a 120mm fan on the card taking up 2 slots with the heatsink.

How are those clocks holding up in games?

> W98SE . P3 1.4S . 512MB . Q.FX3K . SB Live! . 64GB SSD
>WXP/W8.1 . AMD 960T . 8GB . GTX285 . SB X-Fi . 128GB SSD
> Win XI . i7 12700k . 32GB . GTX1070TI . 512GB NVME

Reply 2 of 147, by Tetrium

User metadata
Rank l33t++
Rank
l33t++

Any pics of your legend? 😁

Whats missing in your collections?
My retro rigs (old topic)
Interesting Vogons threads (links to Vogonswiki)
Report spammers here!

Reply 3 of 147, by slivercr

User metadata
Rank Member
Rank
Member
RogueTrip2012 wrote:
Great work! I wont pretend to understand that on my first read lol […]
Show full quote

Great work! I wont pretend to understand that on my first read 🤣

Want to mod a fx3000 bios for me? Unless on already exist?

I have been using rivatuner with nvstrap driver. Its a bit of a pain. I also pulled the cards blower fan and put a 120mm fan on the card taking up 2 slots with the heatsink.

How are those clocks holding up in games?

Thanks!

Yeah, I also use rivatuner or hacked drivers, but it is a bit of a pain as you say. I thought I'd just do it once and for all (and have a backup of the old BIOS in case I ever want to flash it back). Besides, it was a lot of fun!

I don't know if there are any modded BIOSes out there, I didn't find ANYTHING useful regarding going from a Quadro to a Geforce, though. If you want a modded BIOS ready to flash, I cannot give it to you, I need the actual card to have nvflash put in the straps and calculate the checksum on its own. I can do all the calculations and give you detailed instructions, if you wish. It would be cool to have a small thread for these mods 😀

Concerning the clocks: I was very aggressive. I found an FX5800U BIOS and it has 3 performance states: 2D, Throttling, and 3D. I didn't bother with Throttling and just have the card jump between 300 MHz / 300 MHz @ 1.2 V and 500 MHz / 500 MHz @ 1.5 V 🤣 They hold up ok, no jumping once 3D is engaged.

The card COOKS though, I can see why nvidia went for the dustbuster design—thing gets HAWT.

Outrigger: an ongoing adventure with the OR840
QuForce FX 5800: turn your Quadro into a GeForce

Reply 4 of 147, by slivercr

User metadata
Rank Member
Rank
Member
Tetrium wrote:

Any pics of your legend? 😁

Just a teaser for now, I dare not show it in its current ugly state 🙁

IMG_20180316_181017872.jpg
Filename
IMG_20180316_181017872.jpg
File size
1.48 MiB
Views
8770 views
File license
Fair use/fair dealing exception

I have my sights on a cooler in Marktplaats but the seller is not responding 😒

Outrigger: an ongoing adventure with the OR840
QuForce FX 5800: turn your Quadro into a GeForce

Reply 5 of 147, by RogueTrip2012

User metadata
Rank Oldbie
Rank
Oldbie

I may take you up on this. Need to backup up my quadro and maybe finding a fx5900 bios.

What happens if we just swap the deviceID in the nvidia drivers inf? I assume it still reports back a quadro. Maybe not.

> W98SE . P3 1.4S . 512MB . Q.FX3K . SB Live! . 64GB SSD
>WXP/W8.1 . AMD 960T . 8GB . GTX285 . SB X-Fi . 128GB SSD
> Win XI . i7 12700k . 32GB . GTX1070TI . 512GB NVME

Reply 6 of 147, by slivercr

User metadata
Rank Member
Rank
Member
RogueTrip2012 wrote:

I may take you up on this. Need to backup up my quadro and maybe finding a fx5900 bios.

What happens if we just swap the deviceID in the nvidia drivers inf? I assume it still reports back a quadro. Maybe not.

Swapping the DeviceID in the inf works, but its just like using Rivatuner—not really an "upgrade", you're just changing different things. You would have to change it for every driver version you use (if you intend to try multiple ones).

Just say the word, I'll cook up easy to use instructions, or you can send me your board's BIOS and I'll send you back a slightly modded one. You would need to run 2 commands with nvflash and you'd be done.

Outrigger: an ongoing adventure with the OR840
QuForce FX 5800: turn your Quadro into a GeForce

Reply 7 of 147, by RogueTrip2012

User metadata
Rank Oldbie
Rank
Oldbie

Thanks. I only got win98se installed and Saving the rom with GPU-z is no go in 98SE

I did go to dos and backed up the rom with nvflash 5.1117.01. The size is only 51kb reported by windows Does that sound right?

EDIT: Do you think this will mess with the DVI outputs on the card. MY quadro has 2x DVI's where as a FX5900U I believe has 1xDVI and 1xVGA?

I use my quadro fx3k with DVI to HDMI through a HDMI KVM I just got off ebay.

Attachments

  • Filename
    Qfx3k orig.txt
    File size
    51 KiB
    Downloads
    132 downloads
    File comment
    Rename .txt to .rom
    File license
    Fair use/fair dealing exception

> W98SE . P3 1.4S . 512MB . Q.FX3K . SB Live! . 64GB SSD
>WXP/W8.1 . AMD 960T . 8GB . GTX285 . SB X-Fi . 128GB SSD
> Win XI . i7 12700k . 32GB . GTX1070TI . 512GB NVME

Reply 8 of 147, by slivercr

User metadata
Rank Member
Rank
Member
RogueTrip2012 wrote:
Thanks. I only got win98se installed and Saving the rom with GPU-z is no go in 98SE […]
Show full quote

Thanks. I only got win98se installed and Saving the rom with GPU-z is no go in 98SE

I did go to dos and backed up the rom with nvflash 5.1117.01. The size is only 51kb reported by windows Does that sound right?

EDIT: Do you think this will mess with the DVI outputs on the card. MY quadro has 2x DVI's where as a FX5900U I believe has 1xDVI and 1xVGA?

I use my quadro fx3k with DVI to HDMI through a HDMI KVM I just got off ebay.

Can't sleep so I quickly did this.

Concerning the size of your BIOS: before doing anything run the command

nvflash --verify original.rom

, where original.rom is whatever your rom is called, and check that the one you uploaded matches the one in the card. If it doesn't, try to back it up again, zip it, and upload it.

The DVI outputs will remain functional. Nothing will change in the way your card behaves—you are not flashing a completely new BIOS on top, you are just tweaking the one already in your card 😀

I have attached a slightly modified BIOS from the one you uploaded, the only change I made was changing the DeviceID of the card from Quadro FX 3000 to Geforce 5900 Ultra (done with NiBiTor. You can do this change at home with your original file if you prefer, and use that file instead of the one I send.) The procedure will be: flash this tweaked BIOS to your card, it will have the same strap values as your original BIOS; and then flash the new straps. After those consecutive flashes, with NO reboots in between, your card will be identified as a Geforce FX 5900 Ultra.

Note that clocks, voltages, etc will remain identical to the Quadro ones. Once you have a strapped BIOS—the only change we are making here—you can easily make a backup of it and change any other thing you want with NiBiTor, or just overclock with coolbits. The "calculation" of the new strap is in this code snippet;

Quadro FX 3000     : 0338 = 033 1000
GeForce 5900 Ultra : 0330 = 033 0000
DeviceID bits : xxx 3210
=> Only change is in DeviceID[3]
---

Strap0-AND : 7F FF FF FF
Strap0-OR : 00 00 00 00
Strap1-AND : 00 00 00 00
Strap1-OR : 80 00 00 10
=> Can't turn bit off with Strap0-OR, Strap0-AND is the only one that will change
---

DeviceID bits : xxxx xxxx xx32 xxxx xx10 xxxx xxxx xxxx
Old Strap0-AND (HEX) : 7F FF FF FF
Old Strap0-AND (BIN) : 0111 1111 1111 1111 1111 1111 1111 1111
New Strap0-AND (BIN) : 0111 1111 1101 1111 1111 1111 1111 1111
New Strap0-AND (HEX) : 7F DF FF FF
=>Straps to flash 0x7FDFFFFF 0x00000000 0x00000000 0x80000010

So, download the BIOS I attach here and get ready to flash: have a backup plan! PCI video card, rescue floppy, something. The commands I give will not permanently damage the card, but may render it unusable if I messed something up or if something happens during flashing. You will need to reflash your original BIOS if something happens. That said, the commands you must run are

nvflash -j -5 nv30_qf5900.rom
nvflash --straps 0x7FDFFFFF 0x00000000 0x00000000 0x00000010

Let me know how it goes.

Attachments

  • Filename
    nv30_qf5900u.7z
    File size
    29.87 KiB
    Downloads
    158 downloads
    File license
    Fair use/fair dealing exception

Outrigger: an ongoing adventure with the OR840
QuForce FX 5800: turn your Quadro into a GeForce

Reply 9 of 147, by RogueTrip2012

User metadata
Rank Oldbie
Rank
Oldbie

Your awesome!

I uninstalled nvstrap and drivers before flashing.

Got the file and flashed it with your commands and all was successfully flashed. Rebooted and it was picked up as a FX5900Ultra.

Still can't say I understand the magic once you get to the Straps.

Last edited by RogueTrip2012 on 2018-03-17, 04:51. Edited 2 times in total.

> W98SE . P3 1.4S . 512MB . Q.FX3K . SB Live! . 64GB SSD
>WXP/W8.1 . AMD 960T . 8GB . GTX285 . SB X-Fi . 128GB SSD
> Win XI . i7 12700k . 32GB . GTX1070TI . 512GB NVME

Reply 10 of 147, by slivercr

User metadata
Rank Member
Rank
Member
RogueTrip2012 wrote:
Your awesome! […]
Show full quote

Your awesome!

I uninstalled nvstrap and drivers before flashing.

Got the file and flashed it with your commands and all was successfully flashed. Rebooted and it was picked up as a FX5900Ultra.

Still can't say I understand the magic once you get to the Straps.

Good to hear!

Important: make a backup of the flashed BIOS, it is your "strapped" BIOS. You can mod with NiBiTor to set higher clockspeeds and voltages, if you wish. Even a new boot-up message—its no longer a Quadro 😉

Outrigger: an ongoing adventure with the OR840
QuForce FX 5800: turn your Quadro into a GeForce

Reply 11 of 147, by RogueTrip2012

User metadata
Rank Oldbie
Rank
Oldbie

Good idea. I backed up the new rom already. Will note it in folder as strapped.

Question: trying to understand a lil more. If I wanted to flash back the qfx3000 original rom It looks like the strap line would be?
nvflash --straps 0x7FFFFFFF 0x00000000 0x00000000 0x00000010

Thanks for all the help and taking the time!

> W98SE . P3 1.4S . 512MB . Q.FX3K . SB Live! . 64GB SSD
>WXP/W8.1 . AMD 960T . 8GB . GTX285 . SB X-Fi . 128GB SSD
> Win XI . i7 12700k . 32GB . GTX1070TI . 512GB NVME

Reply 12 of 147, by slivercr

User metadata
Rank Member
Rank
Member

The straps are embedded in the BIOS. You can just flash back your original Quadro BIOS with
nvflash -j -5 original.rom
and it will work immediately, without need to adjust the straps. Same for the strapped BIOS, if you are returning from Quadro to strapped you just
nvflash -j -5 strapped.rom
and it will also work immediately, since the straps are already adjusted.

So the problem we solved is: if you change the DeviceID in the BIOS, with NiBiTor for example, it doesn't automatically change the straps. So if you flash a new BIOS that says Geforce FX 5900 Ultra, but the resistors in your hardware say Quadro FX 3000, you're gonna have a bad time. Adjusting the straps means we read the values given by the resistors—the hardware strap—, disregard them, and set them to what we need with the BIOS straps 😀

---
EDIT FOR CLARITY: There are 3 levels of straps: Primary (Hardware level, resistors on the PCB), Select (Strap0-AND and Strap1-AND), and Secondary (Strap0-OR and Strap1-OR). To change the ID in the card you have to change 2 things: the DeviceID in the BIOS, and the Straps related to the DeviceID. The straps can be changed either in hardware (moving resistors around), or in software (adjusting the BIOS like we did). If you flash a BIOS with a DeviceID different to the one indicated by the Straps, the card will not work properly (usually no video upon reboot).

So, the 2 step process I had you go through was:
-flash a BIOS with a different DeviceID, this change will not change the Strap values in any way. If you stop here, you will get no video upon reboot.
-flash new strap values for the new DeviceID into the BIOS, this is equivalent to moving the resistors on the PCB. The strap values are embedded into this BIOS and will not need to be adjusted again, they are just meant to bypass the hardware straps

Now you have your original, unmodified Quadro BIOS, and a strapped Geforce BIOS. You can flash either at will and they will work immediately with your card, without need to adjust any straps ever again.

Last edited by slivercr on 2018-03-17, 11:47. Edited 1 time in total.

Outrigger: an ongoing adventure with the OR840
QuForce FX 5800: turn your Quadro into a GeForce

Reply 13 of 147, by RogueTrip2012

User metadata
Rank Oldbie
Rank
Oldbie

Ok, This is all good to know.

Did you or do you know if there are resistors you can mod on these Quadro FX cards to mod into Geforce?

And get some sleep! 🤣

> W98SE . P3 1.4S . 512MB . Q.FX3K . SB Live! . 64GB SSD
>WXP/W8.1 . AMD 960T . 8GB . GTX285 . SB X-Fi . 128GB SSD
> Win XI . i7 12700k . 32GB . GTX1070TI . 512GB NVME

Reply 14 of 147, by meljor

User metadata
Rank Oldbie
Rank
Oldbie

Don't forget to cool the ram. I have the normal fx5800 (400/400 clocks) and that one even has big heatsinks on the ram and a dual slot cooler. I also have the fx1000 and when i clocked it at the same 400/400 as the fx5800 it was identical in 3dmark scores.

Also have the other cards in this series and the fx3000 is also exactly the same speed as the fx5900 when i tested it (at least within the margin of error).

asus tx97-e, 233mmx, voodoo1, s3 virge ,sb16
asus p5a, k6-3+ @ 550mhz, voodoo2 12mb sli, gf2 gts, awe32
asus p3b-f, p3-700, voodoo3 3500TV agp, awe64
asus tusl2-c, p3-S 1,4ghz, voodoo5 5500, live!
asus a7n8x DL, barton cpu, 6800ultra, Voodoo3 pci, audigy1

Reply 15 of 147, by slivercr

User metadata
Rank Member
Rank
Member
RogueTrip2012 wrote:

Ok, This is all good to know.
Did you or do you know if there are resistors you can mod on these Quadro FX cards to mod into Geforce?
And get some sleep! 🤣

There are for sure resistors on the card that set the identity, and they could be modded to change the DeviceID: I just don't know where they are and didn't look for them 😀

meljor wrote:

Don't forget to cool the ram. I have the normal fx5800 (400/400 clocks) and that one even has big heatsinks on the ram and a dual slot cooler. I also have the fx1000 and when i clocked it at the same 400/400 as the fx5800 it was identical in 3dmark scores.

Also have the other cards in this series and the fx3000 is also exactly the same speed as the fx5900 when i tested it (at least within the margin of error).

You are absolutely right about the RAM cooling: its actually the one thing I have to figure out how to do better. Right now I have some mismatched aluminum blocks fixed with thermal tape—the reason I don't want to showcase the card just yet 😅 I would like something beefier because they get hot! I'm looking around for heatsinks that I can actually mount using the mounting holes already in the card, but I can't seem to find any.

At the same time, I would also like to keep it in my dual Tualatin system, but the spacing between the RDRAM and the AGP slot is very tight, so big RAM heatsinks would make the card not fit. Also, hot RDRAM next to hot video card doesn't sound too wise.

Decisions, decisions.

Outrigger: an ongoing adventure with the OR840
QuForce FX 5800: turn your Quadro into a GeForce

Reply 17 of 147, by RogueTrip2012

User metadata
Rank Oldbie
Rank
Oldbie
You are absolutely right about the RAM cooling: its actually the one thing I have to figure out how to do better. Right now I ha […]
Show full quote
meljor wrote:

Don't forget to cool the ram. I have the normal fx5800 (400/400 clocks) and that one even has big heatsinks on the ram and a dual slot cooler. I also have the fx1000 and when i clocked it at the same 400/400 as the fx5800 it was identical in 3dmark scores.

Also have the other cards in this series and the fx3000 is also exactly the same speed as the fx5900 when i tested it (at least within the margin of error).

You are absolutely right about the RAM cooling: its actually the one thing I have to figure out how to do better. Right now I have some mismatched aluminum blocks fixed with thermal tape—the reason I don't want to showcase the card just yet 😅 I would like something beefier because they get hot! I'm looking around for heatsinks that I can actually mount using the mounting holes already in the card, but I can't seem to find any.

At the same time, I would also like to keep it in my dual Tualatin system, but the spacing between the RDRAM and the AGP slot is very tight, so big RAM heatsinks would make the card not fit. Also, hot RDRAM next to hot video card doesn't sound too wise.

Decisions, decisions.

I'd say toss a 120mm fan in the area to cool the ram and video card. Cheap and easy since you already have heatsinks on the ram

Dunno if applies to WinXP but in Win98SE I've found a few things using certain drivers versions

With the acclaimed 45.23's you might see Ram is reported in DirectX as 128MB for the video card in 3Dmark, Everest, and DirectX control panel (someone reported for them 256MB started getting reported correctly around driver 52.70). Also my FX3000 idles around 33c and hardly goes up from there. Lastly Rivatuner 2.24 Enables 2xAA in the drivers even though its application controlled in the NV control panel.

Using the 56.64's I do see ram reported as 256MB on my FX card. Temps go up to about 44c idle though and saw about 48c later on.

Using 3Dmark2000v11 default settings I do see a jump in performance.
45.23 score: 9918
56.64 score: 10284

I did find some more drivers availabe at: http://www.guru3d.com/files-tags/detonator.html to test. Looking at testing the 45.32's soon.

This post was more about how using the 45 series driver runs cooler. There are other post about same issue

> W98SE . P3 1.4S . 512MB . Q.FX3K . SB Live! . 64GB SSD
>WXP/W8.1 . AMD 960T . 8GB . GTX285 . SB X-Fi . 128GB SSD
> Win XI . i7 12700k . 32GB . GTX1070TI . 512GB NVME

Reply 18 of 147, by slivercr

User metadata
Rank Member
Rank
Member

I rewrote a bit of the first post, the proceedings mostly, to make the process a bit clearer.

Putas wrote:

This is great effort slivercr. I would not even hope to find same memory on FX 1000 as on 5800 Ultra.

Cómo putas te dejaron usar ese nombre? jajaja (spanish is my native language)
Yeah, I got the card just because it was cheap and it was based on NV30, which I had never used. I was very happy when I saw the memory chips!

RogueTrip2012 wrote:

I'd say toss a 120mm fan in the area to cool the ram and video card. Cheap and easy since you already have heatsinks on the ram

The thing is, the RAM cooling I have now requires me to replace 2 RDRAM sticks with CRIMMs, otherwise it will not fit. This reduces my RAM from 2GB to 1GB, which would be ok for a 98se only system, but I run Linux and XP, which can for sure use the extra memory.

Outrigger: an ongoing adventure with the OR840
QuForce FX 5800: turn your Quadro into a GeForce

Reply 19 of 147, by havli

User metadata
Rank Oldbie
Rank
Oldbie

Great work modding the Quadro! 😀

Regarding the memory cooling - I'm lucky owner of the "real" 5800 Ultra 🤣 and the GDDR2 are running very hot on my card, especially modules on the back side. The rear heatsink is too hot to touch, which means 60+ °C. Maybe Quadro is running lower voltage or using slightly different kind of DDR2... but still I recommend to keep an eye on the temperature.

HW museum.cz - my collection of PC hardware