mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Imp sceKernelGetModuleIdList by CPkmn
This commit is contained in:
parent
726327beaa
commit
eb5c349c2f
1 changed files with 20 additions and 2 deletions
|
@ -1802,9 +1802,27 @@ u32 sceKernelQueryModuleInfo(u32 uid, u32 infoAddr)
|
|||
return 0;
|
||||
}
|
||||
|
||||
u32 sceKernelGetModuleIdList(u32 resultBuffer, u32 resultBufferSize,u32 idCountAddr)
|
||||
u32 sceKernelGetModuleIdList(u32 resultBuffer, u32 resultBufferSize, u32 idCountAddr)
|
||||
{
|
||||
ERROR_LOG_REPORT(SCEMODULE, "UNIMPL sceKernelGetModuleIdList(%08x, %i,%08x)", resultBuffer, resultBufferSize, idCountAddr);
|
||||
ERROR_LOG(SCEMODULE, "UNTESTED sceKernelGetModuleIdList(%08x, %i, %08x)", resultBuffer, resultBufferSize, idCountAddr);
|
||||
|
||||
int idCount = 0;
|
||||
int resultBufferOffset = 0;
|
||||
|
||||
u32 error;
|
||||
for (auto mod = loadedModules.begin(), modend = loadedModules.end(); mod != modend; ++mod) {
|
||||
Module *module = kernelObjects.Get<Module>(*mod, error);
|
||||
if (!module->isFake) {
|
||||
if (resultBufferOffset < resultBufferSize) {
|
||||
Memory::Write_U32(module->GetUID(), resultBuffer + resultBufferOffset);
|
||||
resultBufferOffset += 4;
|
||||
}
|
||||
idCount++;
|
||||
}
|
||||
}
|
||||
|
||||
Memory::Write_U32(idCount, idCountAddr);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue