diff --git a/Source/Core/Core/CMakeLists.txt b/Source/Core/Core/CMakeLists.txt
index 4c31353f8b..d2a9f50fc6 100644
--- a/Source/Core/Core/CMakeLists.txt
+++ b/Source/Core/Core/CMakeLists.txt
@@ -148,10 +148,12 @@ set(SRCS ActionReplay.cpp
IOS/FS/FS.cpp
IOS/Network/Config.cpp
IOS/Network/ICMPLin.cpp
- IOS/Network/NWC24Config.cpp
IOS/Network/Socket.cpp
IOS/Network/Net.cpp
IOS/Network/SSL.cpp
+ IOS/Network/KD/NetKDRequest.cpp
+ IOS/Network/KD/NetKDTime.cpp
+ IOS/Network/KD/NWC24Config.cpp
IOS/SDIO/SDIOSlot0.cpp
IOS/STM/STM.cpp
IOS/USB/Common.cpp
diff --git a/Source/Core/Core/Core.vcxproj b/Source/Core/Core/Core.vcxproj
index 60a6de3fd5..6e87990bb8 100644
--- a/Source/Core/Core/Core.vcxproj
+++ b/Source/Core/Core/Core.vcxproj
@@ -180,10 +180,12 @@
-
+
+
+
@@ -417,11 +419,13 @@
-
+
+
+
diff --git a/Source/Core/Core/Core.vcxproj.filters b/Source/Core/Core/Core.vcxproj.filters
index b96b206c0f..5597349a1a 100644
--- a/Source/Core/Core/Core.vcxproj.filters
+++ b/Source/Core/Core/Core.vcxproj.filters
@@ -127,6 +127,9 @@
{ab9cdd90-54d7-4f42-9248-d7903ce52cc8}
+
+ {165768ae-ee50-4789-8051-5c5b7023fa4b}
+
{3db8c364-1d72-4660-9179-86d1c46904b9}
@@ -758,18 +761,24 @@
IOS\Network
-
- IOS\Network
-
-
- IOS\SDIO
-
IOS\Network
IOS\Network
+
+ IOS\Network\KD
+
+
+ IOS\Network\KD
+
+
+ IOS\Network\KD
+
+
+ IOS\SDIO
+
IOS\STM
@@ -1344,30 +1353,36 @@
IOS\USB\Bluetooth
+
+ IOS\USB\Bluetooth
+
IOS\Network
IOS\Network
-
- IOS\USB\Bluetooth
-
IOS\Network
-
- IOS\Network
-
-
- IOS\SDIO
-
IOS\Network
IOS\Network
+
+ IOS\Network\KD
+
+
+ IOS\Network\KD
+
+
+ IOS\Network\KD
+
+
+ IOS\SDIO
+
IOS\STM
diff --git a/Source/Core/Core/IOS/IPC.cpp b/Source/Core/Core/IOS/IPC.cpp
index 903d586d96..acda13e05f 100644
--- a/Source/Core/Core/IOS/IPC.cpp
+++ b/Source/Core/Core/IOS/IPC.cpp
@@ -16,6 +16,8 @@
// Ioctlv: Depends on the handler
// Replies may be sent immediately or asynchronously for ioctls and ioctlvs.
+#include "Core/IOS/IPC.h"
+
#include
#include
#include
@@ -41,8 +43,9 @@
#include "Core/IOS/ES/ES.h"
#include "Core/IOS/FS/FS.h"
#include "Core/IOS/FS/FileIO.h"
-#include "Core/IOS/IPC.h"
#include "Core/IOS/MIOS.h"
+#include "Core/IOS/Network/KD/NetKDRequest.h"
+#include "Core/IOS/Network/KD/NetKDTime.h"
#include "Core/IOS/Network/Net.h"
#include "Core/IOS/Network/SSL.h"
#include "Core/IOS/Network/Socket.h"
diff --git a/Source/Core/Core/IOS/Network/NWC24Config.cpp b/Source/Core/Core/IOS/Network/KD/NWC24Config.cpp
similarity index 98%
rename from Source/Core/Core/IOS/Network/NWC24Config.cpp
rename to Source/Core/Core/IOS/Network/KD/NWC24Config.cpp
index 6cfb374898..4492f22443 100644
--- a/Source/Core/Core/IOS/Network/NWC24Config.cpp
+++ b/Source/Core/Core/IOS/Network/KD/NWC24Config.cpp
@@ -2,7 +2,7 @@
// Licensed under GPLv2+
// Refer to the license.txt file included.
-#include "Core/IOS/Network/NWC24Config.h"
+#include "Core/IOS/Network/KD/NWC24Config.h"
#include
diff --git a/Source/Core/Core/IOS/Network/NWC24Config.h b/Source/Core/Core/IOS/Network/KD/NWC24Config.h
similarity index 100%
rename from Source/Core/Core/IOS/Network/NWC24Config.h
rename to Source/Core/Core/IOS/Network/KD/NWC24Config.h
diff --git a/Source/Core/Core/IOS/Network/KD/NetKDRequest.cpp b/Source/Core/Core/IOS/Network/KD/NetKDRequest.cpp
new file mode 100644
index 0000000000..4bdd738c51
--- /dev/null
+++ b/Source/Core/Core/IOS/Network/KD/NetKDRequest.cpp
@@ -0,0 +1,246 @@
+// Copyright 2017 Dolphin Emulator Project
+// Licensed under GPLv2+
+// Refer to the license.txt file included.
+
+#include "Core/IOS/Network/KD/NetKDRequest.h"
+
+#include