• Steam recently changed the default privacy settings for all users. This may impact tracking. Ensure your profile has the correct settings by following the guide on our forums.

[RELEASE] Hold+ v3.6 - Battery Saver Plugin

LocutusEstBorg

Active Member
Hold+ v3.6

Tested on 5.00M33-4

Download: http://ifile.it/5btzpfr/hold__v3.6.zip (Click on Request Ticket).

It does the following when the Hold switch is enabled:
* Switches off the LCD screen and backlight.
* Underclocks the CPU to 60MHz
* The original screen brightness and clock speed are restored when the Hold switch is released.
* Prevents the PSP from going into suspend mode if you accidently push the power switch too far when turning off Hold mode.
* Allows complete operation of the PSP controls with the display turned off.
* Turns off LEDs in hold mode. LEDs are flashed once in 30 seconds so that the PSP is not mistaken to be powered off.
* While in hold mode, allows the use of Left, Right, LTrigger, RTrigger, Volume and Start buttons, if you hold the Select button first. Useful to skip songs, pause etc.

Additional Features:
* Enables the 5th brightness level on PSP Slim.
* Increases the vertical scrolling speed of Music player by around 50% (scroll 300 songs in 10 seconds).

Usage:
Turn on the Hold switch to automatically disable the display and underclock the CPU. Turn off the Hold switch to return the CPU to normal speed and enable the display.

If you push the ANALOG UP button when turning on the Hold switch, it will only lock the keypad like normal hold mode. The display and CPU speed will not be changed, so that you can watch videos etc. with the keypad locked.

If you push the ANALOG UP button when turning off the Hold switch, the display will remain switched off and the CPU will remain underclocked, but you can operate the PSP. To return to normal, push the power switch to the suspend position, or just press the Screen button.

While the PSP is in hold mode, if you first hold down the Select button, you can use the following buttons: Left, Right, LTrigger, RTrigger, Vol+, Vol-, Start.

Installation:
You can install it in the seplugins folder, and make an entry in VSH.txt. Thus it will be active in the XMB. Its also possible to use it in games by adding it to GAME.txt, but some games may crash etc., if the CPU is underclocked to such a low value.

Optionally, its also possible to install it in your PSP's flash0 so that it will work without a Memory Stick. For this you can use FreePlay's "NewBTCFNedit" and enable it for VSH mode in the all the PSPBT?NF.bin files. Add it before vshmain.prx.

Advanced:
If you want to change the clock speed to your own values, you can use a hex editor to change them. The offsets in the file for v3.6 are
0x1294 - CPU
0x1298 - Bus (Should be half the CPU speed or less)

The values should be entered in hexadecimal. The default value for CPU is 3C (60 MHz in decimal) and the default value for Bus is 1E (30 MHz in decimal).

Note that simply using any arbitrary value will not work. You will have to test and see which values for CPU and Bus speed work.

Credits:
Thanks to adrahil for helping with preventing the suspend mode.

Thanks to Booster for the SysCon Hook sample, based on which Hold+ v3.0 was updated.

Thanks to Total_Noob; As his plugin MusicHold was not compatible with Hold+, with his permission I've implemented the same features in Hold+ v3.0 for people who wanted some buttons to be usable in hold mode.

Changelog said:
Changelog v3.6
----------------------------------
Incorporated Fast Scroll Music functionality into Hold+. Increases the vertical scrolling speed of Music player by around 50% (scroll 300 songs in 10 seconds).

Changelog v3.51
----------------------------------
5th brightness level is now restricted to PSP Slim, because its ineffective on Phat.

Changelog v3.5
----------------------------------
Enabled 5th brightness level. (If the screen dims due to being idle, it returns to the 4th brightness level. You'll need to press the Display button again to go back to the 5th level.)

Proper fix for faulty Hold switch.

Changelog v3.42
----------------------------------
Fixed a bug in the faulty Hold switch detection method. It should now be very resistant to problems such as CPU remaining underclocked due to faulty Hold switch.

Changelog v3.41
----------------------------------
Improved faulty Hold switch protection, as there were still some chances of a faulty Hold switch causing problems.

Changelog v3.4
----------------------------------
Fixed a problem caused by a faulty Hold switch in some PSPs. This made the CPU remain underclocked even after turning off the Hold switch.

The problem is the Hold switch doesn't consistently return a pressed state. It sometimes rapidly fluctuates between an Off and On signal. If this fluctuation occurs within one iteration of the main program loop, it causes problems. Its not humanly possible to toggle the Hold switch so fast, but a loose connection can :p

Changelog v3.3
----------------------------------
Fixed a bug where if the battery was low, and the Power LED was blinking, and you turned off the Hold switch exactly at the moment before the Power LED blinked, the problem of the dissappearing battery icon would occur.

The method of prevent accidental suspend has been changed back to adrahil's SysEvent method, instead of Booster's method which was used from v3.0, which was causing various problems as it worked by corrupting SysCon packets that contained the Power Switch On signal.

Changelog v3.2
----------------------------------
Fixed a bug where after you exit a Photo or the Browser, the battery icon would keep disappearing and reappearing.

Fixed a bug where each time you exit a Photo or the Browser, the first time you turn on Hold after that it would only go to Normal Hold mode.

Changelog v3.1
----------------------------------
Reduced CPU usage by delaying longer in main loop. Since v3.0 the main loop doesn't do much so it needn't run as fast as before. This *should* alleviate problems with the battery icon.

Now its not possible to accidently press 'other' buttons in hold mode while holding Select button. Ex: If you are holding Select + VolUp to increase volume, and you accidently press X, the X button will not have effect.

Changelog v3.0
----------------------------------
Completely overhauled the plugin to work using only the SysCon functions based on Booster's example.

The prevention of accidental suspend was changed to Booster's method as that is more efficient.

In Display Off mode, pressing the Screen button to return to normal no longer causes the firmware's internal brightness variable to become one step higher than the original screen brightness.

Added the ability to use some of the buttons while in hold mode, by holding the Select button first.

Changelog v2.71
----------------------------------
Fixed a bug where after the first time you resume from suspend the Analog Up + Hold Switch Off would not work.

Changelog v2.7
----------------------------------
LEDs are turned off when in Hold mode or Display Off mode, but they are flashed every 30 seconds so that the PSP is not mistaken to be powered off.

Fixed a bug introduced in v2.64 where the PSP wouldn't automatically suspend after being idle while in Hold mode or Display Off mode.

Changelog v2.64
----------------------------------
While in Display Off mode, you can now also turn on the display by pushing the power switch to the suspend position.

Pressing the Screen button also works but I recommend using the power switch instead, because when you press the Screen button, the firmware sets its internal brightness variable to the next level, even though the screen is functioning at the original brightness. Thus if you leave it idle after turning on the display using the Screen button, and the screen dims due to the PSP being idle, when you press a button it will jump to the next brightness level.

Changelog v2.63
----------------------------------
Fixed a bug where turning off the Hold switch very fast (less than 100ms) to the Power position would cause the PSP to enter standby.

Changelog v2.62
----------------------------------
Fixed a bug where the Analog Up features would not respond after opening the Photo menu in the XMB. After you exit the Photo menu, just toggle the Hold switch once and the Analog Up features should work after that.

Changelog v2.61
----------------------------------
Fixed a bug that was introduced in v2.6 that caused the control input buffer to completely fill up, hence causing the Analog Up features not to work in Hold mode, when the plugin was used for an extended period of time.

Changelog v2.6
----------------------------------
Modified the code a bit so that it should work better in GAME mode, although I don't really support using it in GAME mode.

Changelog v2.5
----------------------------------
Added feature to allow normal Hold mode where only the keypad will be locked without changing the display or CPU speed. Hold ANALOG UP when turning on Hold to do this.
The button for operating in Display Off mode has also been changed to ANALOG UP while turning off Hold.

Changelog v2.4
----------------------------------
Bugfix: When the PSP was left in Hold mode for longer than the idle timeout, and then you hold UP and turn off Hold, the screen used to turn on even though you were holding UP.

Changelog v2.3
----------------------------------
Bugfix: When the PSP was operated in display off mode (after holding UP and turning off Hold), if left idle for the duration of the LCD idle timeout, then after that pressing any key would enable the display. It was supposed to enable the display only on pressing the Screen key.

Changelog v2.2
----------------------------------
Added feature to allow operation of PSP with display turned off.

Changelog v2.1
----------------------------------
Fixed a bug where if the Hold switch was turned off and quickly turned on again, the PSP would not suspend after being left idle for a few minutes (the idle timeout didn't work).

Changelog v2.0
----------------------------------
Added feature to prevent PSP from going into suspend mode if the power button is pushed too far when turning off Hold mode.
 

Juliet

New Member
<p>Can it be used within the internet browser? Especially while downloading something big? Or while listening to the radio? I mean reducing CPU speed won't interfere with these functions, is it true?</p>
 

x3sphere

Administrator
Staff member
Enforcer Team
Game Info Editor
<p>any one know if the brightness (level 4) feature works on the PSP phat?</p>

4th brightness setting will work on a Phat but not the 5th, as it is Slim only.
 

jc1cell

New Member
Can't seem to get it to work. I have 5.00 m33-6, never tried it with -4 though, so don't know if it worked with that one either. One thing I noticed is that although I have it in the seplugins folder I don't see it in the plugins section of recovery in order to enable it. It's added to the vsh.txt.

Anything I should be looking at in the XMB that would indicate that it's running.

jc
 

LocutusEstBorg

Active Member
Can't seem to get it to work. I have 5.00 m33-6, never tried it with -4 though, so don't know if it worked with that one either. One thing I noticed is that although I have it in the seplugins folder I don't see it in the plugins section of recovery in order to enable it. It's added to the vsh.txt.

Anything I should be looking at in the XMB that would indicate that it's running.

jc
Make sure you add it like this in vsh.txt
ms0:/seplugins/hold.prx 1
According to the m33-3 format which changed.
It works anywhere.
 

jc1cell

New Member
thanks torch, after a bit of playing with it i had realized that i read incorrectly and it really wasn't in the vsh text. Added and its running just fine now.
 

fasijimoto-san

New Member
This sounds quite awesome. For comparisons sake, what does the PSP do when it' put into sleep mode. IOW, how big of a power savings/difference is this?
 

LocutusEstBorg

Active Member
This sounds quite awesome. For comparisons sake, what does the PSP do when it' put into sleep mode. IOW, how big of a power savings/difference is this?

Sleep mode consumes almost no power except to keep the RAM alive. Sleep would probably only consume %1 battery every few days.

In Hold+ hold mode you should get atleast 15 hours of music playback.
 
Top