diff --git a/desmume/src/frontend/interface/windows/7z.dll b/desmume/src/frontend/interface/windows/7z.dll
new file mode 100644
index 000000000..95093da8a
Binary files /dev/null and b/desmume/src/frontend/interface/windows/7z.dll differ
diff --git a/desmume/src/frontend/interface/windows/7z.exe b/desmume/src/frontend/interface/windows/7z.exe
new file mode 100644
index 000000000..789d08922
Binary files /dev/null and b/desmume/src/frontend/interface/windows/7z.exe differ
diff --git a/desmume/src/frontend/interface/windows/DeSmuME_Interface-user.props.template b/desmume/src/frontend/interface/windows/DeSmuME_Interface-user.props.template
new file mode 100644
index 000000000..bd59064d1
--- /dev/null
+++ b/desmume/src/frontend/interface/windows/DeSmuME_Interface-user.props.template
@@ -0,0 +1,14 @@
+
+
+
+
+
+
diff --git a/desmume/src/frontend/interface/windows/DeSmuME_Interface.sln b/desmume/src/frontend/interface/windows/DeSmuME_Interface.sln
new file mode 100644
index 000000000..2eb1dd72e
--- /dev/null
+++ b/desmume/src/frontend/interface/windows/DeSmuME_Interface.sln
@@ -0,0 +1,40 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.24720.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DeSmuME Interface", "DeSmuME_Interface.vcxproj", "{9F5F72A1-D3A5-4918-B460-E076B16D10A9}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Dev+|x64 = Dev+|x64
+ Dev+|x86 = Dev+|x86
+ Release Fastbuild|x64 = Release Fastbuild|x64
+ Release Fastbuild|x86 = Release Fastbuild|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {9F5F72A1-D3A5-4918-B460-E076B16D10A9}.Debug|x64.ActiveCfg = Debug|x64
+ {9F5F72A1-D3A5-4918-B460-E076B16D10A9}.Debug|x64.Build.0 = Debug|x64
+ {9F5F72A1-D3A5-4918-B460-E076B16D10A9}.Debug|x86.ActiveCfg = Debug|Win32
+ {9F5F72A1-D3A5-4918-B460-E076B16D10A9}.Debug|x86.Build.0 = Debug|Win32
+ {9F5F72A1-D3A5-4918-B460-E076B16D10A9}.Dev+|x64.ActiveCfg = Dev+|x64
+ {9F5F72A1-D3A5-4918-B460-E076B16D10A9}.Dev+|x64.Build.0 = Dev+|x64
+ {9F5F72A1-D3A5-4918-B460-E076B16D10A9}.Dev+|x86.ActiveCfg = Dev+|Win32
+ {9F5F72A1-D3A5-4918-B460-E076B16D10A9}.Dev+|x86.Build.0 = Dev+|Win32
+ {9F5F72A1-D3A5-4918-B460-E076B16D10A9}.Release Fastbuild|x64.ActiveCfg = Release Fastbuild|x64
+ {9F5F72A1-D3A5-4918-B460-E076B16D10A9}.Release Fastbuild|x64.Build.0 = Release Fastbuild|x64
+ {9F5F72A1-D3A5-4918-B460-E076B16D10A9}.Release Fastbuild|x86.ActiveCfg = Release Fastbuild|Win32
+ {9F5F72A1-D3A5-4918-B460-E076B16D10A9}.Release Fastbuild|x86.Build.0 = Release Fastbuild|Win32
+ {9F5F72A1-D3A5-4918-B460-E076B16D10A9}.Release|x64.ActiveCfg = Release|x64
+ {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
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/desmume/src/frontend/interface/windows/DeSmuME_Interface.vcxproj b/desmume/src/frontend/interface/windows/DeSmuME_Interface.vcxproj
new file mode 100644
index 000000000..76202ca9d
--- /dev/null
+++ b/desmume/src/frontend/interface/windows/DeSmuME_Interface.vcxproj
@@ -0,0 +1,525 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Dev+
+ Win32
+
+
+ Dev+
+ x64
+
+
+ Release Fastbuild
+ Win32
+
+
+ Release Fastbuild
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ DeSmuME Interface
+ {9F5F72A1-D3A5-4918-B460-E076B16D10A9}
+ DeSmuME
+ x64
+ DynamicLibrary
+
+
+ 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 ..\..\windows\un7z_and_touch.bat ..\..\windows\lua\lua.7z .libs\win32\lua* .libs\x64\lua* .libs\lua.tag
+ 7z.exe;..\..\windows\un7z_and_touch.bat
+ .libs\lua.tag;
+ call ..\..\windows\un7z_and_touch.bat ..\..\windows\lua\lua.7z .libs\win32\lua* .libs\x64\lua* .libs\lua.tag
+ 7z.exe;..\..\windows\un7z_and_touch.bat
+ .libs\lua.tag;
+ call ..\..\windows\un7z_and_touch.bat ..\..\windows\lua\lua.7z .libs\win32\lua* .libs\x64\lua* .libs\lua.tag
+ 7z.exe;..\..\windows\un7z_and_touch.bat
+ .libs\lua.tag;
+ call ..\..\windows\un7z_and_touch.bat ..\..\windows\lua\lua.7z .libs\win32\lua* .libs\x64\lua* .libs\lua.tag
+ call ..\..\windows\un7z_and_touch.bat ..\..\windows\lua\lua.7z .libs\win32\lua* .libs\x64\lua* .libs\lua.tag
+ 7z.exe;..\..\windows\un7z_and_touch.bat
+ 7z.exe;un7z_and_touch.bat
+ .libs\lua.tag;
+ .libs\lua.tag;
+ call ..\..\windows\un7z_and_touch.bat ..\..\windows\lua\lua.7z .libs\win32\lua* .libs\x64\lua* .libs\lua.tag
+ call ..\..\windows\un7z_and_touch.bat ..\..\windows\lua\lua.7z .libs\win32\lua* .libs\x64\lua* .libs\lua.tag
+ 7z.exe;..\..\windows\un7z_and_touch.bat
+ 7z.exe;un7z_and_touch.bat
+ .libs\lua.tag;
+ .libs\lua.tag;
+ call ..\..\windows\un7z_and_touch.bat ..\..\windows\lua\lua.7z .libs\win32\lua* .libs\x64\lua* .libs\lua.tag
+ .libs\lua.tag;
+ 7z.exe;..\..\windows\un7z_and_touch.bat
+
+
+
+
+
+
+
diff --git a/desmume/src/frontend/interface/windows/DeSmuME_Interface.vcxproj.filters b/desmume/src/frontend/interface/windows/DeSmuME_Interface.vcxproj.filters
new file mode 100755
index 000000000..9b9a86263
--- /dev/null
+++ b/desmume/src/frontend/interface/windows/DeSmuME_Interface.vcxproj.filters
@@ -0,0 +1,996 @@
+
+
+
+
+ {1761f316-4c22-4742-8f37-77ea008d2623}
+
+
+ {0c7156df-b4ef-4cd2-af76-6a6c1e66145a}
+
+
+ {9bac6bce-2c43-4ed8-bc81-139766c97d61}
+
+
+ {bf0f0a1c-c47b-485d-88ef-77ec60ed76d8}
+
+
+ {2fa3e628-6c05-4f93-8543-dc1737844f89}
+
+
+ {7f9106f6-6228-4333-bc30-f3aa42054661}
+
+
+ {96d6a2cc-95dd-4cff-aedb-a4fca349e03e}
+
+
+ {4081af90-0821-41a7-bfa5-a1ea2e2507b0}
+
+
+ {3d685b20-07d6-40cd-9698-092e3956a99b}
+
+
+ {f073b402-2ede-4541-ac04-8374eb50e6da}
+
+
+ {9f342479-151c-448b-b5a1-6bf96ec68e4a}
+
+
+ {0e38e634-1de6-4c6e-b1d4-8b3f9e77840a}
+
+
+ {2eba95b4-6c79-43a6-bc38-ae9ce1df54dd}
+
+
+ {3b540aa2-669b-494c-9181-9d7b38549d3a}
+
+
+ {c36360aa-3622-438e-9d70-18c859eaeb01}
+
+
+ {7038db37-0de1-4561-aec4-d628e1d31265}
+
+
+ {3b266419-458b-493d-9c55-5d5cc6b212ce}
+
+
+ {114f59af-a844-468a-9cb9-2f7faf861035}
+
+
+ {59d051e5-34eb-4b72-b6a1-7a893c6592e2}
+
+
+ {334a6ab8-9fe9-4577-983a-10f3b6fa95b9}
+
+
+ {23ac753a-66cd-40c8-92c3-90f145eaf022}
+
+
+ {18cba3ce-aaa6-441d-8111-408d0fcef7d2}
+
+
+ {15ea6bdf-cacd-4fcb-b2ed-5290b6f05007}
+
+
+ {53ec9c3c-7653-46ff-83a8-9590482bcf8b}
+
+
+ {a6e751df-3c94-41c0-96a1-5ca50d92b221}
+
+
+ {e51fc8a7-4240-4b5c-8c2a-86c30fef95c9}
+
+
+ {1b0f72b3-27d4-4d86-b253-eda5a3ebab7b}
+
+
+ {80fa193a-2814-401d-8a51-47c8d876eb8b}
+
+
+ {c751e37c-54da-44e2-9be8-0399cb02467a}
+
+
+ {6d47beab-6087-48e1-953d-f5da134a023a}
+
+
+ {faa7804e-deb3-482f-b348-921cb7dacca7}
+
+
+ {82c38db3-d06d-44b5-a9a4-be3c002d0db0}
+
+
+ {0d620905-0dcf-47a4-bac2-91f307aa9994}
+
+
+ {db5dc512-2b75-4476-8cac-75fd4acfd85f}
+
+
+ {f411c88e-4cf5-43ea-9af7-96030fbb4839}
+
+
+ {c3763fed-6836-4ede-be25-d6d35bbad418}
+
+
+ {e9278c1a-48ec-4783-9654-6ab297b919f1}
+
+
+ {bb85167f-f8b2-4eb9-b0f6-b32bb93f47fe}
+
+
+ {4f0d8122-63a5-4a52-b8b2-332850b3f0f4}
+
+
+ {e29895bf-f6e1-486e-814e-bdf2e1414599}
+
+
+
+
+ addons
+
+
+ addons
+
+
+ addons
+
+
+ addons
+
+
+ addons
+
+
+ utils
+
+
+ utils
+
+
+ utils
+
+
+ utils\decrypt
+
+
+ utils\decrypt
+
+
+ utils\decrypt
+
+
+ metaspu
+
+
+ metaspu
+
+
+ metaspu
+
+
+ metaspu\win32
+
+
+ metaspu\SoundTouch
+
+
+ metaspu\SoundTouch
+
+
+ metaspu\SoundTouch
+
+
+ metaspu\SoundTouch
+
+
+ metaspu\SoundTouch
+
+
+ metaspu\SoundTouch
+
+
+ metaspu\SoundTouch
+
+
+ metaspu\SoundTouch
+
+
+ metaspu\SoundTouch
+
+
+ metaspu\SoundTouch
+
+
+ metaspu\SoundTouch
+
+
+ addons
+
+
+ utils
+
+
+ addons
+
+
+ addons
+
+
+ addons
+
+
+ utils
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ addons
+
+
+ utils
+
+
+ utils
+
+
+ addons
+
+
+ utils\tinyxml
+
+
+ utils\tinyxml
+
+
+ utils\tinyxml
+
+
+ utils\tinyxml
+
+
+ filter
+
+
+ filter
+
+
+ filter
+
+
+ filter
+
+
+ filter
+
+
+ filter
+
+
+ filter
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\x86
+
+
+ utils\AsmJit\x86
+
+
+ utils\AsmJit\x86
+
+
+ utils\AsmJit\x86
+
+
+ utils\AsmJit\x86
+
+
+ utils\AsmJit\x86
+
+
+ utils\AsmJit\x86
+
+
+ utils\AsmJit\x86
+
+
+ utils\AsmJit\x86
+
+
+ utils\AsmJit\x86
+
+
+ addons
+
+
+ addons
+
+
+ addons
+
+
+ addons
+
+
+ utils
+
+
+ addons
+
+
+ addons
+
+
+ utils
+
+
+ addons
+
+
+ addons
+
+
+ filter
+
+
+ libretro-common\rthreads
+
+
+ frontend\modules
+
+
+ libretro-common\formats\png
+
+
+ libretro-common\formats\png
+
+
+ libretro-common\formats\bmp
+
+
+ libretro-common\file\nbio
+
+
+ libretro-common\compat
+
+
+ libretro-common\compat
+
+
+ libretro-common\compat
+
+
+ libretro-common\compat
+
+
+ libretro-common\compat
+
+
+ libretro-common\file
+
+
+ libretro-common\file
+
+
+ libretro-common\file
+
+
+ libretro-common\hash
+
+
+ libretro-common\rthreads
+
+
+ libretro-common\compat
+
+
+ libretro-common\include\streams
+
+
+ libretro-common\include\streams
+
+
+ libretro-common\file
+
+
+ libretro-common\lists
+
+
+ libretro-common\lists
+
+
+ libretro-common\lists
+
+
+ libretro-common\file
+
+
+ utils\colorspacehandler
+
+
+ filter
+
+
+ frontend\modules\osd\agg
+
+
+ frontend\modules\osd\agg
+
+
+ libretro-common\features
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ frontend\modules
+
+
+ libretro-common\encodings
+
+
+ utils\colorspacehandler
+
+
+ utils\colorspacehandler
+
+
+ utils\colorspacehandler
+
+
+ frontend\interface
+
+
+ frontend\interface
+
+
+ frontend\windows
+
+
+ filter
+
+
+ filter
+
+
+ frontend\windows
+
+
+ frontend\posix\shared
+
+
+ frontend\posix\shared
+
+
+
+
+ utils
+
+
+ utils
+
+
+ utils\decrypt
+
+
+ utils\decrypt
+
+
+ utils\decrypt
+
+
+ metaspu
+
+
+ metaspu
+
+
+ metaspu\win32
+
+
+ metaspu\SoundTouch
+
+
+ metaspu\SoundTouch
+
+
+ metaspu\SoundTouch
+
+
+ metaspu\SoundTouch
+
+
+ metaspu\SoundTouch
+
+
+ metaspu\SoundTouch
+
+
+ metaspu\SoundTouch
+
+
+ metaspu\SoundTouch
+
+
+ metaspu\SoundTouch
+
+
+ metaspu\SoundTouch
+
+
+ utils
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils\libfat
+
+
+ utils
+
+
+ utils
+
+
+ utils
+
+
+ utils\tinyxml
+
+
+ utils\tinyxml
+
+
+ utils\AsmJit
+
+
+ utils\AsmJit
+
+
+ utils\AsmJit
+
+
+ utils\AsmJit
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\core
+
+
+ utils\AsmJit\x86
+
+
+ utils\AsmJit\x86
+
+
+ utils\AsmJit\x86
+
+
+ utils\AsmJit\x86
+
+
+ utils\AsmJit\x86
+
+
+ utils\AsmJit\x86
+
+
+ utils\AsmJit\x86
+
+
+ utils\AsmJit\x86
+
+
+ utils\AsmJit\x86
+
+
+ utils\AsmJit\x86
+
+
+ utils
+
+
+ utils
+
+
+ utils\colorspacehandler
+
+
+ libretro-common\include\features
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ libretro-common\include
+
+
+ libretro-common\include\encodings
+
+
+ addons
+
+
+ addons
+
+
+ addons
+
+
+
+
+
+
+ utils
+
+
+ frontend\modules
+
+
+ frontend\modules\osd\agg
+
+
+ frontend\modules\osd\agg
+
+
+ frontend\modules\osd\agg
+
+
+ metaspu\SoundTouch
+
+
+ frontend\modules
+
+
+ libretro-common\include\compat
+
+
+ filter
+
+
+ libretro-common\include
+
+
+ filter
+
+
+ libretro-common\include
+
+
+ libretro-common\include
+
+
+ libretro-common\include\formats
+
+
+ libretro-common\include\formats
+
+
+ libretro-common\include\formats
+
+
+ libretro-common\include\rthreads
+
+
+ libretro-common\include\compat
+
+
+ utils\colorspacehandler
+
+
+ utils\colorspacehandler
+
+
+ utils\colorspacehandler
+
+
+ frontend\interface
+
+
+ frontend\windows
+
+
+ filter
+
+
+ filter
+
+
+ filter
+
+
+ filter
+
+
+ frontend\posix\shared
+
+
+ frontend\posix\shared
+
+
+
+
+ utils\AsmJit
+
+
+ frontend\modules\osd\agg
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/desmume/src/frontend/interface/windows/DeSmuME_Interface_Win32.manifest b/desmume/src/frontend/interface/windows/DeSmuME_Interface_Win32.manifest
new file mode 100644
index 000000000..68219a2af
--- /dev/null
+++ b/desmume/src/frontend/interface/windows/DeSmuME_Interface_Win32.manifest
@@ -0,0 +1,11 @@
+
+
+
+DeSmuME Interface
+
diff --git a/desmume/src/frontend/interface/windows/DeSmuME_Interface_x64.manifest b/desmume/src/frontend/interface/windows/DeSmuME_Interface_x64.manifest
new file mode 100644
index 000000000..a83ffb9f4
--- /dev/null
+++ b/desmume/src/frontend/interface/windows/DeSmuME_Interface_x64.manifest
@@ -0,0 +1,11 @@
+
+
+
+DeSmuME Interface
+
diff --git a/desmume/src/frontend/interface/windows/desmume.props b/desmume/src/frontend/interface/windows/desmume.props
new file mode 100644
index 000000000..2f6c7fe60
--- /dev/null
+++ b/desmume/src/frontend/interface/windows/desmume.props
@@ -0,0 +1,264 @@
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+ 10.0
+
+
+
+
+ 10
+ 11
+ 12
+ 14
+ 15
+ 16
+
+ VS2010
+ VS2015
+ VS2017
+ VS2019
+
+
+
+
+ Debug
+ Release
+ Fastbuild
+ Release
+
+
+
+
+ $(SolutionDir).obj\$(NDS_VisualStudioName)-$(Platform)-$(Configuration)\
+ $(SolutionDir)__bins\
+ $(ProjectName)-$(NDS_VisualStudioName)-$(Configuration)
+ $(ProjectName)-$(NDS_VisualStudioName)-x64-$(Configuration)
+ $(OutDir)$(TargetName).dll
+
+
+
+
+ true
+
+
+
+
+
+ $(MSBuildThisFileDirectory)DeSmuME_Interface-user.props
+ $(MSBuildThisFileDirectory)DeSmuME_Interface-user.props.template
+
+
+
+
+
+
+
+ 20
+ 0
+
+ 20
+
+ 20
+
+ 0
+
+ 20
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+ .;..\..;..\..\..;..\..\windows;..\..\windows\lua\include;.\SDL\include;glib-2.20.1\build;..\..\windows\zlib128;..\..\windows\zziplib;..\..\windows\winpcap;userconfig;..\..\windows\agg\include;..\..\windows\agg\examples;..\..\..\libretro-common\include;%(AdditionalIncludeDirectories)
+
+
+ TARGET_INTERFACE;WIN_EXPORT
+
+
+ _CRT_SECURE_NO_DEPRECATE;WIN32;HAVE_ZLIB_DEFLATE;HAVE_LIBZ;NOMINMAX;%(PreprocessorDefinitions)
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ RELEASE;NDEBUG;%(PreprocessorDefinitions)
+ FASTBUILD;RELEASE;NDEBUG;%(PreprocessorDefinitions)
+
+
+
+ true
+ false
+
+
+ Disabled
+ Full
+ Full
+ true
+ Fast
+ StreamingSIMDExtensions2
+
+
+ true
+ EnableFastChecks
+
+
+ false
+
+
+ true
+
+
+ Sync
+
+
+ Cdecl
+
+ MultiThreadedDebugDll
+ MultiThreadedDll
+
+
+
+ StreamingSIMDExtensions
+ StreamingSIMDExtensions2
+ StreamingSIMDExtensions3
+ AdvancedVectorExtensions
+ AdvancedVectorExtensions2
+ ENABLE_SSE=1;%(PreprocessorDefinitions)
+ ENABLE_SSE2=1;%(PreprocessorDefinitions)
+ ENABLE_SSE3=1;%(PreprocessorDefinitions)
+ ENABLE_SSSE3=1;%(PreprocessorDefinitions)
+ ENABLE_SSE4=1;%(PreprocessorDefinitions)
+ ENABLE_AVX=1;%(PreprocessorDefinitions)
+ ENABLE_AVX2=1;%(PreprocessorDefinitions)
+
+
+ DEVELOPER=1;%(PreprocessorDefinitions)
+ GDB_STUB=1;%(PreprocessorDefinitions)
+ EXPERIMENTAL_WIFI_COMM=1;%(PreprocessorDefinitions)
+
+
+ HAVE_LIBAGG=1;HAVE_JIT=1;HAVE_LUA=1;HAVE_GL_GL_H=1;%(PreprocessorDefinitions)
+
+
+
+
+ $(TargetPath)
+ $(IntDir)TargetName.pdb
+
+
+ ..\..\windows\zlib128;..\..\windows\agg;.libs;.libs\x64;.\SDL\lib\x64
+ zlib-vc8-x64.lib;agg-2.5-x64.lib;%(AdditionalDependencies)
+
+
+ ..\..\windows\zlib128;..\..\windows\agg;.libs;.libs\win32;.\SDL\lib\x86
+ zlib-vc8-Win32.lib;agg-2.5.lib;%(AdditionalDependencies)
+
+
+ legacy_stdio_definitions.lib;%(AdditionalDependencies)
+
+
+ SDLmain.lib;SDL.lib;lua51.lib;%(AdditionalDependencies)
+
+ vfw32.lib;winmm.lib;opengl32.lib;glu32.lib;ws2_32.lib;user32.lib;gdi32.lib;shell32.lib;comdlg32.lib;shlwapi.lib;comctl32.lib;%(AdditionalDependencies)
+
+ lua51.dll
+
+
+ true
+ true
+
+
+ UseLinkTimeCodeGeneration
+
+
+ Windows
+ false
+ true
+ MachineX64
+
+
+ false
+
+
+
+
+ DeSmuME_Interface_$(Platform).manifest;%(AdditionalManifestFiles)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ();
+ foreach( var item in ItemList )
+ {
+ //solve bug e.g. Checkbox.cpp vs CheckBox.cpp
+ var filename = item.GetMetadata("Filename").ToUpperInvariant();
+
+ //assign reused filenames to increasing numbers
+ //assign previously unused filenames to 0
+ int assignment = 0;
+ if(assignmentMap.TryGetValue(filename, out assignment))
+ assignmentMap[filename] = ++assignment;
+ else
+ assignmentMap[filename] = 0;
+
+ var thisFileOutdir = Path.Combine(OutputDir,assignment.ToString()) + "/"; //take care it ends in / so /Fo knows it's a directory and not a filename
+ item.SetMetadata( "ObjectFileName", thisFileOutdir );
+ }
+
+ OutputItemList = ItemList;
+ ItemList = new Microsoft.Build.Framework.ITaskItem[0];
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/desmume/src/frontend/interface/windows/touch.exe b/desmume/src/frontend/interface/windows/touch.exe
new file mode 100644
index 000000000..0666a1f62
Binary files /dev/null and b/desmume/src/frontend/interface/windows/touch.exe differ