VIA Chipset Idle Temperature Hack



I decided to write a guide on this subject, since I haven’t seen a decent one around for a while. The last good one I found was on, which is now They still have their article, if you wish to read it. I just felt I would allow people who have never had the opportunity to try this out. I got most of the information for this guide from that and other sites, so I can’t take credit for coming up with this. But I will try to lay it out and guide you through the process in a simple manner so that you, too, can take advantage of this great way to cool your CPU. Also, I understand that the KT266A chipset is a little old, but I know for a fact that a lot of you out there are still using them, since they are so reliable and cheap. I still use an Epox 8KHA+ for my main motherboard, so I actually use this on my system. This will most likely not damage your system in the least, but I do need to make it clear that you do this on your own. OCmodshop does not take responsibility for any damage, loss of property, fires, nuclear blasts, etcetera, which may come about from following this guide. That being said, just follow the guide and you should be fine. Please read through the whole guide before you begin. It may also be helpful for you to print out a hard copy of this file so you can have it handy. Also, this only works correctly on Windows 2000 and Windows XP (and, most likely, Windows 2003). For those of you running Windows 9x, there are plenty of programs out there that will allow you to do the same type of thing (Rain, CPUIdle, etc.).

The basic idea behind doing this is to make it so that when the CPU does not have any instructions to execute it should stop doing things completely, which in turn should cool it down. Ever wondered why the CPU is so hot even when it’s just sitting there? Well, all modern CPUs (including Intel) has the ability to use two chipset settings known as HALT Command Detect and Disc When STPGNT# Detect. In the KT266/KT266A motherboards these registers are disabled by default. So all we have to do is enable them so the CPU will relax when its not required to do anything.

Update: Since the original posting of this article, I have gotten many emails from users detailing their own experiences with this method of cooling. I have received confirmation that this does work on KT333 and KT400 boards. One user reported that instead of registers 92 and 95 he had to change D2 and D5 on his KT400 board. The numbers to change are still the same though. Also, some people have reported that they hear a slight buzz coming from their speakers due to this mod. I have experienced this as well, but for me its hardly noticeable. It also seems to only affect some boards, and mostly Creative sound cards. It’s your choice to go ahead with the mod, but most people haven’t had any complaints. I have also updated the guide to add the PCR files for KT333 and KT400 boards, although I haven’t had the chance to test them out and write up the exact details of using them. If you extract them to your WPCREDIT directory you should be able to look around and figure out how to use this guide with them, as many of you have done already.

Also, 1 reader informed me that the sound crackling is due to the PCI latency, which is increased due to the HALT command. This can also affect NICs as well. It also may result in degraded IDE performance. I personally have not seen any performance hits due to this, but it is possible. I wanted you to be able to make an informed decision about this, so I am just laying it all out for you to be aware of.

Now, to start you’re going to need to download some files. These applications were created by H. Oda, but he has since discontinued work on them. I have provided the files that I personally use, so they should work for you as well. Here they are:

wpcrs120.exe For use with KT266/A boards For use with KT333 boards For use with KT400 boards

If you check out this site you can find the pcr files for the newer Via boards. I doubt you would be able to modify the same registers for the newer boards, but I really don’t know where to find out more information about this.

These files are, respectively, WPCREDIT, which we will be using to tweak some register values; WPCRSET, which we will use so that the changes we make will take effect every time windows is booted up; and the files needed for this program to work with VIA motherboards. The exe files are self extracting archives, so put all the files into one directory before opening them. All right, on to the good stuff.

Put all of the files in a new directory. I used HaltCPU as my directory, as you can see in the screen shot:


I then executed the exe files and unzipped the to the working directory.


Ok, now to really get started. Run the file INSTDD.exe. This sets it up so that the settings will be turned on after reboot. You need to reboot after installing this. After rebooting, open up the directory again and fire up WPCREDIT.exe. This will bring up a screen that looks like the following:


The values that are highlighted in these pictures are the values that we will be modifying. First, lets take a look at register 92 (the highlighted one in the left picture). It should be currently set to 69. Now, going down to the bottom of the program we can see that it says Hex: 69. Click on the 6 and change its value to E. It should now read Hex: E9. Now, click on register 95, which is highlighted in the picture on the right. It should read 1C as is. Once again, we go to the bottom and change its value, this time to 1E. Oh, as a side note, when it asks “Does it set up a new register” just click Yes. The screen should now look like this:


Next we go on to WPCRSET.