diff --git a/Source/Core/Core/Boot/Boot.cpp b/Source/Core/Core/Boot/Boot.cpp
index 575b9c307f..0e65566688 100644
--- a/Source/Core/Core/Boot/Boot.cpp
+++ b/Source/Core/Core/Boot/Boot.cpp
@@ -23,7 +23,7 @@
#include "Core/Debugger/Debugger_SymbolMap.h"
#include "Core/GeckoCode.h"
#include "Core/HLE/HLE.h"
-#include "Core/HW/DVDInterface.h"
+#include "Core/HW/DVD/DVDInterface.h"
#include "Core/HW/EXI/EXI_DeviceIPL.h"
#include "Core/HW/Memmap.h"
#include "Core/HW/VideoInterface.h"
diff --git a/Source/Core/Core/Boot/Boot_BS2Emu.cpp b/Source/Core/Core/Boot/Boot_BS2Emu.cpp
index caba5422f1..a5c6c94189 100644
--- a/Source/Core/Core/Boot/Boot_BS2Emu.cpp
+++ b/Source/Core/Core/Boot/Boot_BS2Emu.cpp
@@ -18,7 +18,7 @@
#include "Core/ConfigManager.h"
#include "Core/Core.h"
#include "Core/HLE/HLE.h"
-#include "Core/HW/DVDInterface.h"
+#include "Core/HW/DVD/DVDInterface.h"
#include "Core/HW/EXI/EXI_DeviceIPL.h"
#include "Core/HW/Memmap.h"
#include "Core/IOS/ES/ES.h"
diff --git a/Source/Core/Core/CMakeLists.txt b/Source/Core/Core/CMakeLists.txt
index f5d6699324..cc4b66a290 100644
--- a/Source/Core/Core/CMakeLists.txt
+++ b/Source/Core/Core/CMakeLists.txt
@@ -8,7 +8,6 @@ set(SRCS
CoreTiming.cpp
DSPEmulator.cpp
ec_wii.cpp
- FileMonitor.cpp
GeckoCodeConfig.cpp
GeckoCode.cpp
HotkeyManager.cpp
@@ -90,8 +89,9 @@ set(SRCS
HW/DSPLLE/DSPLLEGlobals.cpp
HW/DSPLLE/DSPLLE.cpp
HW/DSPLLE/DSPLLETools.cpp
- HW/DVDInterface.cpp
- HW/DVDThread.cpp
+ HW/DVD/DVDInterface.cpp
+ HW/DVD/DVDThread.cpp
+ HW/DVD/FileMonitor.cpp
HW/EXI/EXI_Channel.cpp
HW/EXI/EXI.cpp
HW/EXI/EXI_Device.cpp
diff --git a/Source/Core/Core/ConfigManager.cpp b/Source/Core/Core/ConfigManager.cpp
index 6d87bab40e..bfc2745969 100644
--- a/Source/Core/Core/ConfigManager.cpp
+++ b/Source/Core/Core/ConfigManager.cpp
@@ -24,8 +24,8 @@
#include "Core/Core.h"
#include "Core/FifoPlayer/FifoDataFile.h"
#include "Core/HLE/HLE.h"
-#include "Core/HW/DVDInterface.h"
-#include "Core/HW/DVDThread.h"
+#include "Core/HW/DVD/DVDInterface.h"
+#include "Core/HW/DVD/DVDThread.h"
#include "Core/HW/SI/SI.h"
#include "Core/IOS/ES/Formats.h"
#include "Core/IOS/USB/Bluetooth/BTBase.h"
diff --git a/Source/Core/Core/Core.vcxproj b/Source/Core/Core/Core.vcxproj
index 69a7f542bf..0c4234cdb7 100644
--- a/Source/Core/Core/Core.vcxproj
+++ b/Source/Core/Core/Core.vcxproj
@@ -89,7 +89,6 @@
-
@@ -115,8 +114,9 @@
-
-
+
+
+
@@ -341,7 +341,6 @@
-
@@ -369,8 +368,9 @@
-
-
+
+
+
diff --git a/Source/Core/Core/Core.vcxproj.filters b/Source/Core/Core/Core.vcxproj.filters
index ca147279eb..6deff72abd 100644
--- a/Source/Core/Core/Core.vcxproj.filters
+++ b/Source/Core/Core/Core.vcxproj.filters
@@ -281,9 +281,6 @@
FifoPlayer
-
- FileMonitor
-
GeckoCode
@@ -347,10 +344,13 @@
HW %28Flipper/Hollywood%29\AI - Audio Interface
-
+
HW %28Flipper/Hollywood%29\DI - Drive Interface
-
+
+ HW %28Flipper/Hollywood%29\DI - Drive Interface
+
+
HW %28Flipper/Hollywood%29\DI - Drive Interface
@@ -964,9 +964,6 @@
FifoPlayer
-
- FileMonitor
-
GeckoCode
@@ -1003,12 +1000,15 @@
HW %28Flipper/Hollywood%29\AI - Audio Interface
-
+
HW %28Flipper/Hollywood%29\DI - Drive Interface
-
+
HW %28Flipper/Hollywood%29\DI - Drive Interface
+
+ HW %28Flipper/Hollywood%29\DI - Drive Interface
+
HW %28Flipper/Hollywood%29\DSP Interface + HLE\HLE\uCodes
diff --git a/Source/Core/Core/HW/DVDInterface.cpp b/Source/Core/Core/HW/DVD/DVDInterface.cpp
similarity index 99%
rename from Source/Core/Core/HW/DVDInterface.cpp
rename to Source/Core/Core/HW/DVD/DVDInterface.cpp
index d49865267c..9f52a34c5b 100644
--- a/Source/Core/Core/HW/DVDInterface.cpp
+++ b/Source/Core/Core/HW/DVD/DVDInterface.cpp
@@ -17,10 +17,10 @@
#include "Core/ConfigManager.h"
#include "Core/Core.h"
#include "Core/CoreTiming.h"
-#include "Core/FileMonitor.h"
#include "Core/HW/AudioInterface.h"
-#include "Core/HW/DVDInterface.h"
-#include "Core/HW/DVDThread.h"
+#include "Core/HW/DVD/DVDInterface.h"
+#include "Core/HW/DVD/DVDThread.h"
+#include "Core/HW/DVD/FileMonitor.h"
#include "Core/HW/MMIO.h"
#include "Core/HW/Memmap.h"
#include "Core/HW/ProcessorInterface.h"
diff --git a/Source/Core/Core/HW/DVDInterface.h b/Source/Core/Core/HW/DVD/DVDInterface.h
similarity index 100%
rename from Source/Core/Core/HW/DVDInterface.h
rename to Source/Core/Core/HW/DVD/DVDInterface.h
diff --git a/Source/Core/Core/HW/DVDThread.cpp b/Source/Core/Core/HW/DVD/DVDThread.cpp
similarity index 98%
rename from Source/Core/Core/HW/DVDThread.cpp
rename to Source/Core/Core/HW/DVD/DVDThread.cpp
index bbb930f043..8bd0ccf5cd 100644
--- a/Source/Core/Core/HW/DVDThread.cpp
+++ b/Source/Core/Core/HW/DVD/DVDThread.cpp
@@ -21,9 +21,9 @@
#include "Core/Core.h"
#include "Core/CoreTiming.h"
-#include "Core/FileMonitor.h"
-#include "Core/HW/DVDInterface.h"
-#include "Core/HW/DVDThread.h"
+#include "Core/HW/DVD/DVDInterface.h"
+#include "Core/HW/DVD/DVDThread.h"
+#include "Core/HW/DVD/FileMonitor.h"
#include "Core/HW/Memmap.h"
#include "Core/HW/SystemTimers.h"
diff --git a/Source/Core/Core/HW/DVDThread.h b/Source/Core/Core/HW/DVD/DVDThread.h
similarity index 100%
rename from Source/Core/Core/HW/DVDThread.h
rename to Source/Core/Core/HW/DVD/DVDThread.h
diff --git a/Source/Core/Core/FileMonitor.cpp b/Source/Core/Core/HW/DVD/FileMonitor.cpp
similarity index 98%
rename from Source/Core/Core/FileMonitor.cpp
rename to Source/Core/Core/HW/DVD/FileMonitor.cpp
index bb223cc578..93449abce3 100644
--- a/Source/Core/Core/FileMonitor.cpp
+++ b/Source/Core/Core/HW/DVD/FileMonitor.cpp
@@ -2,7 +2,7 @@
// Licensed under GPLv2+
// Refer to the license.txt file included.
-#include "Core/FileMonitor.h"
+#include "Core/HW/DVD/FileMonitor.h"
#include
#include
diff --git a/Source/Core/Core/FileMonitor.h b/Source/Core/Core/HW/DVD/FileMonitor.h
similarity index 100%
rename from Source/Core/Core/FileMonitor.h
rename to Source/Core/Core/HW/DVD/FileMonitor.h
diff --git a/Source/Core/Core/HW/HW.cpp b/Source/Core/Core/HW/HW.cpp
index cbb297cf39..b388d72889 100644
--- a/Source/Core/Core/HW/HW.cpp
+++ b/Source/Core/Core/HW/HW.cpp
@@ -11,7 +11,7 @@
#include "Core/HW/AudioInterface.h"
#include "Core/HW/CPU.h"
#include "Core/HW/DSP.h"
-#include "Core/HW/DVDInterface.h"
+#include "Core/HW/DVD/DVDInterface.h"
#include "Core/HW/EXI/EXI.h"
#include "Core/HW/GPFifo.h"
#include "Core/HW/HW.h"
diff --git a/Source/Core/Core/HW/Memmap.cpp b/Source/Core/Core/HW/Memmap.cpp
index cff92dea1b..452f198884 100644
--- a/Source/Core/Core/HW/Memmap.cpp
+++ b/Source/Core/Core/HW/Memmap.cpp
@@ -18,7 +18,7 @@
#include "Core/ConfigManager.h"
#include "Core/HW/AudioInterface.h"
#include "Core/HW/DSP.h"
-#include "Core/HW/DVDInterface.h"
+#include "Core/HW/DVD/DVDInterface.h"
#include "Core/HW/EXI/EXI.h"
#include "Core/HW/MMIO.h"
#include "Core/HW/Memmap.h"
diff --git a/Source/Core/Core/IOS/DI/DI.cpp b/Source/Core/Core/IOS/DI/DI.cpp
index 4dc743b81c..639038b565 100644
--- a/Source/Core/Core/IOS/DI/DI.cpp
+++ b/Source/Core/Core/IOS/DI/DI.cpp
@@ -11,7 +11,7 @@
#include "Common/CommonTypes.h"
#include "Common/Logging/Log.h"
#include "Common/MsgHandler.h"
-#include "Core/HW/DVDInterface.h"
+#include "Core/HW/DVD/DVDInterface.h"
#include "Core/HW/Memmap.h"
#include "Core/IOS/DI/DI.h"
#include "Core/IOS/ES/ES.h"
diff --git a/Source/Core/Core/IOS/MIOS.cpp b/Source/Core/Core/IOS/MIOS.cpp
index a7e51f51fe..aad859a0ef 100644
--- a/Source/Core/Core/IOS/MIOS.cpp
+++ b/Source/Core/Core/IOS/MIOS.cpp
@@ -18,8 +18,8 @@
#include "Core/DSPEmulator.h"
#include "Core/HLE/HLE.h"
#include "Core/HW/DSP.h"
-#include "Core/HW/DVDInterface.h"
-#include "Core/HW/DVDThread.h"
+#include "Core/HW/DVD/DVDInterface.h"
+#include "Core/HW/DVD/DVDThread.h"
#include "Core/HW/Memmap.h"
#include "Core/HW/SystemTimers.h"
#include "Core/IOS/ES/Formats.h"
diff --git a/Source/Core/Core/IOS/WFS/WFSSRV.cpp b/Source/Core/Core/IOS/WFS/WFSSRV.cpp
index 1c22e23b93..74a67bff2f 100644
--- a/Source/Core/Core/IOS/WFS/WFSSRV.cpp
+++ b/Source/Core/Core/IOS/WFS/WFSSRV.cpp
@@ -11,7 +11,6 @@
#include "Common/FileUtil.h"
#include "Common/Logging/Log.h"
#include "Common/NandPaths.h"
-#include "Core/HW/DVDInterface.h"
#include "Core/HW/Memmap.h"
namespace IOS
diff --git a/Source/Core/Core/Movie.cpp b/Source/Core/Core/Movie.cpp
index 1c22b8340a..b0de9e3faa 100644
--- a/Source/Core/Core/Movie.cpp
+++ b/Source/Core/Core/Movie.cpp
@@ -25,7 +25,7 @@
#include "Core/CoreTiming.h"
#include "Core/DSP/DSPCore.h"
#include "Core/HW/CPU.h"
-#include "Core/HW/DVDInterface.h"
+#include "Core/HW/DVD/DVDInterface.h"
#include "Core/HW/EXI/EXI_DeviceIPL.h"
#include "Core/HW/ProcessorInterface.h"
#include "Core/HW/SI/SI.h"
diff --git a/Source/Core/DolphinWX/Frame.cpp b/Source/Core/DolphinWX/Frame.cpp
index 845839e046..a62134b8ab 100644
--- a/Source/Core/DolphinWX/Frame.cpp
+++ b/Source/Core/DolphinWX/Frame.cpp
@@ -43,7 +43,7 @@
#include "Core/ConfigManager.h"
#include "Core/Core.h"
-#include "Core/HW/DVDInterface.h"
+#include "Core/HW/DVD/DVDInterface.h"
#include "Core/HW/GCKeyboard.h"
#include "Core/HW/GCPad.h"
#include "Core/HW/Wiimote.h"
diff --git a/Source/Core/DolphinWX/FrameTools.cpp b/Source/Core/DolphinWX/FrameTools.cpp
index 151c8fc02b..58986f4fe0 100644
--- a/Source/Core/DolphinWX/FrameTools.cpp
+++ b/Source/Core/DolphinWX/FrameTools.cpp
@@ -33,7 +33,7 @@
#include "Core/ConfigManager.h"
#include "Core/Core.h"
#include "Core/HW/CPU.h"
-#include "Core/HW/DVDInterface.h"
+#include "Core/HW/DVD/DVDInterface.h"
#include "Core/HW/GCKeyboard.h"
#include "Core/HW/GCPad.h"
#include "Core/HW/ProcessorInterface.h"
diff --git a/Source/Core/DolphinWX/GameListCtrl.cpp b/Source/Core/DolphinWX/GameListCtrl.cpp
index 625ee8e09b..01861cd7f7 100644
--- a/Source/Core/DolphinWX/GameListCtrl.cpp
+++ b/Source/Core/DolphinWX/GameListCtrl.cpp
@@ -47,7 +47,7 @@
#include "Core/Boot/Boot.h"
#include "Core/ConfigManager.h"
#include "Core/Core.h"
-#include "Core/HW/DVDInterface.h"
+#include "Core/HW/DVD/DVDInterface.h"
#include "Core/HW/WiiSaveCrypted.h"
#include "Core/Movie.h"
#include "DiscIO/Blob.h"