diff --git a/Core/HLE/sceRtc.cpp b/Core/HLE/sceRtc.cpp index 7092c005e0..65f0942ec2 100644 --- a/Core/HLE/sceRtc.cpp +++ b/Core/HLE/sceRtc.cpp @@ -866,6 +866,13 @@ int sceRtcGetLastAdjustedTime(u32 tickPtr) return 0; } +//Returns 0 on success, according to Project Diva 2nd jpcsptrace log +int sceRtcSetAlarmTick(u32 unknown1, u32 unknown2) +{ + ERROR_LOG(HLE, "UNIMPL sceRtcSetAlarmTick(%x, %x)", unknown1, unknown2); + return 0; +} + const HLEFunction sceRtc[] = { {0xC41C2853, &WrapU_V, "sceRtcGetTickResolution"}, @@ -908,7 +915,7 @@ const HLEFunction sceRtc[] = {0x1909c99b, &WrapI_UU64, "sceRtcSetTime64_t"}, {0x62685E98, &WrapI_U, "sceRtcGetLastAdjustedTime"}, {0x203ceb0d, 0, "sceRtcGetLastReincarnatedTime"}, - {0x7d1fbed3, 0, "sceRtcSetAlarmTick"}, + {0x7d1fbed3, &WrapI_UU, "sceRtcSetAlarmTick"}, {0xf5fcc995, 0, "sceRtc_F5FCC995"}, }; diff --git a/Core/HLE/sceUtility.cpp b/Core/HLE/sceUtility.cpp index e8c7db559b..d242d252fe 100644 --- a/Core/HLE/sceUtility.cpp +++ b/Core/HLE/sceUtility.cpp @@ -377,10 +377,34 @@ int sceUtilityNetconfGetStatus() return netDialog.GetStatus(); } +//TODO: Implement all sceUtilityScreenshot* for real, it doesn't seem to be complex +//but it requires more investigation +u32 sceUtilityScreenshotInitStart(u32 unknown1, u32 unknown2, u32 unknown3, u32 unknown4, u32 unknown5, u32 unknown6) +{ + WARN_LOG(HLE, "UNIMPL %i=sceUtilityScreenshotInitStart(): fake success again", 0); + return 0; +} + +u32 sceUtilityScreenshotShutdownStart() +{ + WARN_LOG(HLE, "UNTESTED sceUtilityScreenshotShutdownStart()"); + return 0; +} + +u32 sceUtilityScreenshotUpdate(u32 unknown) +{ + ERROR_LOG(HLE, "UNIMPL sceUtilityScreenshotUpdate(%d)", unknown); + return 0; +} + +//Fake success, because Diva 2nd(and other games?) hang(s) in an infinite loop +//if you try to take a screenshot without it, due to waiting for success forever int sceUtilityScreenshotGetStatus() { - u32 retval = __UtilityGetStatus(); - ERROR_LOG(HLE, "UNIMPL %i=sceUtilityScreenshotGetStatus()", retval); + //u32 retval = __UtilityGetStatus(); + u32 retval = 0; + + WARN_LOG(HLE, "UNIMPL %i=sceUtilityScreenshotGetStatus(): fake success", retval); return retval; } @@ -561,9 +585,9 @@ const HLEFunction sceUtility[] = {0x2a2b3de0, &WrapU_U, "sceUtilityLoadModule"}, {0xe49bfe92, &WrapU_U, "sceUtilityUnloadModule"}, - {0x0251B134, 0, "sceUtilityScreenshotInitStart"}, - {0xF9E0008C, 0, "sceUtilityScreenshotShutdownStart"}, - {0xAB083EA9, 0, "sceUtilityScreenshotUpdate"}, + {0x0251B134, &WrapU_UUUUUU, "sceUtilityScreenshotInitStart"}, + {0xF9E0008C, &WrapU_V, "sceUtilityScreenshotShutdownStart"}, + {0xAB083EA9, &WrapU_U, "sceUtilityScreenshotUpdate"}, {0xD81957B7, &WrapI_V, "sceUtilityScreenshotGetStatus"}, {0x86A03A27, 0, "sceUtilityScreenshotContStart"},