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