CBPS Forums
Console Hacking => PS Vita => Reverse Engineering => Topic started by: Yoti on November 23, 2019, 11:50:47 AM
-
int sceAppMgrAppParamGetInt(int pid, int param, int *value);
Params:
_1 0x01 ???
_2 0x02 ???
_3 0x03 APP_VER (0x64 -> 100 -> 1.00, 0x65 -> 101 -> 1.01 etc.)
_4 0x04 ???
_5 0x05 ???
11 0x0b SAVEDATA_MAX_SIZE
13 0x0d ???
14 0x0e ???
16 0x10 ???
Errors:
80800009 PARAM_DOES_NOT_EXIST?
80801042 WRONG_PARAM_TYPE?
-
sceAppMgrAppParamGetString (https://docs.vitasdk.org/group__SceAppMgrUser.html#gac405fb989da489896c044f36f7980a7d)
Params:
__6 0x06 CONTENT_ID
__7 0x07 NP_COMMUNICATION_ID
__8 0x08 CATEGORY
__9 0x09 TITLE
_10 0x0a STITLE
_12 0x0c TITLE_ID
100 0x64 CONTENT_ID (same as 6)
101 0x65 TITLE (same as 9)
-
Returns error in game budget apps, works fine in system mode apps.
int sceAppMgrGetBudgetInfo(sceAppMgrBudgetInfo* info);
typedef struct sceAppMgrBudgetInfo {
SceSize size; //must be 0x88
uint32_t mode; //2 = Mode_ApplicationA, 3 = Mode_ApplicationB (allow phycont), 4 = Mode_Application (allow 0x0E208060, allow phycont)
uint32_t unk_4;
uint32_t budgetLPDDR2; //LPDDR2 budget in bytes
uint32_t freeLPDDR2; //Free LPDDR2 memory in bytes
uint32_t allow0x0E208060; //1 if 0x0E208060 usage is allowed, otherwise 0
uint32_t unk_14; //only if 0x0E208060 is used, otherwise 0
uint32_t budget0x0E208060; //0x0E208060 budget in bytes
uint32_t free0x0E208060; //Free 0x0E208060 memory in bytes
uint32_t unk_20; //always 0
uint32_t unk_24; //only if phycont is used, otherwise 0
uint32_t budgetPHYCONT; //PHYCONT budget in bytes
uint32_t freePHYCONT; //Free PHYCONT memory in bytes
uint32_t allow; //Some memory type?
char unk_34[0x20]; //Some memory type?
uint32_t unk_54;
uint32_t budgetCDRAM; //CDRAM budget in bytes
uint32_t freeCDRAM; //Free CDRAM memory in bytes
char reserved_60[0x24];
} sceAppMgrBudgetInfo;