diff --git a/.gitignore b/.gitignore
index d296741986..6641d0c2fb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,4 +12,3 @@ Debug
 Release
 ipch
 *.user
-*.filters
diff --git a/msvc/SSNES/SSNES/SSNES.vcxproj.filters b/msvc/SSNES/SSNES/SSNES.vcxproj.filters
new file mode 100644
index 0000000000..c7c8f3a0aa
--- /dev/null
+++ b/msvc/SSNES/SSNES/SSNES.vcxproj.filters
@@ -0,0 +1,288 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <ClCompile Include="..\..\..\gfx\ext_gfx.c">
+      <Filter>Sources\gfx</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\gfx\gfx_common.c">
+      <Filter>Sources\gfx</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\gfx\gl.c">
+      <Filter>Sources\gfx</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\gfx\sdl_gfx.c">
+      <Filter>Sources\gfx</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\gfx\sdlwrap.c">
+      <Filter>Sources\gfx</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\gfx\shader_cg.c">
+      <Filter>Sources\gfx</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\gfx\shader_glsl.c">
+      <Filter>Sources\gfx</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\audio\dsound.c">
+      <Filter>Sources\audio</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\audio\ext_audio.c">
+      <Filter>Sources\audio</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\audio\sdl_audio.c">
+      <Filter>Sources\audio</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\audio\xaudio.c">
+      <Filter>Sources\audio</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\audio\xaudio-c\xaudio-c.c">
+      <Filter>Sources\audio</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\input\dinput.c">
+      <Filter>Sources\input</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\input\sdl_input.c">
+      <Filter>Sources\input</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\autosave.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\audio\utils.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\bps.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\cheats.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\conf\config_file.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\driver.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\dynamic.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\record\ffemu.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\fifo_buffer.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\file.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\gfx\fonts.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\getopt.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\audio\hermite.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\gfx\image.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\message.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\movie.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\netplay.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\posix_string.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\gfx\py_state\py_state.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\rewind.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\screenshot.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\settings.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\sha256.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\gfx\snes_state.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\ssnes.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\strl.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\thread.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\ups.c">
+      <Filter>Sources\top</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\..\autosave.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\boolean.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\bps.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\cheats.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\config.def.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\config.features.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\conf\config_file.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\dynamic.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\record\ffemu.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\fifo_buffer.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\file.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\gfx\fonts.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\general.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\getopt_ssnes.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\gfx\gfx_common.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\gfx\gl_common.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\audio\hermite.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\gfx\image.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\libsnes.hpp">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\input\keysym.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\message.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\movie.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\msvc_compat.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\netplay.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\posix_string.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\gfx\py_state\py_state.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\rewind.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\screenshot.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\gfx\sdlwrap.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\sha256.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\gfx\shader_cg.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\gfx\shader_glsl.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\gfx\snes_state.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\audio\ext\ssnes_audio.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\input\ssnes_dinput.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\audio\ext\ssnes_dsp.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\input\ssnes_sdl_input.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\gfx\ext\ssnes_video.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\strl.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\thread.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\ups.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\audio\utils.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\audio\xaudio-c\xaudio-c.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\audio\xaudio-c\xaudio.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\driver.h">
+      <Filter>Headers</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <Filter Include="Headers">
+      <UniqueIdentifier>{28fed54e-87b3-4bc6-ae27-7cea25ef2e43}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Sources">
+      <UniqueIdentifier>{75ab8cb3-2b54-4d04-94b0-bbd92a445ee4}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Sources\gfx">
+      <UniqueIdentifier>{4482f76d-5312-4ffd-a97e-c1339ed6b43d}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Sources\audio">
+      <UniqueIdentifier>{0cc589b9-03ab-4f7a-a7f0-9a4e4f39139e}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Sources\top">
+      <UniqueIdentifier>{2ebd2975-3e8c-4be6-b8a5-b63185e39ef4}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Sources\input">
+      <UniqueIdentifier>{f5587648-1c52-408e-80de-effb813294f1}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+</Project>
\ No newline at end of file