You should only write if you
really know what you are talking about. Things only get added to the sdk when the person knows
exactly what is going on.
ne0h wrote:The NID is a "modified" Sha-1 hash of the function name, you have to get the hash of the name, write down the first 8 letters and next reverse the letters "2 to 2".
Sorry, very bad english, so a example:
Name: scePowerGetPowerSwMode
SHA-1: 85e05c16c0f3c9440a6505d171f7439416afb764
First 8 letters: 85E05C16
NID: 0x 165CE085
You can use NidCrack to try to get the name from a NID, but it's very slow!
I'm trying to write a new algoritm to improve the speed of NidCrack, but ...
Are you sure you found them by cracking the nids? Or you just posted the ones I had found? If you had cracked them, feel free to send them to me so I can update new ones. But I guess you just grabbed them from the libdoc site since you would've cracked others that I hadn't yet updated on the site yet like:
0xE8E4E204 scePowerGetForceSuspendCapacity
for example.
Yes it always returns 72 (unless you've mucked around with your idstorage). It's the value of the battery (in mAh) that will force a suspend. Similar to the scePowerGetLowBatteryCapacity function (which returns 216 mAh) that starts the led flashing. These 2 values are set via idstorage key4, which is why some people have that suspend bug when they have corrupt idstorage.
So on a standard 1800mAh battery, these 2 events occur at 12% (led starts flashing) and 4% (auto suspends) capacity left respectively. You can change these 2 values via offset 0x1A (value 0x0048 = 72) and offset 0x1C (0x00D8 = 216) of idstorage key4.
ne0h wrote:A question:
Code: Select all
0xDB9D28DD,scePowerUnregitserCallback
0xDFA8BAF8,scePowerUnregisterCallback
Why there's 2 functions with a similar name like this?
"scePowerUnregisterCallback"? "Unregister"? Is a grammatical error or what?
Does it make the same thing?
Sorry for my english...
They are both the same function. Yes it is a typo mistake, they first named it scePowerUnregitserCallback and when they realised the mistake they made the correct spelling scePowerUnregisterCallback an export alias to the original function.
ne0h wrote:
0x2B51FE2F,scePower_2B51FE2F(void) // Do nothing?? Return always 0
No this one checks whether wlan is activated or not.
The param of scePowerRequestColdReset is not a delay but a mode, however for now it can only be 0. Several other functions also accept a mode arg that is also for now only 0. Probably reserved for future functionality, or maybe used in devkits.
0x23C31FFE scePowerVolatileMemLock
is scePowerVolatileMemLock(int mode, char **addr, int *size); where mode can only be 0 for now, and receives the address and size of the volatile memory partition in the other 2 args.
scePowerCancelRequest only cancels the standby & suspend requests from the power switch, it doesnt affect the software calls.
If you want to add functions to the sdk you have to know exactly what the functions do inside & out. It's not enough just by testing them. There could be side effects that you are not aware of.