More DevKit NID’s

May 29th, 2008 silverspring

SysMemForKernel library (from 2.50 fw onwards):

  • 0x071d9804 sceKernelApiEvaluationInit
  • 0x049CC735 sceKernelApiEvaluationReport
  • 0×02786087 sceKernelRegisterApiEvaluation

All these functions just return 0 in the retail sysmem.prx which suggests it’s used in devkits only. Sounds like a reporting tool but no idea what kind of data it will log.

UtilsForKernel library:

  • 0x136f2419 sceKernelSetPTRIGMask

PTRIG is some sort of switch on a devkit similar to the dipswitches. Do not know what it controls.

Last remaining sceIdStorage nid

May 20th, 2008 silverspring

The final remaining idstorage nid:

  • 0x99ACCB71 sceIdStorageCreateAtomicLeaves

As the name suggests, this function creates multiple leaves as an atomic operation. Because each leaf is only one nand page in size (0×200 Bytes), data requiring more than 0×200 bytes will need more than one leaf. This function allows you to create multiple leaves as a single operation. This saves from having to sceIdStorageCreateLeaf each individual leaf.

A good example of this are the umd keys (0×102-0×106), which hold a single continuous stream of data split over 5 seperate leaves:

  1. // leafid is an array of leaf ID’s to be created
  2. // numLeaves is the number of leaves to create
  3. int sceIdStorageCreateAtomicLeaves(u16 *leafId, int numLeaves);
  5. u16 umdKey[5] = {0×102, 0×103, 0×104, 0×105, 0×106};
  7. sceIdStorageCreateAtomicLeaves(umdKey, 5);

That finally completes the idstorage lib !!

New 3.95 lib NID’s

May 7th, 2008 silverspring

Completed 2 libs new in 3.95.

Complete libaac (except for 2 which aren’t really needed anyway since they are just module_start/module_stop aliases):

  • 0x6c05813b (module_start alias)
  • 0x61aa43c9 (module_stop alias)
  • 0xe0c89aca sceAacInit
  • 0x33b8c009 sceAacExit
  • 0x5cffc57c sceAacInitResource
  • 0x23d35cae sceAacTermResource
  • 0x7e4cfee4 sceAacDecode
  • 0x523347d9 sceAacGetLoopNum
  • 0xbbdd6403 sceAacSetLoopNum
  • 0xd7c51541 sceAacCheckStreamDataNeeded
  • 0xac6dcbe3 sceAacNotifyAddStreamData
  • 0x02098c69 sceAacGetInfoToAddStreamData
  • 0x6dc7758a sceAacGetMaxOutputSample
  • 0x506bf66c sceAacGetSumDecodedSample
  • 0xd2da2bba sceAacResetPlayPosition

Completed G.729 lib (new exports added in 3.95):

  • 0xaa1e5462 sceG729EncodeInitResource
  • 0x94714d50 sceG729EncodeTermResource
  • 0x8c87a2ca sceG729EncodeReset
  • 0x17c11696 sceG729DecodeInitResource
  • 0x890b86ae sceG729DecodeTermResource
  • 0x74804d93 sceG729DecodeReset

PSP LibDoc update

May 2nd, 2008 silverspring

Finally got around to updating the libdocs (

Thanks to Insert_Witty_Name for the full sceNetAdhocTransInt_Library nids, and WosRet for some very nice sysmem/kdebug nids:

  • 0x24C32559 sceKernelDipsw (devkit dip switch settings)
  • 0x39F49610 sceKernelGetPTRIG (I don’t know what these are, more devkit stuff?)
  • 0xCE8D3DB3 sceKernelGetQTGP2
  • 0x6D8E0CDF sceKernelGetQTGP3

Some nids from brand new modules like the 1seg TV Tuner and the G729 Audio Compression algorithm used for Skype:

  • 0xf8e2cedc sceUsb1SegScanCh
  • 0x5f62e0b5 sceUsb1SegChangeCh
  • 0xcfcd367c sceG729EncodeInit
  • 0x55e14f75 sceG729DecodeInit

And an unusual change from the standard naming conventions:

  • 0xfa6de6a6 _sce_pspnet_if_up
  • 0xedb11cb4 _sce_pspnet_if_down
  • 0x701dddc3 _sce_pspnet_if_attach
  • 0xd5a03bc0 _sce_pspnet_if_detach

Also added 3.95 firmware (, not surprisingly nids were changed again from the 3.90/3.93 firmware, but at least there’s some new modules (like libaac).

I will probably only update firmwares 1.50 & 3.52 (as well when a new firmware comes along) from now. !.50 for obvious reasons since 1.50 homebrew is still strong, and 3.52 since that was the last update before SCE started randomising the nids.