diff --git a/Core/HLE/sceHttp.cpp b/Core/HLE/sceHttp.cpp index ffc1205528..7b3a2ba83e 100644 --- a/Core/HLE/sceHttp.cpp +++ b/Core/HLE/sceHttp.cpp @@ -25,8 +25,7 @@ 0x19155a2f sceSircsEnd 0x71eef62d sceSircsSend */ -const HLEFunction sceHttp[] = -{ +const HLEFunction sceHttp[] = { {0xd70d4847,0,"sceHttpGetProxy"}, {0x4cc7d78f,0,"sceHttpGetStatusCode"}, {0xedeeb999,0,"sceHttpReadData"}, @@ -75,6 +74,10 @@ const HLEFunction sceHttp[] = {0xDB266CCF,0,"sceHttpGetAllHeader"}, {0x68AB0F86,0,"sceHttpsInitWithPath"}, {0xB3FAF831,0,"sceHttpsDisableOption"}, + {0x2255551E,0,"sceHttpGetNetworkPspError"}, + {0xAB1540D5,0,"sceHttpsGetSslError"}, + {0xA4496DE5,0,"sceHttpSetRedirectCallback"}, + {0x0282A3BD,0,"sceHttpGetContentLength"}, }; void Register_sceHttp() diff --git a/Core/HLE/sceKernel.cpp b/Core/HLE/sceKernel.cpp index a27973bb5c..a62f0a4cd9 100644 --- a/Core/HLE/sceKernel.cpp +++ b/Core/HLE/sceKernel.cpp @@ -52,6 +52,7 @@ #include "sceKernelVTimer.h" #include "sceKernelTime.h" #include "sceMpeg.h" +#include "sceNet.h" #include "scePower.h" #include "sceUtility.h" #include "sceUmd.h" @@ -109,6 +110,7 @@ void __KernelInit() __ImposeInit(); __UsbInit(); __FontInit(); + __NetInit(); SaveState::Init(); // Must be after IO, as it may create a directory @@ -131,6 +133,7 @@ void __KernelShutdown() hleCurrentThreadName = NULL; kernelObjects.Clear(); + __NetShutdown(); __FontShutdown(); __MpegShutdown(); @@ -194,6 +197,9 @@ void __KernelDoState(PointerWrap &p) __UsbDoState(p); __PPGeDoState(p); + + // Didn't feel like breaking save states right now for this. Next time you have to change something, uncomment. + // __NetDoState(p); __InterruptsDoStateLate(p); __KernelThreadingDoStateLate(p); diff --git a/Core/HLE/sceKernelModule.cpp b/Core/HLE/sceKernelModule.cpp index 33a0844dc2..9b0e71f2b0 100644 --- a/Core/HLE/sceKernelModule.cpp +++ b/Core/HLE/sceKernelModule.cpp @@ -19,6 +19,7 @@ #include #include "HLE.h" +#include "Core/Reporting.h" #include "Common/FileUtil.h" #include "../Host.h" #include "../MIPS/MIPS.h" @@ -272,8 +273,9 @@ Module *__KernelLoadELFFromPtr(const u8 *ptr, u32 loadAddress, std::string *erro newptr = new u8[head->elf_size + head->psp_size]; ptr = newptr; int ret = pspDecryptPRX(in, (u8*)ptr, head->psp_size); - if (ret == MISSING_KEY) - { + if (ret == MISSING_KEY) { + // This should happen for all "kernel" modules so disabling. + // Reporting::ReportMessage("Missing PRX decryption key!"); *error_string = "Missing key"; delete [] newptr; module->isFake = true; @@ -285,6 +287,7 @@ Module *__KernelLoadELFFromPtr(const u8 *ptr, u32 loadAddress, std::string *erro else if (ret <= 0) { ERROR_LOG(HLE, "Failed decrypting PRX! That's not normal!\n"); + Reporting::ReportMessage("Failed decrypting the PRX (size = %i, psp_size = %i)!", head->elf_size, head->psp_size); } } @@ -292,8 +295,8 @@ Module *__KernelLoadELFFromPtr(const u8 *ptr, u32 loadAddress, std::string *erro { ERROR_LOG(HLE, "Wrong magic number %08x",*(u32*)ptr); *error_string = "File corrupt"; - if (newptr) - { + Reporting::ReportMessage("Wrong ELF magic number %08x", *(u32*)ptr); + if (newptr) { delete [] newptr; } kernelObjects.Destroy(module->GetUID()); diff --git a/Core/HLE/sceNet.cpp b/Core/HLE/sceNet.cpp index 5a7ece5785..21a1c9ba78 100644 --- a/Core/HLE/sceNet.cpp +++ b/Core/HLE/sceNet.cpp @@ -239,7 +239,9 @@ const HLEFunction sceNetInet[] = {0xfaabb1dd, 0, "sceNetInetPoll"}, {0x1BDF5D13, 0, "sceNetInetInetAton"}, {0x80A21ABD, 0, "sceNetInetSocketAbort"}, + {0x805502DD, 0, "sceNetInetCloseWithRST"}, }; + const HLEFunction sceNetApctl[] = { {0xCFB957C6, 0, "sceNetApctlConnect"},