From f27cc58f4b89ff14252b8995414b634f1f8982e9 Mon Sep 17 00:00:00 2001 From: oioitff Date: Sun, 3 Mar 2013 17:11:05 +0800 Subject: [PATCH] use module_start_func instead of entry_addr if entry_addr is 0 , this fixes Dissidia Final Fantasy 012. Maybe this is not a good fix. --- Core/HLE/sceKernelModule.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Core/HLE/sceKernelModule.cpp b/Core/HLE/sceKernelModule.cpp index 1846d22f4..97822c5a6 100644 --- a/Core/HLE/sceKernelModule.cpp +++ b/Core/HLE/sceKernelModule.cpp @@ -559,6 +559,10 @@ Module *__KernelLoadELFFromPtr(const u8 *ptr, u32 loadAddress, std::string *erro } module->nm.entry_addr = reader.GetEntryPoint(); + + // use module_start_func instead of entry_addr if entry_addr is 0 + if (module->nm.entry_addr == 0) + module->nm.entry_addr = module->nm.module_start_func; if (newptr) {