OK guys. I got to thinking about this refresh rate problem occuring for some people. Since I only run nVidia cards in my systems I do not know if this solution will work for other video cards (though the premise is the same).
PROCEDURE:
----------------
1. Open up with windows registry using RegEdt32.exe. Note this is the NT version of RegEdit. Under Windows 2000 the keys we are editing are of type REG_MULTI_SZ - or strings terminated with NULLs (0) followed by a doube-NULL.
2. Open the key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Class
3. Find the key {4D36E968-E325-11CE-BFC1-08002BE10318}
I'm not sure if this will be the same on your system but you
are looking for a key that has a subkey named "Class" with
the value "Display"
UPDATE: I just checked all my computers. The GUID (the long
128-bit weird looking number) is the same on all
my machines.
4. Under this key you'll find more subkeys labelled like "0000",
"0001", "0002" Go through these keys and find your video
card. Note: Typically there is only one key and it is
named "0000".
5. Open that key and open the subkey named "Settings"
6. You'll see a bunch of values such as NV10_Modes,
NV10DDR_Modes etc. Each of these keys will have a slew of
values:
(example)
8 640 480 60 70 72 75 85 100 120 0
8 320 200 60 70 72 75 0
8 320 240 60 70 72 75 0
8 400 300 60 70 72 75 0
8 480 360 60 70 72 75 0
8 512 384 60 70 72 75 0
8 640 400 60 70 72 75 85 100 120 0
8 800 600 60 70 72 75 85 100 120 0
8 1024 768 60 70 72 75 85 100 120 0
8 1152 864 60 70 72 75 85 100 120 0
8 1280 960 60 70 72 75 85 100 120 0
8 1280 1024 60 70 72 75 85 100 120 0
8 1600 1024 60 70 72 75 85 100 0
8 1600 1200 60 70 72 75 85 100 0
8 1920 1080 60 70 72 75 85 100 0
8 1920 1200 60 70 72 75 85 0
8 1920 1440 60 70 72 75 0
8 2048 1536 60 0
16 640 480 60 70 72 75 85 100 120 0
16 320 200 60 70 72 75 0
16 320 240 60 70 72 75 0
16 400 300 60 70 72 75 0
16 480 360 60 70 72 75 0
16 512 384 60 70 72 75 0
16 640 400 60 70 72 75 85 100 120 0
16 800 600 60 70 72 75 85 100 120 0
16 1024 768 60 70 72 75 85 100 120 0
16 1152 864 60 70 72 75 85 100 120 0
16 1280 960 60 70 72 75 85 100 120 0
16 1280 1024 60 70 72 75 85 100 120 0
16 1600 1024 60 70 72 75 85 100 0
16 1600 1200 60 70 72 75 85 100 0
16 1920 1080 60 70 72 75 85 100 0
16 1920 1200 60 70 72 75 85 0
16 1920 1440 60 70 72 75 0
16 2048 1536 60 0
32 640 480 60 70 72 75 85 100 120 0
32 320 200 60 70 72 75 0
32 320 240 60 70 72 75 0
32 400 300 60 70 72 75 0
32 480 360 60 70 72 75 0
32 512 384 60 70 72 75 0
32 640 400 60 70 72 75 85 100 120 0
32 800 600 60 70 72 75 85 100 120 0
32 1024 768 60 70 72 75 85 100 120 0
32 1152 864 60 70 72 75 85 100 120 0
32 1280 960 60 70 72 75 85 100 120 0
32 1280 1024 60 70 72 75 85 100 120 0
32 1600 1024 60 70 72 75 85 0
32 1600 1200 60 70 72 75 85 0
32 1920 1080 60 70 72 75 0
32 1920 1200 60 70 0
32 1920 1440 60 0
The idea here is to remove the values before the 0 that you do not want. Most people have monitors that can display 1024x768 @ 85Hz. So remove all values after 85 BUT DON"T REMOVE THE TRAILING 0.
Example:
Before: 32 1280 1024 60 70 72 75 85 100 120 0
After: 32 1280 1024 60 70 72 75 85 0
This will tell Windows that the minimum refresh rate for 1280x1024 @ 32 bit is 60 Hz and the maximum is 85 Hz.
You'll probably need to change the values for 1024x768 16/32-bit and 1280x1024 16/32 bit.
So for example:
BEFORE:
...
16 1024 768 60 70 72 75 85 100 120 0
16 1280 1024 60 70 72 75 85 100 120 0
...
32 1024 768 60 70 72 75 85 100 120 0
32 1280 1024 60 70 72 75 85 100 120 0
...
AFTER:
...
16 1024 768 60 70 72 75 85 0
16 1280 1024 60 70 72 75 85 0
...
32 1024 768 60 70 72 75 85 0
32 1280 1024 60 70 72 75 85 0
...
Now, becareful not to remove any of the other lines. Only change the lines, don't remove them (I'm not sure what affect this will have.)
So if, for example, you have a nVidia Geforce 2 GTS (this is an NV15) you'd modify the 1024x768 16/32 settings for the registry key labelled NV15_Modes.
After you make this change, you may also need to make the exact same changes to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\nv
or
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\nv4
(It depends on the version of driver you are using...)
REBOOT your machine after making these changes
-------------------------
This solution fixed the refresh rate problem because Civ 3 wasn't able to select the highest refresh rate possible (which defaults to 120Hz on nVidia cards.)
Please be really careful when modifying the registry...If you completely screw your nVidia settings just reload the driver and that will undo all your changes.
BTW For those of you experiencing 60Hz refresh rates under Windows 2000 go here: http://www.planetquake.com/ztn and pickup the nVidia Refresh Rate fix program. It fixes the problem with the refresh rate defaulting to 60Hz. You could make these changes manually (using a similiar technique to my above instructions) but why bother
Anyhow...Good luck,
I'll monitor this thread to help any of those who need help with my instructions.
Dire Wolf
PROCEDURE:
----------------
1. Open up with windows registry using RegEdt32.exe. Note this is the NT version of RegEdit. Under Windows 2000 the keys we are editing are of type REG_MULTI_SZ - or strings terminated with NULLs (0) followed by a doube-NULL.
2. Open the key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Class
3. Find the key {4D36E968-E325-11CE-BFC1-08002BE10318}
I'm not sure if this will be the same on your system but you
are looking for a key that has a subkey named "Class" with
the value "Display"
UPDATE: I just checked all my computers. The GUID (the long
128-bit weird looking number) is the same on all
my machines.
4. Under this key you'll find more subkeys labelled like "0000",
"0001", "0002" Go through these keys and find your video
card. Note: Typically there is only one key and it is
named "0000".
5. Open that key and open the subkey named "Settings"
6. You'll see a bunch of values such as NV10_Modes,
NV10DDR_Modes etc. Each of these keys will have a slew of
values:
(example)
8 640 480 60 70 72 75 85 100 120 0
8 320 200 60 70 72 75 0
8 320 240 60 70 72 75 0
8 400 300 60 70 72 75 0
8 480 360 60 70 72 75 0
8 512 384 60 70 72 75 0
8 640 400 60 70 72 75 85 100 120 0
8 800 600 60 70 72 75 85 100 120 0
8 1024 768 60 70 72 75 85 100 120 0
8 1152 864 60 70 72 75 85 100 120 0
8 1280 960 60 70 72 75 85 100 120 0
8 1280 1024 60 70 72 75 85 100 120 0
8 1600 1024 60 70 72 75 85 100 0
8 1600 1200 60 70 72 75 85 100 0
8 1920 1080 60 70 72 75 85 100 0
8 1920 1200 60 70 72 75 85 0
8 1920 1440 60 70 72 75 0
8 2048 1536 60 0
16 640 480 60 70 72 75 85 100 120 0
16 320 200 60 70 72 75 0
16 320 240 60 70 72 75 0
16 400 300 60 70 72 75 0
16 480 360 60 70 72 75 0
16 512 384 60 70 72 75 0
16 640 400 60 70 72 75 85 100 120 0
16 800 600 60 70 72 75 85 100 120 0
16 1024 768 60 70 72 75 85 100 120 0
16 1152 864 60 70 72 75 85 100 120 0
16 1280 960 60 70 72 75 85 100 120 0
16 1280 1024 60 70 72 75 85 100 120 0
16 1600 1024 60 70 72 75 85 100 0
16 1600 1200 60 70 72 75 85 100 0
16 1920 1080 60 70 72 75 85 100 0
16 1920 1200 60 70 72 75 85 0
16 1920 1440 60 70 72 75 0
16 2048 1536 60 0
32 640 480 60 70 72 75 85 100 120 0
32 320 200 60 70 72 75 0
32 320 240 60 70 72 75 0
32 400 300 60 70 72 75 0
32 480 360 60 70 72 75 0
32 512 384 60 70 72 75 0
32 640 400 60 70 72 75 85 100 120 0
32 800 600 60 70 72 75 85 100 120 0
32 1024 768 60 70 72 75 85 100 120 0
32 1152 864 60 70 72 75 85 100 120 0
32 1280 960 60 70 72 75 85 100 120 0
32 1280 1024 60 70 72 75 85 100 120 0
32 1600 1024 60 70 72 75 85 0
32 1600 1200 60 70 72 75 85 0
32 1920 1080 60 70 72 75 0
32 1920 1200 60 70 0
32 1920 1440 60 0
The idea here is to remove the values before the 0 that you do not want. Most people have monitors that can display 1024x768 @ 85Hz. So remove all values after 85 BUT DON"T REMOVE THE TRAILING 0.
Example:
Before: 32 1280 1024 60 70 72 75 85 100 120 0
After: 32 1280 1024 60 70 72 75 85 0
This will tell Windows that the minimum refresh rate for 1280x1024 @ 32 bit is 60 Hz and the maximum is 85 Hz.
You'll probably need to change the values for 1024x768 16/32-bit and 1280x1024 16/32 bit.
So for example:
BEFORE:
...
16 1024 768 60 70 72 75 85 100 120 0
16 1280 1024 60 70 72 75 85 100 120 0
...
32 1024 768 60 70 72 75 85 100 120 0
32 1280 1024 60 70 72 75 85 100 120 0
...
AFTER:
...
16 1024 768 60 70 72 75 85 0
16 1280 1024 60 70 72 75 85 0
...
32 1024 768 60 70 72 75 85 0
32 1280 1024 60 70 72 75 85 0
...
Now, becareful not to remove any of the other lines. Only change the lines, don't remove them (I'm not sure what affect this will have.)
So if, for example, you have a nVidia Geforce 2 GTS (this is an NV15) you'd modify the 1024x768 16/32 settings for the registry key labelled NV15_Modes.
After you make this change, you may also need to make the exact same changes to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\nv
or
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\nv4
(It depends on the version of driver you are using...)
REBOOT your machine after making these changes
-------------------------
This solution fixed the refresh rate problem because Civ 3 wasn't able to select the highest refresh rate possible (which defaults to 120Hz on nVidia cards.)
Please be really careful when modifying the registry...If you completely screw your nVidia settings just reload the driver and that will undo all your changes.
BTW For those of you experiencing 60Hz refresh rates under Windows 2000 go here: http://www.planetquake.com/ztn and pickup the nVidia Refresh Rate fix program. It fixes the problem with the refresh rate defaulting to 60Hz. You could make these changes manually (using a similiar technique to my above instructions) but why bother

Anyhow...Good luck,
I'll monitor this thread to help any of those who need help with my instructions.
Dire Wolf
Comment