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;
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue