diff --git a/desmume/src/frontend/windows/DeSmuME.sln b/desmume/src/frontend/windows/DeSmuME.sln
index 4a4bc4704..95688a0bc 100644
--- a/desmume/src/frontend/windows/DeSmuME.sln
+++ b/desmume/src/frontend/windows/DeSmuME.sln
@@ -1,9 +1,11 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-VisualStudioVersion = 14.0.24720.0
+# Visual Studio 15
+VisualStudioVersion = 15.0.28307.539
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DeSmuME", "DeSmuME.vcxproj", "{9F5F72A1-D3A5-4918-B460-E076B16D10A9}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DesHawk", "DeSmuME.vcxproj", "{9F5F72A1-D3A5-4918-B460-E076B16D10A9}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DeSmuME", "DesHawk.vcxproj", "{3350F0F2-408E-4DBC-A4F5-D4A7DA5E693F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -33,8 +35,27 @@ Global
{9F5F72A1-D3A5-4918-B460-E076B16D10A9}.Release|x64.Build.0 = Release|x64
{9F5F72A1-D3A5-4918-B460-E076B16D10A9}.Release|x86.ActiveCfg = Release|Win32
{9F5F72A1-D3A5-4918-B460-E076B16D10A9}.Release|x86.Build.0 = Release|Win32
+ {3350F0F2-408E-4DBC-A4F5-D4A7DA5E693F}.Debug|x64.ActiveCfg = Debug|x64
+ {3350F0F2-408E-4DBC-A4F5-D4A7DA5E693F}.Debug|x64.Build.0 = Debug|x64
+ {3350F0F2-408E-4DBC-A4F5-D4A7DA5E693F}.Debug|x86.ActiveCfg = Debug|Win32
+ {3350F0F2-408E-4DBC-A4F5-D4A7DA5E693F}.Debug|x86.Build.0 = Debug|Win32
+ {3350F0F2-408E-4DBC-A4F5-D4A7DA5E693F}.Dev+|x64.ActiveCfg = Dev+|x64
+ {3350F0F2-408E-4DBC-A4F5-D4A7DA5E693F}.Dev+|x64.Build.0 = Dev+|x64
+ {3350F0F2-408E-4DBC-A4F5-D4A7DA5E693F}.Dev+|x86.ActiveCfg = Dev+|Win32
+ {3350F0F2-408E-4DBC-A4F5-D4A7DA5E693F}.Dev+|x86.Build.0 = Dev+|Win32
+ {3350F0F2-408E-4DBC-A4F5-D4A7DA5E693F}.Release Fastbuild|x64.ActiveCfg = Release Fastbuild|x64
+ {3350F0F2-408E-4DBC-A4F5-D4A7DA5E693F}.Release Fastbuild|x64.Build.0 = Release Fastbuild|x64
+ {3350F0F2-408E-4DBC-A4F5-D4A7DA5E693F}.Release Fastbuild|x86.ActiveCfg = Release Fastbuild|Win32
+ {3350F0F2-408E-4DBC-A4F5-D4A7DA5E693F}.Release Fastbuild|x86.Build.0 = Release Fastbuild|Win32
+ {3350F0F2-408E-4DBC-A4F5-D4A7DA5E693F}.Release|x64.ActiveCfg = Release|x64
+ {3350F0F2-408E-4DBC-A4F5-D4A7DA5E693F}.Release|x64.Build.0 = Release|x64
+ {3350F0F2-408E-4DBC-A4F5-D4A7DA5E693F}.Release|x86.ActiveCfg = Release|Win32
+ {3350F0F2-408E-4DBC-A4F5-D4A7DA5E693F}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {09F8EE85-303A-49FE-ABD5-A445F623DDC8}
+ EndGlobalSection
EndGlobal
diff --git a/desmume/src/frontend/windows/DeSmuME.vcxproj b/desmume/src/frontend/windows/DeSmuME.vcxproj
index fc22e4fec..be5647b9b 100644
--- a/desmume/src/frontend/windows/DeSmuME.vcxproj
+++ b/desmume/src/frontend/windows/DeSmuME.vcxproj
@@ -35,7 +35,7 @@
- DeSmuME
+ DesHawk
{9F5F72A1-D3A5-4918-B460-E076B16D10A9}
DeSmuME
x64
@@ -44,7 +44,7 @@
10.0
- 8.1
+ 7.0
@@ -58,6 +58,9 @@
v140_xp
+
+ DynamicLibrary
+
@@ -67,6 +70,10 @@
+
+ .dll
+ $(SolutionDir).obj\DesHawk\$(NDS_VisualStudioName)-$(Platform)-$(Configuration)\
+
true
@@ -87,6 +94,11 @@
true
+
+
+ $(OutDir)$(TargetName)$(TargetExt)
+
+
diff --git a/desmume/src/frontend/windows/DesHawk.vcxproj b/desmume/src/frontend/windows/DesHawk.vcxproj
new file mode 100644
index 000000000..0482de28d
--- /dev/null
+++ b/desmume/src/frontend/windows/DesHawk.vcxproj
@@ -0,0 +1,797 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Dev+
+ Win32
+
+
+ Dev+
+ x64
+
+
+ Release Fastbuild
+ Win32
+
+
+ Release Fastbuild
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ DeSmuME
+ {3350F0F2-408E-4DBC-A4F5-D4A7DA5E693F}
+ DeSmuME
+ x64
+
+
+ 10.0
+
+
+ 8.1
+
+
+
+
+
+ v142
+
+
+ v141_xp
+
+
+ v140_xp
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+ true
+
+
+
+
+ true
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ call un7z_and_touch.bat directx\directx.7z .libs\directx*
+
+ 7z.exe;un7z_and_touch.bat;%(AdditionalInputs)
+ .libs\directx.tag;%(Outputs)
+ call un7z_and_touch.bat directx\directx.7z .libs\directx*
+
+ 7z.exe;un7z_and_touch.bat;%(AdditionalInputs)
+ .libs\directx.tag;%(Outputs)
+ call un7z_and_touch.bat directx\directx.7z .libs\directx*
+
+ 7z.exe;un7z_and_touch.bat;%(AdditionalInputs)
+ .libs\directx.tag;%(Outputs)
+ call un7z_and_touch.bat directx\directx.7z .libs\directx*
+
+ call un7z_and_touch.bat directx\directx.7z .libs\directx*
+
+ 7z.exe;un7z_and_touch.bat;%(AdditionalInputs)
+ 7z.exe;un7z_and_touch.bat;%(AdditionalInputs)
+ .libs\directx.tag;%(Outputs)
+ .libs\directx.tag;%(Outputs)
+ call un7z_and_touch.bat directx\directx.7z .libs\directx*
+
+ call un7z_and_touch.bat directx\directx.7z .libs\directx*
+
+ 7z.exe;un7z_and_touch.bat;%(AdditionalInputs)
+ 7z.exe;un7z_and_touch.bat;%(AdditionalInputs)
+ .libs\directx.tag;%(Outputs)
+ .libs\directx.tag;%(Outputs)
+
+
+ call un7z_and_touch.bat lua\lua.7z .libs\win32\lua* .libs\x64\lua* .libs\lua.tag
+ 7z.exe;un7z_and_touch.bat
+ .libs\lua.tag;
+ call un7z_and_touch.bat lua\lua.7z .libs\win32\lua* .libs\x64\lua* .libs\lua.tag
+ 7z.exe;un7z_and_touch.bat
+ .libs\lua.tag;
+ call un7z_and_touch.bat lua\lua.7z .libs\win32\lua* .libs\x64\lua* .libs\lua.tag
+ 7z.exe;un7z_and_touch.bat
+ .libs\lua.tag;
+ call un7z_and_touch.bat lua\lua.7z .libs\win32\lua* .libs\x64\lua* .libs\lua.tag
+ call un7z_and_touch.bat lua\lua.7z .libs\win32\lua* .libs\x64\lua* .libs\lua.tag
+ 7z.exe;un7z_and_touch.bat
+ 7z.exe;un7z_and_touch.bat
+ .libs\lua.tag;
+ .libs\lua.tag;
+ call un7z_and_touch.bat lua\lua.7z .libs\win32\lua* .libs\x64\lua* .libs\lua.tag
+ call un7z_and_touch.bat lua\lua.7z .libs\win32\lua* .libs\x64\lua* .libs\lua.tag
+ 7z.exe;un7z_and_touch.bat
+ 7z.exe;un7z_and_touch.bat
+ .libs\lua.tag;
+ .libs\lua.tag;
+ call un7z_and_touch.bat lua\lua.7z .libs\win32\lua* .libs\x64\lua* .libs\lua.tag
+ .libs\lua.tag;
+ 7z.exe;un7z_and_touch.bat
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file