Add some kernel nids

sceReg:made the registry writable in-memory (sceRegSetKeyValue/sceRegCreateKey overlay + merged cached lookups), which is what fixed the Chinese font. Fix #14032
This commit is contained in:
sum2012 committed 2026-10-06 04:59:56 +08:00
1 parent 647819fb6f
commit 472cf26be4
7 files changed
+235 -17

No files matched your search

+7
View File
@@ -2643,6 +2643,12 @@ static u32 sctrlHENSetStartModuleHandler(u32 handlerAddr) {
return hleLogInfo(Log::sceModule, previous, "handler %08x", handlerAddr);
}
// NID 0x78E46415, per JPCSP's SystemCtrlForKernel. Imported by CLANNAD's chfont.prx to look up
// a driver by name; since no real driver patching is done, always report it as found.
static u32 sctrlHENFindDriver(const char *drvname) {
return hleLogInfo(Log::sceModule, 0, "driver %s", drvname ? drvname : "(null)");
}
int __KernelStartModule(SceUID moduleId, u32 argsize, u32 argAddr, u32 returnValueAddr, SceKernelSMOption *smoption, bool *needsWait) {
if (needsWait) {
*needsWait = false;
@@ -3377,6 +3383,7 @@ void Register_ModuleMgrForKernel() {
static const HLEFunction SystemCtrlForKernel[] = {
{0x1C90BECB, &WrapU_U<sctrlHENSetStartModuleHandler>, "sctrlHENSetStartModuleHandler", 'x', "x", HLE_KERNEL_SYSCALL},
{0x78E46415, &WrapU_C<sctrlHENFindDriver>, "sctrlHENFindDriver", 'x', "s", HLE_KERNEL_SYSCALL},
};
void Register_SystemCtrlForKernel() {