• 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+ v2.71 - Battery Saver Plugin

LocutusEstBorg

Active Member
Download Hold+ v2.71: http://ifile.it/arj8myn (Click on Request Ticket)
Tested on 4.01M33-2 Slim.

This is a simple plugin I made a long time ago for my personal use. I just found the source code while going through some old stuff on my computer, so I thought I'd clean up the code a bit and release the plugin.

I realize that there are other plugins that feature similar functionality but I wrote my own because I wanted to be sure its coded optimally, as there are a few careless ways in which these functions can be improperly used (the point of this after all is to conserve battery life).

It does the following when the Hold switch is enabled:
* Switches off the LCD backlight.
* Switches off the actual LCD screen.
(This is important because the backlight and actual screen are two different things. You can have an image being displayed on the screen while the backlight is switched off, such that you can see the image if you use a flashlight. You can also have the screen switched off while the backlight still illuminates the powered off screen.)
* Underclocks the CPU to 61MHz
(Sony has changed the clock speed functions such that only certain combinations of speeds work correctly. Simply trying to underclock to arbitrary values will result in the CPU simply running at the stock speed. I have verified that Hold+ successfully underclocks to 61MHz.)
* 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 operation of the PSP with the display turned off, to change volume, skip songs etc.
* Turns off LEDs in Hold mode. LEDs are flashed once in 30 seconds so that the PSP is not mistaken to be powered off.

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. This is useful if you just need to adjust the volume, fast forward/rewind, or to skip to the next song, without unnecessarily turning on the display. To return to normal, push the power switch to the suspend position, or just press the Screen button.

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 card. For this you can use FreePlay's "NewBTCFNedit" and enable it for VSH mode in the all the PSPBT?NF.bin files. Add it after 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 v2.71 are
0x4D4, 0x4D8 - CPU,GPU (Both should be same)
0x4E0 - Bus (Should be half the CPU speed or less)

The values should be entered in hexadecimal. The default value for CPU/GPU 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/GPU and Bus speed work.

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

Changelog said:
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 the 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.
 

LocutusEstBorg

Active Member
Updated to v2.64
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.
 

LocutusEstBorg

Active Member
Since ppl were asking for LED control, updated to v2.7

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.
 

LocutusEstBorg

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

jx233

Guest
Hold Plugin

I want this. Looks good. :smile:

one question, when in HOLD mode, can i change the volume up or down?, or do I have to do that when the PSP is not in HOLD mode?

other question: Does it at least work in 3.xx firmwares?
 

LocutusEstBorg

Active Member
I want this. Looks good. :smile:

one question, when in HOLD mode, can i change the volume up or down?, or do I have to do that when the PSP is not in HOLD mode?

other question: Does it at least work in 3.xx firmwares?

You have to put it in Display Off mode (by first putting it in Hold, then holding Analog Up + Turn off hold), then you can use the buttons.

I don't think its possible to read any other buttons while in Hold, it must be a hardware thing.
 
J

jx233

Guest
NIDS

yay 3.60 M33 works!!

I have 3.60 M33 on my PSP Slim and Lite.


thanks. :smile: :smile: :smile: :w00t: :w00t: :w00t: :wink:

I don't really care about 3.80, but does your app not work because of different NIDS in 3.80?
 

LocutusEstBorg

Active Member
yay 3.60 M33 works!!

I have 3.60 M33 on my PSP Slim and Lite.


thanks. :smile: :smile: :smile: :w00t: :w00t: :w00t: :wink:

I don't really care about 3.80, but does your app not work because of different NIDS in 3.80?

No I haven't used any of the changed NIDs. There is a bug in 3.80M33 regarding the CPU speed which DAX has fixed later.
 
Top