diff --git a/CMakeLists.txt b/CMakeLists.txt
index e520e72672..c3a72c6424 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1237,6 +1237,8 @@ add_library(${CoreLibName} ${CoreLinkType}
Core/HLE/sceRtc.h
Core/HLE/sceSas.cpp
Core/HLE/sceSas.h
+ Core/HLE/sceSha256.cpp
+ Core/HLE/sceSha256.h
Core/HLE/sceSsl.cpp
Core/HLE/sceSsl.h
Core/HLE/sceUmd.cpp
diff --git a/Core/Core.vcxproj b/Core/Core.vcxproj
index 533175a228..9a21fede5a 100644
--- a/Core/Core.vcxproj
+++ b/Core/Core.vcxproj
@@ -258,6 +258,7 @@
+
@@ -551,6 +552,7 @@
+
diff --git a/Core/Core.vcxproj.filters b/Core/Core.vcxproj.filters
index 915ae6c43d..f699198e8b 100644
--- a/Core/Core.vcxproj.filters
+++ b/Core/Core.vcxproj.filters
@@ -556,6 +556,9 @@
Ext\udis86
+
+ HLE\Libraries
+
@@ -1026,6 +1029,9 @@
Ext\udis86
+
+ HLE\Libraries
+
diff --git a/Core/HLE/HLETables.cpp b/Core/HLE/HLETables.cpp
index 6beff72a77..bba5b44d19 100644
--- a/Core/HLE/HLETables.cpp
+++ b/Core/HLE/HLETables.cpp
@@ -69,6 +69,7 @@
#include "sceVaudio.h"
#include "sceMt19937.h"
#include "sceUsbGps.h"
+#include "sceSha256.h"
#define N(s) s
@@ -330,5 +331,6 @@ void RegisterAllModules() {
Register_sceMpegbase();
Register_sceUsbGps();
Register_sceLibFttt();
+ Register_sceSha256();
}
diff --git a/Core/HLE/sceSha256.cpp b/Core/HLE/sceSha256.cpp
new file mode 100644
index 0000000000..f8be4d2637
--- /dev/null
+++ b/Core/HLE/sceSha256.cpp
@@ -0,0 +1,35 @@
+// Copyright (c) 2012- PPSSPP Project.
+
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, version 2.0 or later versions.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License 2.0 for more details.
+
+// A copy of the GPL 2.0 should have been included with the program.
+// If not, see http://www.gnu.org/licenses/
+
+// Official git repository and contact information can be found at
+// https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/.
+
+#include "Core/HLE/HLE.h"
+#include "Core/HLE/FunctionWrappers.h"
+#include "Core/HLE/sceSha256.h"
+
+int sceSha256_unknow(u32 unknow1, int unknow2, u32 unknow3) {
+ ERROR_LOG(HLE, "UNIMPL sceSha256_unknow (%08x,%08x,%08x)", unknow1, unknow2, unknow3);
+ return 0;
+}
+
+const HLEFunction sceSha256[] =
+{
+ { 0x318A350C, WrapI_UIU, "sceSha256_unknow" },
+};
+
+void Register_sceSha256()
+{
+ RegisterModule("sceSha256", ARRAY_SIZE(sceSha256), sceSha256);
+}
diff --git a/Core/HLE/sceSha256.h b/Core/HLE/sceSha256.h
new file mode 100644
index 0000000000..eefb687f48
--- /dev/null
+++ b/Core/HLE/sceSha256.h
@@ -0,0 +1,20 @@
+// Copyright (c) 2012- PPSSPP Project.
+
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, version 2.0 or later versions.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License 2.0 for more details.
+
+// A copy of the GPL 2.0 should have been included with the program.
+// If not, see http://www.gnu.org/licenses/
+
+// Official git repository and contact information can be found at
+// https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/.
+
+#pragma once
+
+void Register_sceSha256();
diff --git a/android/jni/Android.mk b/android/jni/Android.mk
index 8dbbfe2e94..3fa42bc185 100644
--- a/android/jni/Android.mk
+++ b/android/jni/Android.mk
@@ -263,6 +263,7 @@ EXEC_AND_LIB_FILES := \
$(SRC)/Core/HLE/sceRtc.cpp \
$(SRC)/Core/HLE/scePsmf.cpp \
$(SRC)/Core/HLE/sceSas.cpp \
+ $(SRC)/Core/HLE/sceSha256.cpp \
$(SRC)/Core/HLE/sceSsl.cpp \
$(SRC)/Core/HLE/sceUmd.cpp \
$(SRC)/Core/HLE/sceUsb.cpp \