The following gibberish will probably bore and/or confuse you. It's merely a place to put down my results and thoughts so I don't go nuts...
Preliminary thoughts: Currently I use Rivatuner to set voltages via the "18" register. I expect that using RBE to alter this "18" register will have the same effect. I also expect altering the other three registers (15,16,17) to have no effect. I only have concerns as to
what takes priority in setting the voltages in the BIOS, either the "18" register value or the dropboxes for the various Clock info #s, and what a combination of both results in.
Testing method: Boot into windows. Open up GPU-Z. Monitor VDDC reading while invoking PowerPlay state changing from 2D to 3D and vice versa (done by simple clicking on full folders then empty folders and vice versa, in Windows Explorer).
------
Results from Test group 1:
5 BIOSes - For all five BIOSes, Clock info #s 00-09 drop boxes are set to 1.263v.
Test1265.rom - (Test BIOS with altered registers) All four registers set to 1.2625v.
Result: Stable, Voltage stays at 1.2625v.
Test121.rom - (Test BIOS with altered 15 register only) 15 register set to 1.2v. 16,17,18 registers set to 1.2625v.
Result: Stable, Voltage stays at 1.2625v.
Test122.rom - (Test BIOS with altered 16 register only) 16 register set to 1.2v. 15,17,18 registers set to 1.2625v.
Result: Stable, Voltage stays at 1.2625v.
Test123.rom - (Test BIOS with altered 17 register only) 17 register set to 1.2v. 15,16,18 registers set to 1.2625v.
Result: Stable, Voltage stays at 1.2625v.
Test124.rom - (Test BIOS with altered 18 register only) 18 register set to 1.2v. 15,16,17 registers set to 1.2625v.
Result: Stable, Voltage stays at 1.2v.
Test group 1 thoughts: Results were as expected. Stability is fine throughout. Functionality of altering the 18 register is the same as setting Clock info #s 00-09 to 1.203v.
------(Further testing to find if separate 2D/3D voltages can be set via registers)
Results from Test group 2:
4 BIOSes - For all four BIOSes, Clock info #s 00-09 are set to 1.083v.
Test111.rom - (Test BIOS with altered 15 register only) 15 register set to 1.2625v. 16,17,18 registers set to 1.2v.
Result: Stable, Voltage stays at 1.2625v.
Test112.rom - (Test BIOS with altered 16 register only) 16 register set to 1.2625v. 15,17,18 registers set to 1.2v.
Result: Stable, Voltage stays at 1.2v.
Test113.rom - (Test BIOS with altered 17 register only) 17 register set to 1.2625v. 15,16,18 registers set to 1.2v.
Result: Stable, Voltage stays at 1.2v.
Test114.rom - (Test BIOS with altered 18 register only) 18 register set to 1.2625v. 15,16,17 registers set to 1.2v.
Result: Stable, Voltage stays at 1.2v.
Test group 2 thoughts: Results are quite odd here. Stability is fine throughout. Firstly, any changes to register values override any changes made to Clock info #s voltage dropboxes. Register values have priority, which I sort of figured would be the case.
Secondly, in contrast to test group 1, the 15 register's altered value was what the card would be locked in at. When using Rivatuner, I could only change voltages using the 18 register. I am currently rechecking this with Rivatuner.
------
Update: I have rechecked setting voltages via register values with Rivatuner. I also did a bit of brainstorming.
Re-reading the two guides on changing voltages with Rivatuner, I remembered that when using Rivatuner in any manner to adjust GPU/MEM clocks, PowerPlay is disabled, and the GPU/MEM clocks stay constant.
When using Rivatuner to adjust
only voltages via the register values, you also disable PowerPlay, but only it's automatic voltage changing. GPU/MEM clocks are still free to switch, based on the 2D/UVD/3D settings in BIOS.
I am hypothesizing that when adjusting voltages via the register values in the BIOS, you also disable PowerPlay's automatic voltage changing. This could be why I'm not seeing any variation in voltages when PowerPlay is active and the GPU/MEM clocks switch from 2D to 3D state and vice-versa. As a result of this I'm guessing that entering different register values for 2D (IDLE) and 3D (LOAD) isn't possible on an ATI card, because only one register value out of the four is used. From what I've seen of Nvidia cards,
it is possible to set register values for both 2D (IDLE) and 3D (LOAD), as Nvidia uses a different method of automatically switching GPU/MEM/SHADER clocks and voltages (IE....nothing like ATI's PowerPlay).
With the following test group of BIOSes I will try and figure which of the four register values is always read (and if it's always the same one) to set the voltage of the video card in 2D/3D, and if the above hypothesis is true or false.
------
Results from Test group 3:
3 BIOSes (may need more)
Test101.rom - (Test BIOS with all registers altered with non-standard voltages) 15 register set to 1.2125v, 16 register set to 1.1875v, 17 register set to 1.2375v, 18 register set to 1.225v. Clock info #s 00-09 are set to 1.263v.
Result: Stable, Voltage stays at 1.225v.
Test102.rom - (Test BIOS with all registers altered with non-standard voltages) 15 register set to 1.2125v, 16 register set to 1.1875v, 17 register set to 1.2375v, 18 register set to 1.225v. Clock info #s 00, 03-09 are set to 1.263v. Clock info #s 01, 02 are set to 1.083v.
Result: Stable, Voltage changes (finally!) from 1.2125v (2D IDLE) to 1.225v (3D LOAD) and vice-versa.
Test103.rom - (Test BIOS with all registers set to 1.2375v) Clock info #s 00, 03-09 are set to 1.263v. Clock info #s 01, 02 are set to 1.083v. Result: Currently testing... Cancelled
Test group 3 thoughts: Results are definetly encouraging! Stability is fine throughout. I've finally figured why I wasn't seeing any variation in voltages in Test groups 1 and 2.
I unknowingly disabled PowerPlay's automatic voltage changing by setting the Clock info #s 00-09 dropboxes to the same voltage. Changing the Clock info #s 01 + 02 dropboxes to a different voltage allows PowerPlay to function properly with regards to automatic voltage switching, and the register values are properly read and applied during 2D/3D state switching.
------
Summing it all up:
Well here is a simple baseline of what I have found is necessary to properly utilize the new Voltage Registers section of RBE.
1. You must be using an ATI video card utilizing a Volterra VT11xxx digital VRM controller.
2. Clock info #s 01 and 02 must both have the same voltage settings in the dropbox, and they must be different than what is set in Clock info #s 00, 03-09. As far as I can tell, it does not matter what either group of voltages are as they are overridden by the register values.
3. Register 15 should be set to your 2D IDLE voltage.
4. Register 18 should be set to your 3D LOAD voltage.
5. Currently I haven't found a use for register values 16 and 17. I haven't been able to set anything through them, with either Rivatuner or through the BIOS.
Things I'd recommend to be changed (if possible):
1. Adding dropboxes for each of the four registers, with preset proper values. You may enter weird numbers like 1.264623v but the actual voltage will default to 1.2625v. Each step in voltage is 0.0125v. For example, going higher than 1.2625v would be 1.275v, 1.2875v, 1.3v...
Other than that, I'd say it's a pretty neat feature for RBE.
It's fantastic for OC'ers that want more voltage than what's offered by default, and for power savers who are looking for lower 2D IDLE voltages to drop power consumption/temperatures even more than the lowest available in the BIOS. Add to this you don't need any extra software for it to work. It's all automatic. I'm surprised at how well it works. Great job Bagzz. Keep up the good work...
PS: I'm currently utilizing a BIOS with the settings shown below for a couple of days, to see how stability is and if there are any issues that may arise.
I suspect it'll work just fine though. 2D voltage is slightly lower than the lowest available of 1.083v (1.1v in GPU-Z), and 3D voltage is slightly higher than the default of 1.263v (1.2625v in GPU-Z).