From 8cb87924b3fc399de084d1d91e5fe4fd96185887 Mon Sep 17 00:00:00 2001 From: raven02 Date: Mon, 31 Dec 2012 20:43:38 +0800 Subject: [PATCH] Add sceKernelSetCompiledSdkVersion401_402 (suggested by Xele02) and wrapped two unload moudles --- Core/HLE/sceKernelMemory.cpp | 21 +++++++++++++++++---- Core/HLE/sceUtility.cpp | 36 ++++++++++++++++++++++++------------ 2 files changed, 41 insertions(+), 16 deletions(-) diff --git a/Core/HLE/sceKernelMemory.cpp b/Core/HLE/sceKernelMemory.cpp index 859c62c43e..5e5ff6aa3e 100644 --- a/Core/HLE/sceKernelMemory.cpp +++ b/Core/HLE/sceKernelMemory.cpp @@ -599,10 +599,6 @@ void sceKernelSetCompiledSdkVersion500_505(int sdkVersion) { int sdkMainVersion = sdkVersion & 0xFFFF0000; if(sdkMainVersion == 0x5000000 - || sdkMainVersion == 0x5010000 - || sdkMainVersion == 0x5020000 - || sdkMainVersion == 0x5030000 - || sdkMainVersion == 0x5040000 || sdkMainVersion == 0x5050000) { sdkVersion_ = sdkVersion; @@ -615,6 +611,22 @@ void sceKernelSetCompiledSdkVersion500_505(int sdkVersion) return; } +void sceKernelSetCompiledSdkVersion401_402(int sdkVersion) +{ + int sdkMainVersion = sdkVersion & 0xFFFF0000; + if(sdkMainVersion == 0x4010000 + || sdkMainVersion == 0x4020000) + { + sdkVersion_ = sdkVersion; + flags_ |= SCE_KERNEL_HASCOMPILEDSDKVERSION; + } + else + { + ERROR_LOG(HLE,"sceKernelSetCompiledSdkVersion401_402 unknown SDK : %x\n",sdkVersion); + } + return; +} + void sceKernelSetCompiledSdkVersion507(int sdkVersion) { int sdkMainVersion = sdkVersion & 0xFFFF0000; @@ -920,6 +932,7 @@ const HLEFunction SysMemUserForUser[] = { {0x342061E5,&WrapV_I,"sceKernelSetCompiledSdkVersion370"}, {0x315AD3A0,&WrapV_I,"sceKernelSetCompiledSdkVersion380_390"}, {0xEBD5C3E6,&WrapV_I,"sceKernelSetCompiledSdkVersion395"}, + {0x057E7380,&WrapV_I,"sceKernelSetCompiledSdkVersion401_402"}, {0xf77d77cb,&WrapV_I,"sceKernelSetCompilerVersion"}, {0x91de343c,&WrapV_I,"sceKernelSetCompiledSdkVersion500_505"}, {0x7893f79a,&WrapV_I,"sceKernelSetCompiledSdkVersion507"}, diff --git a/Core/HLE/sceUtility.cpp b/Core/HLE/sceUtility.cpp index c5dbc84934..bb727f9989 100644 --- a/Core/HLE/sceUtility.cpp +++ b/Core/HLE/sceUtility.cpp @@ -88,20 +88,32 @@ int sceUtilitySavedataUpdate(int animSpeed) #define PSP_AV_MODULE_AAC 6 #define PSP_AV_MODULE_G729 7 -//TODO: Shouldn't be void -void sceUtilityLoadAvModule(u32 module) +u32 sceUtilityLoadAvModule(u32 module) { DEBUG_LOG(HLE,"sceUtilityLoadAvModule(%i)", module); - RETURN(0); - __KernelReSchedule("utilityloadavmodule"); + hleReSchedule("utilityloadavmodule"); + return 0; } -//TODO: Shouldn't be void -void sceUtilityLoadModule(u32 module) +u32 sceUtilityUnloadAvModule(u32 module) +{ + DEBUG_LOG(HLE,"sceUtilityUnloadAvModule(%i)", module); + hleReSchedule("utilityunloadavmodule"); + return 0; +} + +u32 sceUtilityLoadModule(u32 module) { DEBUG_LOG(HLE,"sceUtilityLoadModule(%i)", module); - RETURN(0); - __KernelReSchedule("utilityloadmodule"); + hleReSchedule("utilityloadmodule"); + return 0; +} + +u32 sceUtilityUnloadModule(u32 module) +{ + DEBUG_LOG(HLE,"sceUtilityUnloadModule(%i)", module); + hleReSchedule("utilityunloadmodule"); + return 0; } int sceUtilityMsgDialogInitStart(u32 structAddr) @@ -406,11 +418,11 @@ const HLEFunction sceUtility[] = {0xf5ce1134, 0, "sceUtilityHtmlViewerShutdownStart"}, {0x05afb9e4, 0, "sceUtilityHtmlViewerUpdate"}, - {0xc629af26, &WrapV_U, "sceUtilityLoadAvModule"}, - {0xf7d8d092, 0, "sceUtilityUnloadAvModule"}, + {0xc629af26, &WrapU_U, "sceUtilityLoadAvModule"}, + {0xf7d8d092, &WrapU_U, "sceUtilityUnloadAvModule"}, - {0x2a2b3de0, &WrapV_U, "sceUtilityLoadModule"}, - {0xe49bfe92, 0, "sceUtilityUnloadModule"}, + {0x2a2b3de0, &WrapU_U, "sceUtilityLoadModule"}, + {0xe49bfe92, &WrapU_U, "sceUtilityUnloadModule"}, {0x0251B134, 0, "sceUtilityScreenshotInitStart"}, {0xF9E0008C, 0, "sceUtilityScreenshotShutdownStart"},