diff --git a/Core/HLE/sceFont.cpp b/Core/HLE/sceFont.cpp index ed1a05d5f4..dc1e6ffa82 100644 --- a/Core/HLE/sceFont.cpp +++ b/Core/HLE/sceFont.cpp @@ -177,12 +177,20 @@ u32 sceFontOpen(u32 libHandle, u32 index, u32 mode, u32 errorCodePtr) u32 sceFontOpenUserMemory(u32 libHandle, u32 memoryFontAddrPtr, u32 memoryFontLength, u32 errorCodePtr) { ERROR_LOG(HLE, "sceFontOpenUserMemory %x, %x, %x, %x", libHandle, memoryFontAddrPtr, memoryFontLength, errorCodePtr); + if (Memory::IsValidAddress(errorCodePtr)) + { + Memory::Write_U32(0, errorCodePtr); + } return 1; } u32 sceFontOpenUserFile(u32 libHandle, u32 fileNamePtr, u32 mode, u32 errorCodePtr) { ERROR_LOG(HLE, "sceFontOpenUserFile %x, %x, %x, %x", libHandle, fileNamePtr, mode, errorCodePtr); + if (Memory::IsValidAddress(errorCodePtr)) + { + Memory::Write_U32(0, errorCodePtr); + } return 1; } diff --git a/Core/HLE/sceGe.cpp b/Core/HLE/sceGe.cpp index 793d09d19c..dd41e6e1db 100644 --- a/Core/HLE/sceGe.cpp +++ b/Core/HLE/sceGe.cpp @@ -103,9 +103,10 @@ void sceGeListUpdateStallAddr(u32 displayListID, u32 stallAddress) gpu->UpdateStall(displayListID, stallAddress); } -void sceGeListSync(u32 displayListID, u32 mode) //0 : wait for completion 1:check and return +int sceGeListSync(u32 displayListID, u32 mode) //0 : wait for completion 1:check and return { DEBUG_LOG(HLE, "sceGeListSync(dlid=%08x, mode=%08x)", displayListID, mode); + return 0; } u32 sceGeDrawSync(u32 mode) @@ -222,7 +223,7 @@ const HLEFunction sceGe_user[] = {0xAB49E76A,&WrapU_UUUU, "sceGeListEnQueue"}, {0x1C0D95A6,&WrapU_UUUU, "sceGeListEnQueueHead"}, {0xE0D68148,&WrapV_UU, "sceGeListUpdateStallAddr"}, - {0x03444EB4,&WrapV_UU, "sceGeListSync"}, + {0x03444EB4,&WrapI_UU, "sceGeListSync"}, {0xB287BD61,&WrapU_U, "sceGeDrawSync"}, {0xB448EC0D,&WrapV_U, "sceGeBreak"}, {0x4C06E472,sceGeContinue, "sceGeContinue"}, diff --git a/Core/HLE/sceKernelModule.cpp b/Core/HLE/sceKernelModule.cpp index c97e84e4af..2e8083ea04 100644 --- a/Core/HLE/sceKernelModule.cpp +++ b/Core/HLE/sceKernelModule.cpp @@ -756,11 +756,17 @@ void sceKernelFindModuleByName() } u32 sceKernelLoadModuleByID(u32 id, u32 flags, u32 lmoptionPtr) { - ERROR_LOG(HLE,"UNIMPL sceKernelLoadModuleById(%08x, %08x)", id, lmoptionPtr); + ERROR_LOG(HLE,"UNIMPL (%008x=sceKernelLoadModuleById(%08x, %08x)",id,id,lmoptionPtr); // Apparenty, ID is a sceIo File UID. So this shouldn't be too hard when needed. return id; } +int ModuleMgrForUser_0xfef27dc1() +{ + ERROR_LOG(HLE,"UNIMPL 0=ModuleMgrForUser_0xfef27dc1()"); + return 0; +} + const HLEFunction ModuleMgrForUser[] = { {0x977DE386,&WrapU_CU,"sceKernelLoadModule"}, @@ -776,6 +782,7 @@ const HLEFunction ModuleMgrForUser[] = {0xd8b73127,&WrapU_U, "sceKernelGetModuleIdByAddress"}, {0xf0a26395,&sceKernelGetModuleId, "sceKernelGetModuleId"}, {0x8f2df740,0,"sceKernelStopUnloadSelfModuleWithStatus"}, + {0xfef27dc1,WrapI_V , "ModuleMgrForUser_0xfef27dc1"}, };