mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-09-20 19:38:31 +02:00
HLE: cover the rest of the NIDs the VSH uses across firmware versions
sceKernelLoadModuleVSH, sceKernelGetModel and sceImposeSetStatus each appear under a different NID in 3.95/4.05, 6.00/6.20 and 6.31/6.39. Without the load one those shells started no plugins at all and sat on a black screen. Identified the same way as the 5.xx set: for each firmware, the modulemgr export with sceKernelLoadModuleVSH's callee set, and the vshbridge export whose body is the user-level check 6.61 wraps sceKernelGetModel in - which is also the only SysMemForKernel import those shells actually call. 3.95 and 4.05 now reach an interactive XMB. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
3bdc4380d8
commit
0054d30b1d
@@ -3200,6 +3200,12 @@ const HLEFunction ModuleMgrForKernel[] = {
|
||||
// identical callee set to 6.61's 0xD5DDAB1F. Without it 5.50's vshbridge couldn't load the
|
||||
// XMB plugins (opening_plugin, impose_plugin, ...) and the VSH stopped at a black screen.
|
||||
{0xCCDE84A8, &WrapU_CUU<sceKernelLoadModuleVSH>, "sceKernelLoadModuleVSH", 'x', "sxx", HLE_KERNEL_SYSCALL },
|
||||
// And the three remaining NIDs it has worn, all matched by the same callee set: 3.95 and 4.05
|
||||
// share one, 6.00 and 6.20 another, 6.31 and 6.39 the last. Each of those shells loaded no
|
||||
// plugins at all and sat on a black screen until its NID was here.
|
||||
{0xFE586962, &WrapU_CUU<sceKernelLoadModuleVSH>, "sceKernelLoadModuleVSH", 'x', "sxx", HLE_KERNEL_SYSCALL },
|
||||
{0x329C89DB, &WrapU_CUU<sceKernelLoadModuleVSH>, "sceKernelLoadModuleVSH", 'x', "sxx", HLE_KERNEL_SYSCALL },
|
||||
{0x8909A807, &WrapU_CUU<sceKernelLoadModuleVSH>, "sceKernelLoadModuleVSH", 'x', "sxx", HLE_KERNEL_SYSCALL },
|
||||
};
|
||||
|
||||
void Register_ModuleMgrForUser() {
|
||||
|
||||
Reference in New Issue
Block a user