diff --git a/Core/HLE/sceUtility.cpp b/Core/HLE/sceUtility.cpp index e1ad3272db..677b271fac 100644 --- a/Core/HLE/sceUtility.cpp +++ b/Core/HLE/sceUtility.cpp @@ -17,6 +17,7 @@ #include "HLE.h" #include "../MIPS/MIPS.h" +#include "Core/Reporting.h" #include "sceKernel.h" #include "sceKernelThread.h" @@ -30,6 +31,7 @@ #include "../Dialog/PSPOskDialog.h" const int SCE_ERROR_MODULE_BAD_ID = 0x80111101; +const int SCE_ERROR_AV_MODULE_BAD_ID = 0x80110F01; PSPSaveDialog saveDialog; PSPMsgDialog msgDialog; @@ -92,16 +94,21 @@ int sceUtilitySavedataUpdate(int animSpeed) u32 sceUtilityLoadAvModule(u32 module) { + if (module > 7) + { + ERROR_LOG(HLE, "sceUtilityLoadAvModule(%i): invalid module id", module); + Reporting::ReportMessage("sceUtilityLoadAvModule(%i): invalid module id", module); + return SCE_ERROR_AV_MODULE_BAD_ID; + } + DEBUG_LOG(HLE,"sceUtilityLoadAvModule(%i)", module); - hleReSchedule("utilityloadavmodule"); - return 0; + return hleDelayResult(0, "utility av module loaded", 25000); } u32 sceUtilityUnloadAvModule(u32 module) { DEBUG_LOG(HLE,"sceUtilityUnloadAvModule(%i)", module); - hleReSchedule("utilityunloadavmodule"); - return 0; + return hleDelayResult(0, "utility av module unloaded", 800); } u32 sceUtilityLoadModule(u32 module) @@ -110,6 +117,7 @@ u32 sceUtilityLoadModule(u32 module) if (module < 0x100 || module > 0x601) { ERROR_LOG(HLE, "sceUtilityLoadModule(%i): invalid module id", module); + Reporting::ReportMessage("sceUtilityLoadModule(%i): invalid module id", module); return SCE_ERROR_MODULE_BAD_ID; } @@ -128,6 +136,7 @@ u32 sceUtilityUnloadModule(u32 module) if (module < 0x100 || module > 0x601) { ERROR_LOG(HLE, "sceUtilityUnloadModule(%i): invalid module id", module); + Reporting::ReportMessage("sceUtilityUnloadModule(%i): invalid module id", module); return SCE_ERROR_MODULE_BAD_ID; } diff --git a/android/jni/TestRunner.cpp b/android/jni/TestRunner.cpp index 6170711f2c..3783081a1f 100644 --- a/android/jni/TestRunner.cpp +++ b/android/jni/TestRunner.cpp @@ -71,6 +71,10 @@ void RunTests() coreParam.useMediaEngine = false; coreParam.collectEmuLog = &output; + // Never report from tests. + std::string savedReportHost = g_Config.sReportHost; + g_Config.sReportHost = ""; + for (int i = 0; i < ARRAY_SIZE(testsToRun); i++) { const char *testName = testsToRun[i]; coreParam.fileToStart = g_Config.memCardDirectory + "pspautotests/tests/" + testName + ".prx"; @@ -136,4 +140,6 @@ void RunTests() } glstate.Restore(); glstate.viewport.set(0,0,pixel_xres,pixel_yres); + + g_Config.sReportHost = savedReportHost; } \ No newline at end of file diff --git a/headless/Headless.cpp b/headless/Headless.cpp index f8db1ff0fb..96ddf00612 100644 --- a/headless/Headless.cpp +++ b/headless/Headless.cpp @@ -166,6 +166,8 @@ int main(int argc, const char* argv[]) g_Config.bEnableSound = false; g_Config.bFirstRun = false; g_Config.bIgnoreBadMemAccess = true; + // Never report from tests. + g_Config.sReportHost = ""; #if defined(ANDROID) #elif defined(BLACKBERRY) || defined(__SYMBIAN32__)