Various Cleanups

Make some sceFont functions fill in (fake) error codes

sceGeListSync seems to want a return value (fat princess, others)

Another missing sceKernelModule method (killzone)
This commit is contained in:
TMaul 2012-12-12 16:40:53 +00:00
parent dd54e3979e
commit 1c15b70277
3 changed files with 19 additions and 3 deletions

View File

@ -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;
}

View File

@ -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>, "sceGeListEnQueue"},
{0x1C0D95A6,&WrapU_UUUU<sceGeListEnQueueHead>, "sceGeListEnQueueHead"},
{0xE0D68148,&WrapV_UU<sceGeListUpdateStallAddr>, "sceGeListUpdateStallAddr"},
{0x03444EB4,&WrapV_UU<sceGeListSync>, "sceGeListSync"},
{0x03444EB4,&WrapI_UU<sceGeListSync>, "sceGeListSync"},
{0xB287BD61,&WrapU_U<sceGeDrawSync>, "sceGeDrawSync"},
{0xB448EC0D,&WrapV_U<sceGeBreak>, "sceGeBreak"},
{0x4C06E472,sceGeContinue, "sceGeContinue"},

View File

@ -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>,"sceKernelLoadModule"},
@ -776,6 +782,7 @@ const HLEFunction ModuleMgrForUser[] =
{0xd8b73127,&WrapU_U<sceKernelGetModuleIdByAddress>, "sceKernelGetModuleIdByAddress"},
{0xf0a26395,&sceKernelGetModuleId, "sceKernelGetModuleId"},
{0x8f2df740,0,"sceKernelStopUnloadSelfModuleWithStatus"},
{0xfef27dc1,WrapI_V<ModuleMgrForUser_0xfef27dc1> , "ModuleMgrForUser_0xfef27dc1"},
};