[APP] Msm7kCpuSpeed - Overclock Raphael/Diamond/Topaz/Rhodium/Blackstone/Whitestone

GeScha

Senior Member
Jul 25, 2009
953
336
83
Graz
Hi GeScha,

I should have clarified a bit. The Start, Boost, Safe values I felt were slowing down BOOT because as you said they are only read/wrote once. So eliminating this should make boot faster and be less confusing for users when trying to modify the speeds in the script.

The OverClock Status - was being read and written in the loop though - which could/is slowing down the cycle a hair. I know it isnt much but the more we can improve it the better right?
Hi, sure. my understanding is that specifically the status would be difficult to be set in memory as i do not expect other global veriables that could work if multiple scripts are used (e.g. I'm still using the safety script to go to safe speed if pressing power button)

Regarding the easier editing, if simply removing the check at first start, that causes skipping of the initial writing of the reg-values for boot, boost, safe speed entry would do exactly this. At startup of the script, the values set in the script are the ones written to the registry. Currently they are only written if no regkeys are there, what causes this confusion.
 

xicloe

Senior Member
Jul 4, 2009
116
0
0
Hi GeScha,

I should have clarified a bit. The Start, Boost, Safe values I felt were slowing down BOOT because as you said they are only read/wrote once. So eliminating this should make boot faster and be less confusing for users when trying to modify the speeds in the script.

The OverClock Status - was being read and written in the loop though - which could/is slowing down the cycle a hair. I know it isnt much but the more we can improve it the better right?
Did you mean we are change the trigger isn't it ? so our phone doesn't need to loop checking.
The matter is how we can create 3 trigger :
1. Display on/off
2. In call or nor
3. unlock or locked

so they are can execute our function in our script or other prgoram maybe, or just ask NetRipper to put this in his code. :)
 
Last edited:

cmd512

Senior Member
Aug 25, 2009
3,348
841
0
Shanghai
Hi, sure. my understanding is that specifically the status would be difficult to be set in memory as i do not expect other global veriables that could work if multiple scripts are used (e.g. I'm still using the safety script to go to safe speed if pressing power button)

Regarding the easier editing, if simply removing the check at first start, that causes skipping of the initial writing of the reg-values for boot, boost, safe speed entry would do exactly this. At startup of the script, the values set in the script are the ones written to the registry. Currently they are only written if no regkeys are there, what causes this confusion.
All registry read/writes can be avoided with the exception of OverClock as that is an OC state check. For my key depressions, I simply put in "31" value instead of reading the safe_speed every depression.
 

bteljuice

Senior Member
Mar 16, 2006
1,397
44
0
Hey guys, been using JPC's script now for 2days with no SOD at 39. Now I have been reading the thread to do some catching up and see the at post 882, there is this OC_auto2 script.

Now my JPC works flawlessly, and I follow the saying "if ain't broken, don't fix it".

So I would like to know what is the difference between JPC's script and nayr's other then that auto2 looks for you DispOn instead of you editing it.

Thank you. Bteljuice
 
Last edited:

nayr1482

Senior Member
Dec 2, 2009
143
1
0
Hi, sure. my understanding is that specifically the status would be difficult to be set in memory as i do not expect other global veriables that could work if multiple scripts are used (e.g. I'm still using the safety script to go to safe speed if pressing power button)

Regarding the easier editing, if simply removing the check at first start, that causes skipping of the initial writing of the reg-values for boot, boost, safe speed entry would do exactly this. At startup of the script, the values set in the script are the ones written to the registry. Currently they are only written if no regkeys are there, what causes this confusion.
My point is - none of the registry keys are needed. Period.

Except for those of you using the backup of binding it to your power button =)

And the later scripts I saw were writing the values to the Reg EVERY boot regardless if there was something already in the Reg or not (Start <> 0 Then write to Reg, Start >= 0 Then write to Reg). The only way I see it NOT writing to Reg is if you had a non numeric and/or a negative value in the Reg =)


Btw GeScha - I have been to Graz many times, beautiful city!
 
Last edited:

nayr1482

Senior Member
Dec 2, 2009
143
1
0
All registry read/writes can be avoided with the exception of OverClock as that is an OC state check. For my key depressions, I simply put in "31" value instead of reading the safe_speed every depression.
OverClock can also be avoided (unless you are using it for something else). It was a variable created in the script, written to the registry, read from the registry, etc...
It has nothing to do with the Program itself (as far as I can tell). I deleted all 4 keys from my reg, played with teh program, changed speeds, etc... rebooted, did it again. Checked reg and no keys. I un-cabbed the OC program and checked the install files - there are no registry keys created during the install of the OC program.

So the OC state can be stored as a local or a global variable in the script.
But - if you are using the OC state in the registry for OTHER things then yes of course you need it =)
 

RoboWang

Senior Member
Oct 11, 2008
174
0
0
OK. Perhaps there are no issues in setting the start speed lower. I wasn't sure. The person wasn't getting the script working for whatever reason. Seeing as Robowang said that he did not know what would happen, I figured it would be best to follow suit and have it higher.
I still run mine equal when I get close to max.
But, there's a reason jpc wrote the original script to always have a startspeed of + 1 over boostspeed, I have never worried about it and asked.
I figure If my system will lock up with just a +1 startspeed for less than a second (60ms I think), it's not going to be stable at boost speed, -1 under startspeed, either.

Thing is, altho I am stable at 748, I am not interested in going further.
In fact, I may drop it to 729 because, altho a mild overclock will reduce the cpu life a small amount, I need this phone for another 16 months.
There's no way to estimate how long an extreme OC will last. Next week, 3-4 years. Depends on the cpu.

At 729, my Sense 2.5 and Cookie 1.85 runs smooth. Even the weather animation is smoother. And video apps are VERY much enhanced.
 

cmd512

Senior Member
Aug 25, 2009
3,348
841
0
Shanghai
OverClock can also be avoided (unless you are using it for something else). It was a variable created in the script, written to the registry, read from the registry, etc...
It has nothing to do with the Program itself (as far as I can tell). I deleted all 4 keys from my reg, played with teh program, changed speeds, etc... rebooted, did it again. Checked reg and no keys. I un-cabbed the OC program and checked the install files - there are no registry keys created during the install of the OC program.

So the OC state can be stored as a local or a global variable in the script.
But - if you are using the OC state in the registry for OTHER things then yes of course you need it =)
That's my point, "OverClocked" in the registry cannot be avoided if you're binding clock up/down to the power button, especially since cross script global variables aren't supported.
 

nayr1482

Senior Member
Dec 2, 2009
143
1
0
I still run mine equal when I get close to max.
But, there's a reason jpc wrote the original script to always have a startspeed of + 1 over boostspeed, I have never worried about it and asked.
I figure If my system will lock up with just a +1 startspeed for less than a second (60ms I think), it's not going to be stable at boost speed, -1 under startspeed, either.

Thing is, altho I am stable at 748, I am not interested in going further.
In fact, I may drop it to 729 because, altho a mild overclock will reduce the cpu life a small amount, I need this phone for another 16 months.
There's no way to estimate how long an extreme OC will last. Next week, 3-4 years. Depends on the cpu.

At 729, my Sense 2.5 and Cookie 1.85 runs smooth. Even the weather animation is smoother. And video apps are VERY much enhanced.
From what I can tell, I think what JPC was trying to do was to get the phone into Windows a bit faster. The start_speed is loaded as soon as the script starts, then JPC had a 60sec (yes 60!) wait command. So the start_speed basically runs from the time windows starts to load until 60 seconds later - which is after sense, etc... is fully loaded.

What will it do if you change this to a lower value? Nothing - except maybe make your phone boot a tad slower.

It is possible some people that get SOD on boot it is because they a running a higher value than their normal OC value.
 

5318008

Senior Member
Aug 16, 2009
493
103
0
Portland, OR
More dead horse beatings.

don't know if this has been asked already, but if do apply at boot d it locks up, but you installed the program to your sd card, will taking the card out stop the program applying at boot? This would be a safe way to play with higher boot speeds if it is so.
I also posted this idea a number of pages back. It would certainly work as insurance, although I'm sure once you'd determined a safe run-speed it'd be more efficient to run from an internal installation.
wow.. look at my Diamond speed!
It's been brought up repeatedly (though not quite recently) that TCPMP's speed readings are inaccurate (though impressive-looking) for this processor, due to outdated methodology. I don't remember if it's from this thread or the original OC/Bounty thread predating this one, but I had a screen grab showing over 1400MHz while supposedly clocked to only 600-something. The most accurate CPU speed measurement tool for these phones, currently, is the OC program's speed display.



Looks nice though doesn't it?
 
Last edited:

RoboWang

Senior Member
Oct 11, 2008
174
0
0
And the later scripts I saw were writing the values to the Reg EVERY boot regardless if there was something already in the Reg or not
That is correct. That's what the script was wrote to do in these later updates.
The very fact that you could not change reg values after the first run was troubling.
Now the script (not the new nayr beta), overwrites the s reg settings everytime the script is run, not just once.
Simple to check.
Run the script once, then overwrite with a new script with settings changed, and reset.

So far, I am having FINE luck with the last script. It is locked and sleeping. I'll give it another hour and see if it wakes up and throttles back to boost.
A LOOONG sleep isn't possible today for mine, so that test will have to wait until morning.
However, I don't run any other scripts for the OC. And don't plan to do so..
 

RoboWang

Senior Member
Oct 11, 2008
174
0
0
From what I can tell, I think what JPC was trying to do was to get the phone into Windows a bit faster. The start_speed is loaded as soon as the script starts, then JPC had a 60sec (yes 60!) wait command. So the start_speed basically runs from the time windows starts to load until 60 seconds later - which is after sense, etc... is fully loaded.

What will it do if you change this to a lower value? Nothing - except maybe make your phone boot a tad slower.

It is possible some people that get SOD on boot it is because they a running a higher value than their normal OC value.
I did notice your script removes that 60000 before exit.
60 seconds IS a long time. I checked and Mortscript default wait time is 5000 (5 seconds) and to change that, you have write it in the script.
So that 60ms statement I made was erroneous. And in fact, I was parroting some other forum's (not xda) member.
My bad.
I like the speed in memory idea (works for me so far) but if you want to run other scripts from the calls in the registry, here is an idea.
In the Mortscript, the variables set ARE Global to that script, unless you write a statement that they are Local.
You can also manually set them to be Global, altho that is default in Mort.
Can Mort put a Global into memory from the script?
Ordinarily, I wouldn't do so as who knows what variables other apps/scripts will call, but I have a feeling the apps/scripts that call safe_speed, start_speed, etc are few and far between.
 
Last edited:

nayr1482

Senior Member
Dec 2, 2009
143
1
0
Hey guys, been using JPC's script now for 2days with no SOD at 39. Now I have been reading the thread to do some catching up and see the at post 882, there is this OC_auto2 script.

Now my JPC works flawlessly, and I follow the saying "if ain't broken, don't fix it".

So I would like to know what is the difference between JPC's script and nayr's other then that auto2 looks for you DispOn instead of you editing it.

Thank you. Bteljuice
i would say if everything is working the way you want - dont do anything =)
the newer scripts we are trying to make it so they work for 99% of phones, and at the same time trying to make the code a bit more efficient.
 

RoboWang

Senior Member
Oct 11, 2008
174
0
0
Can Mort put a Global into memory from the script?
Ordinarily, I wouldn't do so as who knows what variables other apps/scripts will call, but I have a feeling the apps/scripts that call safe_speed, start_speed, etc are few and far between.
I can find nothing in regard for assigning Global variables to memory from a script.
I am in process of discussing thsi on two other Mort forums. Hopefully will get at least, a definitive answer.
My hope that it can be done is in the Mort manual, section Section 8.13 for global info in call script function. IF this function can be used to cross script Globals, and it looks like it can, then the variables will have to go through the memory to do so.
Fingers crossed.
 

nayr1482

Senior Member
Dec 2, 2009
143
1
0
I can find nothing in regard for assigning Global variables to memory from a script.
I am in process of discussing thsi on two other Mort forums. Hopefully will get at least, a definitive answer.
My hope that it can be done is in the Mort manual, section Section 8.13 for global info in call script function. IF this function can be used to cross script Globals, and it looks like it can, then the variables will have to go through the memory to do so.
Fingers crossed.
I think a way it MAY be possible, is if you call one of the scripts from with the other script (and of course make it a global variable). The script called from within the other script might then be able to access globals from the calling script ???
 

GeScha

Senior Member
Jul 25, 2009
953
336
83
Graz
Hi RoboWang, Nayr,

You are completely right for the regkeys, not needefor this script basically.
The overclocked reg is only required if you reuse it elsewhere.
Setting the performancevalue just helps if the msm...auto...exe (dont recall the name now) is started somewhere without an parameter.


@xicloe
unfortunately if you want to "auto" switch between oc values the script needs to run in a loop. The only solution I had sometime running was that power button executes boost and throttle depending on if you switch on or off, but wasnt the best solution either.


Regarding the sleep timings:
What I introduced in the script I'm currently using is sleep cycles depending on the state it is in. So if its running and overclocked, I'm using 5sec sleep loops (not to miss a power off) and 10 secs while DispOff and on safe speed. Sometimes on wakeup it takes some time till it overclocks, but uses less CPU and battery while suspended, altought I'd really like to know if the script is still running while suspended or not...hmmmm.
 

skeppley

Senior Member
May 4, 2006
242
70
0
Lake Wynonah PA
5th day running 748 on mine and no problems running various script versions.

Tried out the OC_Auto 2 and it is working great with the newly found switch:
("HKLM","SOFTWARE\HTC\DirectShow","isPhoneActive"))

Seems it is working the best so far.

I have now throttled the boost down to 729 for longevity sake and unless some miraculous changes come about, I think I'm finished with the script changes.

Phone is fast, smooth and running cool. Five days, not one SOD so i am VERY happy.

Anyone that has contributed to this wants a beer or coffee on me, pm me your Paypal.
I am extremely happy with the outcome, and just feel i should be paying for such good work....there are tons of "pay for" programs out there that i wouldnt pay a dime for, and here is a worthwhile one thats pay free...go figure :)

EDIT:
I forgot to add, the dynamic over/under clocking would be cool to have, but in all reality, i just want full boost anytime i'm using the phone, so the way it is now is just fine with me :)
 
Last edited:

oruam57

Senior Member
Aug 27, 2005
306
4
0
For my usage I developed a small utility to manage the clock of my Topaz using Msm7kClockLib.dll that is part of Msm7kCpuSpeed application.

It simply overclocks the CPU when the screen is on, underclocks it when the screen is off and restores the CPU to the "safe" level (604 MHz) before the CPU enter the suspend state.

On my Topaz it is extremely stable (not a SOD in 4 days and counting). It may be working on the other HTC phones that use the same CPU (Rhodium, Raphael, Blackstone, Whitestone) but the test is up to you.

The attached zip contains the binary, the source code and some (terse ;) ) explanation inside ReadMe.txt: READ THEM ALL (particularly the part about REQUIRED registry values).

This utility is free in every sense and you can use and modify the source code. For example it could be a good idea to make it a service (unfortunately, I have not the time and the tools to make it myself).

Did I say you should READ the ReadMe.txt ? :rolleyes:
 

Attachments

Last edited:

RoboWang

Senior Member
Oct 11, 2008
174
0
0
I think a way it MAY be possible, is if you call one of the scripts from with the other script (and of course make it a global variable). The script called from within the other script might then be able to access globals from the calling script ???
THAT is what I am trying to see is possible.

Just because you define the variables as Global in the script, does not make them Global to all Apps and scripts run on the device.

BUT if you call a 2nd script for Global variables, does THAT put them into memory.

My point is, altho there is not a function for Mort to directly set Global into memory, but will calling them (they are not called as Global, but Global is called as variables, so the receiving script sets them as Global to the script as default UNLESS they are defined as Local in the receiving script).

When they are being passed through memory, they are variables, not Global variables, the receiving script defines them when the script uses the data.

Anyway, if all this is too hard (but damn interesting, to me anyway), the speed settings can still be written to the registry ONLY when the settings are changed in the script.

And if you are on your desired final OC speed that will be ONCE and the settings will never change again. The script should still poll the values for a change on startup, but if there's NO change when the script is run, there will no longer be any reg writing from the script.

This will write the speed data to the reg for those who want to use 3rd party apps/scripts.

But the variables can be put into memory, while polling the data.

You can still test for max OC thru the MSM7 app in this session without effecting the script.

The good thing in that scenario is that IF the device locks up from overclocking, the reset will return the device back to script settings. No harm, no foul.
 

saurabh88

Senior Member
Dec 5, 2008
1,572
17
0
kapadwanj
hey o got 3 times sodbwhen using the last script.....
anyone stable now?plz provide your script here.

Sent from my MSM using the XDA mobile application powered by Tapatalk
 
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone