void utilitySavedataLog(char *buffer, const SyscallInfo *syscallInfo, u32 param) { char *s = buffer; if (syscallInfo->nid == 0x50C4CD57) { utilitySavedataParams = (void *) param; } int mode = _lw((int) utilitySavedataParams + 48); s = append(s, "mode="); s = appendInt(s, mode, 0); s = append(s, ", gameName="); s = append(s, utilitySavedataParams + 60); s = append(s, ", saveName="); s = append(s, utilitySavedataParams + 76); s = append(s, ", fileName="); s = append(s, utilitySavedataParams + 100); if (syscallInfo->nid == 0x9790B33C) { s = append(s, ", result="); s = appendHex(s, _lw((int) utilitySavedataParams + 28), 8); } s = append(s, "\n"); writeLog(buffer, s - buffer); s = buffer; printLogMem("Data ", _lw((int) utilitySavedataParams + 116), 16); printLogMem("Params ", (int) utilitySavedataParams, _lw((int) utilitySavedataParams + 0)); }
void utilityOskLog(char *buffer, const SyscallInfo *syscallInfo, u32 param) { char *s = buffer; if (syscallInfo->nid != 0xF6269B82 && syscallInfo->nid != 0x3DFAEBA9) { return; } if (syscallInfo->nid == 0xF6269B82) { utilityOskParams = (void *) param; } int oskDataAddr = _lw((int) utilityOskParams + 52); if (oskDataAddr != 0) { s = append(s, "inputMode="); s = appendHex(s, _lw(oskDataAddr + 0), 0); s = append(s, ", inputAttr="); s = appendHex(s, _lw(oskDataAddr + 4), 0); } if (syscallInfo->nid == 0x3DFAEBA9) { s = append(s, ", result="); s = appendHex(s, _lw((int) utilityOskParams + 28), 8); } s = append(s, "\n"); writeLog(buffer, s - buffer); s = buffer; printLogMem("Params ", (int) utilityOskParams, _lw((int) utilityOskParams + 0)); }
void utilityMsgLog(char *buffer, const SyscallInfo *syscallInfo, u32 param) { char *s = buffer; if (syscallInfo->nid != 0x2AD8E239 && syscallInfo->nid != 0x67AF3428) { return; } if (syscallInfo->nid == 0x2AD8E239) { utilityMsgParams = (void *) param; } s = append(s, "result="); s = appendHex(s, _lw((int) utilityMsgParams + 48), 0); s = append(s, ", mode="); s = appendHex(s, _lw((int) utilityMsgParams + 52), 0); s = append(s, ", errorValue="); s = appendHex(s, _lw((int) utilityMsgParams + 56), 0); s = append(s, ", options="); s = appendHex(s, _lw((int) utilityMsgParams + 572), 0); s = append(s, ", buttonPressed="); s = appendHex(s, _lw((int) utilityMsgParams + 576), 0); if (syscallInfo->nid == 0x67AF3428) { s = append(s, ", result="); s = appendHex(s, _lw((int) utilityMsgParams + 28), 8); } s = append(s, "\n"); writeLog(buffer, s - buffer); #if 0 s = buffer; s = append(s, "message="); s = append(s, utilityMsgParams + 60); s = append(s, "\n"); writeLog(buffer, s - buffer); printLogMem("Params ", (int) utilityMsgParams, _lw((int) utilityMsgParams + 0)); #endif }
void utilitySavedataLog(char *buffer, const SyscallInfo *syscallInfo, u32 param) { char *s = buffer; int fd; if (syscallInfo->nid != 0x50C4CD57 && syscallInfo->nid != 0x9790B33C) { return; } if (syscallInfo->nid == 0x50C4CD57) { utilitySavedataParams = (void *) param; } if (utilitySavedataParams == NULL) { return; } int mode = _lw((int) utilitySavedataParams + 48); s = append(s, "mode="); s = appendInt(s, mode, 0); s = append(s, ", gameName="); s = append(s, utilitySavedataParams + 60); s = append(s, ", saveName="); s = append(s, utilitySavedataParams + 76); s = append(s, ", fileName="); s = append(s, utilitySavedataParams + 100); if (syscallInfo->nid == 0x9790B33C) { s = append(s, ", result="); s = appendHex(s, _lw((int) utilitySavedataParams + 28), 8); } s = append(s, "\n"); writeLog(buffer, s - buffer); s = buffer; printLogMem("Data ", _lw((int) utilitySavedataParams + 116), 16); int fileListAddr = _lw((int) utilitySavedataParams + 1528); if (fileListAddr != 0 && mode == 12) { // MODE_FILES printLogMem("FileList ", fileListAddr, 36); if (syscallInfo->nid == 0x9790B33C) { // sceUtilitySavedataShutdownStart int saveFileSecureNumEntries = _lw(fileListAddr + 12); int saveFileNumEntries = _lw(fileListAddr + 16); int systemFileNumEntries = _lw(fileListAddr + 20); int saveFileSecureEntriesAddr = _lw(fileListAddr + 24); int saveFileEntriesAddr = _lw(fileListAddr + 28); int systemEntriesAddr = _lw(fileListAddr + 32); printLogMem("SecureEntries ", saveFileSecureEntriesAddr, saveFileSecureNumEntries * 80); printLogMem("NormalEntries ", saveFileEntriesAddr, saveFileNumEntries * 80); printLogMem("SystemEntries ", systemEntriesAddr, systemFileNumEntries * 80); } } printLogMem("Params ", (int) utilitySavedataParams, _lw((int) utilitySavedataParams + 0)); if (syscallInfo->nid == 0x9790B33C) { fd = ioOpen("ms0:/SavedataStruct.bin", PSP_O_WRONLY | PSP_O_CREAT | PSP_O_APPEND, 0777); ioWrite(fd, utilitySavedataParams, _lw((int) utilitySavedataParams + 0)); ioClose(fd); fd = ioOpen("ms0:/SavedataData.bin", PSP_O_WRONLY | PSP_O_CREAT | PSP_O_APPEND, 0777); ioWrite(fd, (void *) _lw((int) utilitySavedataParams + 116), _lw((int) utilitySavedataParams + 124)); ioClose(fd); } }