diff --git a/Core/HLE/sceKernelModule.cpp b/Core/HLE/sceKernelModule.cpp index f36e2eb1c437..03995eee9705 100644 --- a/Core/HLE/sceKernelModule.cpp +++ b/Core/HLE/sceKernelModule.cpp @@ -76,8 +76,8 @@ static const char *lieAboutSuccessModules[] = { static const char *blacklistedModules[] = { "sceATRAC3plus_Library", - "sceFont_Library", - "SceFont_Library", + //"sceFont_Library", + //"SceFont_Library", "SceHttp_Library", "sceMpeg_library", "sceNetAdhocctl_Library", @@ -582,13 +582,6 @@ void UnexportVarSymbol(const VarSymbolExport &var) { } void ImportFuncSymbol(const FuncSymbolImport &func) { - // Prioritize HLE implementations. - // TODO: Or not? - if (FuncImportIsSyscall(func.moduleName, func.nid)) { - WriteSyscall(func.moduleName, func.nid, func.stubAddr); - currentMIPS->InvalidateICache(func.stubAddr, 8); - return; - } u32 error; for (auto mod = loadedModules.begin(), modend = loadedModules.end(); mod != modend; ++mod) { @@ -607,6 +600,14 @@ void ImportFuncSymbol(const FuncSymbolImport &func) { } } + // Prioritize HLE implementations. + // TODO: Or not? + if (FuncImportIsSyscall(func.moduleName, func.nid)) { + WriteSyscall(func.moduleName, func.nid, func.stubAddr); + currentMIPS->InvalidateICache(func.stubAddr, 8); + return; + } + // It hasn't been exported yet, but hopefully it will later. if (GetModuleIndex(func.moduleName) != -1) { WARN_LOG_REPORT(LOADER, "Unknown syscall in known module: %s 0x%08x", func.moduleName, func.nid); @@ -620,8 +621,8 @@ void ImportFuncSymbol(const FuncSymbolImport &func) { void ExportFuncSymbol(const FuncSymbolExport &func) { if (FuncImportIsSyscall(func.moduleName, func.nid)) { // Oops, HLE covers this. - WARN_LOG_REPORT(LOADER, "Ignoring func export %s/%08x, already implemented in HLE.", func.moduleName, func.nid); - return; + WARN_LOG_REPORT(LOADER, "Func export %s/%08x override implemented in HLE.", func.moduleName, func.nid); + //return; } u32 error; @@ -645,7 +646,7 @@ void ExportFuncSymbol(const FuncSymbolExport &func) { void UnexportFuncSymbol(const FuncSymbolExport &func) { if (FuncImportIsSyscall(func.moduleName, func.nid)) { // Oops, HLE covers this. - return; + //return; } u32 error; diff --git a/Core/HLE/sceReg.cpp b/Core/HLE/sceReg.cpp index 31359a12680e..22949ba25ba0 100644 --- a/Core/HLE/sceReg.cpp +++ b/Core/HLE/sceReg.cpp @@ -23,10 +23,10 @@ typedef struct { char value[32]; }SCEREG_OBJ; -std::map scereg_objects; -IniFile iniFile; +static std::map scereg_objects; +static IniFile iniFile; -static const char registry_name[] = "registry.txt"; +static std::string registry_name; static int scereg_id; static int scereg_load; static int scereg_open; @@ -35,6 +35,9 @@ static int scereg_open; void __RegInit() { + std::string tmp = "flash0:/registry.txt"; + pspFileSystem.GetHostPath(tmp, registry_name); + scereg_id = 1; scereg_load = 0; scereg_open = 0; @@ -57,7 +60,7 @@ void __RegDoState(PointerWrap &p) p.DoMarker("sceReg"); if(scereg_open){ - iniFile.Load(registry_name); + iniFile.Load(registry_name.c_str()); scereg_load = 1; } } @@ -187,8 +190,8 @@ int sceRegOpenRegistry(u32 reg_ptr, int mode, u32 h_ptr) INFO_LOG(HLE, "sceRegOpenRegistry()"); if(scereg_load==0){ - if (!iniFile.Load(registry_name)) { - ERROR_LOG(HLE, "sceRegOpenRegistry: Failed to read %s", registry_name); + if (!iniFile.Load(registry_name.c_str())) { + ERROR_LOG(HLE, "sceRegOpenRegistry: Failed to read %s", registry_name.c_str()); return -1; } scereg_load = 1; @@ -365,4 +368,5 @@ const HLEFunction sceReg[] = { void Register_sceReg() { RegisterModule("sceReg", ARRAY_SIZE(sceReg), sceReg); -} \ No newline at end of file +} + diff --git a/flash0/registry.txt b/flash0/registry.txt new file mode 100644 index 000000000000..c4dfc9dfedc9 --- /dev/null +++ b/flash0/registry.txt @@ -0,0 +1,754 @@ + +[/] + + + + + +[/REGISTRY] + category_version = 102 + +[/SYSPROFILE] + sound_reduction = 0 + + +[/SYSPROFILE/RESOLUTION] + horizontal = 8210 + vertical = 8210 + +[/CONFIG] +