View Full Version : Win reghack fix for 60 Hz refresh rate bug in XP/2k

9th November 2002, 15:10
on NT Compatible (http://www.ntcompatible.com/story.php?id=14749)

-only for single monitor rigs, no multi-monitor -
It's supposed to work by changing the minimum available refresh rate to the one you want instead of the default 60 Hz, thus fooling the games.
The same principal was used by NVRT (refresh tool for nVidia cards), only it was doing it at videocard drivers level instead of monitor driver.
Don't know if it works, haven't tested it yet, though based on my previous experience with NVRT you might not be able to output on TV since your minimum available refresh rate will probably be above 50Hz.

10th November 2002, 14:06
of course Powerdesk fixes it the *proper* way (contrary to what this utility does), and has been for ages (since their first, publicly available, win2k driver?).

On a different note:
What I would like to know is how to get the Win2k/XP startup screen (with the scrollbar) at 75 Hz vs. 60 Hz default... I've googled on it a lot, but never found the solution.

10th November 2002, 17:36
Umm... change the administrator's refresh rate. That usually fixes the startup screen. :)

- Gurm

11th November 2002, 01:57
:D Program the bios of the G400 so 75 Hz will be the default refresh rate for VGA and text mode :D http://grafi.ii.pw.edu.pl/gbm/matrox/bios.html
(You`d need to change the pixelclock, nr.51 & 52)

11th November 2002, 03:14
Gurm: that's to change the login screen refresh, right? I meant the screen before that one, when windows is booting up.

OmegaRed: interesting, must try that :)

11th November 2002, 06:17
dzeus: I don't think you CAN change that one. It's in, IIRC, Mode-X 320x400, which only runs at 60hz. I could be wrong, though.

- Gurm

11th November 2002, 10:31
Before windows loads up, the refresh rates are read directly from the card BIOS. The G400`s BIOS can be changed to alter the refresh rate to whichever setting you like... Just need BiosProg, you old BIOS pins file (dumped by BiosProg as a txt file), where you alter lines 51 & 52 to alter the pixelclock values. I have to find the doc where the formula for calculating the pixelclock / refreshrate is :)

ah found it :

H res. V res. V refresh [Hz] Pclk [MHz]
640 480 60 25.175 VGA graphics mode
720 400 70 28.322 VGA text mode

The table below summarizes timing capabilities of Matrox controllers in standard VGA modes. All frequencies are in kHz unless noted otherwise.
Clk1 (640 pixels) Clk2 (720 pixels)
Standard CLK freq. 25175 28322
Max CLK freq. 63500 63500
Std HSYNC freq. 31.5 31.5
Std VSYNC freq. 60 Hz 70 Hz
Max HSYNC freq. 90 70.6
Max VSYNC freq 152 Hz 156 Hz
Formula for CLK freq
based on HSYNC freq fc = fh * 800 fc = fh * 900
Formula forVSYNC freq fv = fh / 525 fv = fh / 450

Assume we have a monitor with min. HSYNC frequency of 48 kHz. To use it in standard VGA graphics modes, CLK1 field should be programmed to get pixel clock of 38400 kHz. Rounded to the nearest multiple of 250 kHz this gives 38500, and dividing this number by 250 we get PINS field value of 154. This in turn yields VSYNC frequency of 91 Hz (which must be checked against monitor's limit) . For text modes, the values are: pixel clock - 43200 kHz, rounded to 43250, CLK2 field - 173, HSYNC freq - 96 Hz.
Note that this must comply with monitor limits, otherwise the monitor may be damaged.
While using nonstandard VGA clock values, the picture on fixed frq./ high freq. monitor may be slightly distorted (geometry problems). Anyway it's better to get slightly rounded text screen on bootup than no screen at all until Windows is loaded...

11th November 2002, 10:32
It didnt turn out the way it was supposed to...
Anyways Frank, if you want, i can send you the HTML file...

This is more like for getting a fixed freq monitor to diplay *something* in DOS VGA & text mode, but it can be used to calculate the pclk for a desired refresh rate methinks.

11th November 2002, 10:52
The pixelclock for getting 75Hz in VGA mode (640) is 31.5 MHz, for textmode (720) the default refresh is 70 Hz.

11th November 2002, 14:05
ok, after OmegaRED's posts I got inspired enough to risk wrecking my BIOS to get 75 Hz with Windows 2000 startup screen.

The end result: beautifull 75 Hz !! GREAT! :D :D :D

ok, now the way I did it, which is something that is not as positive:

I dumped the PINS and changed offset 51 to 0x7E from its 0xFF default value. (0x7E = 126 decimal, 126 x 250 = 31500 Hz pixelclock, which results into 75 Hz Vrefresh in VGA mode).

Then I took a Win98 bootable diskette and copied the PROGBIOS, DOS4GW, G400 BIOS file and custom pins to it. I ran "progbios -i auto -s PINS.TXT" and got a load of weird errors (about 400 or something), and a "BIOS programming failed" error.

When I restarted there was no textmode/VGA any more on the card... :(

Everything I tried gave this option, even mentioning the exact BIOS file, not specifying custom pins, using a different diskette drive, using a different diskette, using a different PC to flash from... so I paniced a bit at that point. I placed a spare PCI vidcard alongside the G400, and booted up windows... at that point I discovered that only the VGA engine didn't gave any output any more on the G400, and that in windows I still got output. So I flashed the G400 BIOS from windows, and that succeeded (phew!!). Everything was back to normal, and I discovered that the custom pins file did get loaded correctly into the BIOS during the attempts from bootable DOS floppy, even though the BIOS programming itself failed and corrupted some stuff.

So... if anyone else feels like going through this to get 75 Hz, go right ahead ;)

Perhaps the PROGBIOS utility from Matrox doesn't like the Asus TUSL2 series of mainboards (the 2 PCs I tried flashing from were equipped with a TUSL2-C and a TUSL2-M)....

btw many thanks to Janus (OmegaRED) for his informative posts, and many thanks to GBM as well for helping me on this!

11th November 2002, 14:55
Whoops! Sorry to put you through that Frank ... i had no such probs. Anyhow, glad all is back to normal.

So ... you do have 75Hz now right? Hehe...

Oh btw ... there are 2 progs for flashing the BIOS: BiosProg and ProgBios... Unfortunately i cant remember which one i used :D It was so long ago... Ah, memories :D

edit: No problem Frank, anytime :)

11th November 2002, 15:03
hey can someone explaint that to me steb-by-step? i dont get it? :( is the boot disk necessary? i have no floppy drive :ermm:

11th November 2002, 15:17
ok, trying to put it step by step:

1. dump BIOS PINS (you can use either PROGBIOS or MXINFO in real-mode DOS, info on how to do this is available on GBM's site: http://grafi.ii.pw.edu.pl/gbm/matrox . So you do need a bootable Win9X diskette for this purpose).

2. modify correct offset for VGA1 and/or VGA2 pixel clocks to correct value. (information on correct value needed is posted by OmegaRED in this thread, information on offset needed can be found on GBM's site. (for my G400 it was 0x7E at offset 51 to get 75 Hz refresh in VGA, as explained earlier in this thread ).

3. Update BIOS with modified PINS file. This needs to be done in real mode DOS with PROGBIOS as found in the Matrox BIOS utlities pack (from their unified BIOS update zip). Again, this needs to be done from plain DOS, i.e. bootable Win9x diskette, with NO memory managers loaded (like EMM386 or Himem.sys). This is the part which went wrong on my pc, for unkown reason. The writing of the custom PINS info went ok, but the updating of the BIOS itself went wrong. Fortunately I could fix the BIOS from within
Windows (which still worked).

4. Enjoy 75 Hz refresh in DOS VGA mode (like the Windows startup screen).

I linked this thead as well from the FAQ files forum, as well as some additional info. Read that as well!

if there's a publically available way to dump PINS file from win32, and if you're skilled in making bootable CDs, then you don't need a bootable floppy. At this time however this is not possible (afaik).

12th November 2002, 11:17
hmm the problem is i cant dump the BIOS on a bootable CD. will borrow me a floppy drive for that. thanks for the explanation :)

I linked this thead as well from the FAQ files forum, as well as some additional info. Read that as well!
nope you didnt ;)