diff --git a/.gitignore b/.gitignore
index 550058c..0fe81b9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,7 @@
+.vs/
+Debug/
+Release/
+
psp2/*.o
psp2/*.elf
psp2/*.velf
diff --git a/libretro/msvc/msvc-2017.sln b/libretro/msvc/msvc-2017.sln
new file mode 100644
index 0000000..19899a6
--- /dev/null
+++ b/libretro/msvc/msvc-2017.sln
@@ -0,0 +1,22 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.26228.9
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "msvc-2010", "msvc-2017\msvc-2017.vcxproj", "{29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x86 = Debug|x86
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}.Debug|x86.ActiveCfg = Debug|Win32
+ {29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}.Debug|x86.Build.0 = Debug|Win32
+ {29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}.Release|x86.ActiveCfg = Release|Win32
+ {29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/libretro/msvc/msvc-2017/libretro.def b/libretro/msvc/msvc-2017/libretro.def
new file mode 100644
index 0000000..70f6699
--- /dev/null
+++ b/libretro/msvc/msvc-2017/libretro.def
@@ -0,0 +1,27 @@
+LIBRARY "msvc-2010"
+EXPORTS
+retro_set_environment
+retro_set_video_refresh
+retro_set_audio_sample
+retro_set_audio_sample_batch
+retro_set_input_poll
+retro_set_input_state
+retro_init
+retro_deinit
+retro_api_version
+retro_get_system_info
+retro_get_system_av_info
+retro_set_controller_port_device
+retro_reset
+retro_run
+retro_serialize_size
+retro_serialize
+retro_unserialize
+retro_cheat_reset
+retro_cheat_set
+retro_load_game
+retro_load_game_special
+retro_unload_game
+retro_get_region
+retro_get_memory_data
+retro_get_memory_size
diff --git a/libretro/msvc/msvc-2017/msvc-2017.vcxproj b/libretro/msvc/msvc-2017/msvc-2017.vcxproj
new file mode 100644
index 0000000..9d34b88
--- /dev/null
+++ b/libretro/msvc/msvc-2017/msvc-2017.vcxproj
@@ -0,0 +1,153 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}
+ Win32Proj
+ msvc2017
+ msvc-2017
+ 10.0.14393.0
+
+
+
+ DynamicLibrary
+ true
+ Unicode
+ v141
+
+
+ DynamicLibrary
+ false
+ true
+ Unicode
+ v141
+
+
+
+
+
+
+
+
+
+
+
+
+ $(SolutionDir)msvc-2017\$(Configuration)\
+
+
+ $(SolutionDir)msvc-2017\$(Configuration)\
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_WINDOWS;_USRDLL;MSVC2017_EXPORTS;_CRT_SECURE_NO_WARNINGS;INLINE=static _inline;__inline__=_inline;__extension__=;LSB_FIRST;__LIBRETRO__;USE_16BPP_RENDERING;FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions);USE_LIBTREMOR;BYTE_ORDER=LITTLE_ENDIAN
+ $(SolutionDir)/../../core;$(SolutionDir)/../../utils/zlib;$(SolutionDir)/../../core/cart_hw/svp;$(SolutionDir)/../../libretro;$(SolutionDir)/../../core/m68k;$(SolutionDir)/../../core/z80;$(SolutionDir)/../../core/input_hw;$(SolutionDir)/../../core/cart_hw;$(SolutionDir)/../../core/sound;$(SolutionDir)/../../core/ntsc;$(SolutionDir)/../../core/cd_hw;%(AdditionalIncludeDirectories)
+
+
+ Windows
+ true
+ libretro.def
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;MSVC2017_EXPORTS;_CRT_SECURE_NO_WARNINGS;INLINE=static _inline;__inline__=_inline;__extension__=;LSB_FIRST;__LIBRETRO__;USE_16BPP_RENDERING;FRONTEND_SUPPORTS_RGB565;%(PreprocessorDefinitions);USE_LIBTREMOR;BYTE_ORDER=LITTLE_ENDIAN
+ $(SolutionDir)/../../core;$(SolutionDir)/../../utils/zlib;$(SolutionDir)/../../core/cart_hw/svp;$(SolutionDir)/../../libretro;$(SolutionDir)/../../core/m68k;$(SolutionDir)/../../core/z80;$(SolutionDir)/../../core/input_hw;$(SolutionDir)/../../core/cart_hw;$(SolutionDir)/../../core/sound;$(SolutionDir)/../../core/ntsc;$(SolutionDir)/../../core/cd_hw;%(AdditionalIncludeDirectories)
+
+
+ Windows
+ true
+ true
+ true
+ libretro.def
+
+
+
+
+
+
\ No newline at end of file
diff --git a/libretro/msvc/msvc-2017/msvc-2017.vcxproj.filters b/libretro/msvc/msvc-2017/msvc-2017.vcxproj.filters
new file mode 100644
index 0000000..32ee69b
--- /dev/null
+++ b/libretro/msvc/msvc-2017/msvc-2017.vcxproj.filters
@@ -0,0 +1,241 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+ {e0f9ca3b-df0f-4cf9-bde1-9fa3c945b0df}
+
+
+ {0605ef1a-d898-494c-a898-8f06000646ae}
+
+
+ {8b373848-96f7-4410-a466-5d7cb6866b0f}
+
+
+ {ea37a461-94f4-40e3-91a8-2b254b94f547}
+
+
+ {becebb08-7987-4fe3-8ee0-dd47889d4996}
+
+
+ {e66cf784-cb76-4a70-a2e0-327a3b4c96eb}
+
+
+ {39a1110f-2062-4e3c-9f43-aca63cc20cda}
+
+
+ {95e90e29-1915-4f70-b6e0-50b9dace48cf}
+
+
+ {eba4b43d-dbd8-4170-9853-e3234db6dfc0}
+
+
+ {c4a5e1da-1ff3-4c81-893c-97364ed7ed4b}
+
+
+
+
+ Source Files\cart_hw\svp
+
+
+ Source Files\cart_hw\svp
+
+
+ Source Files\cart_hw
+
+
+ Source Files\cart_hw
+
+
+ Source Files\cart_hw
+
+
+ Source Files\cart_hw
+
+
+ Source Files\cart_hw
+
+
+ Source Files\input_hw
+
+
+ Source Files\input_hw
+
+
+ Source Files\input_hw
+
+
+ Source Files\input_hw
+
+
+ Source Files\input_hw
+
+
+ Source Files\input_hw
+
+
+ Source Files\input_hw
+
+
+ Source Files\input_hw
+
+
+ Source Files\input_hw
+
+
+ Source Files\input_hw
+
+
+ Source Files\libretro
+
+
+ Source Files\m68k
+
+
+ Source Files\m68k
+
+
+ Source Files\ntsc
+
+
+ Source Files\ntsc
+
+
+ Source Files\sound
+
+
+ Source Files\sound
+
+
+ Source Files\sound
+
+
+ Source Files\sound
+
+
+ Source Files\sound
+
+
+ Source Files\z80
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files\cd_hw
+
+
+ Source Files\cd_hw
+
+
+ Source Files\cd_hw
+
+
+ Source Files\cd_hw
+
+
+ Source Files\cd_hw
+
+
+ Source Files\cd_hw
+
+
+ Source Files\libretro
+
+
+ Source Files\cart_hw
+
+
+ Source Files\cart_hw
+
+
+ Source Files\cart_hw
+
+
+ Source Files\sound
+
+
+ Source Files\tremor
+
+
+ Source Files\tremor
+
+
+ Source Files\tremor
+
+
+ Source Files\tremor
+
+
+ Source Files\tremor
+
+
+ Source Files\tremor
+
+
+ Source Files\tremor
+
+
+ Source Files\tremor
+
+
+ Source Files\tremor
+
+
+ Source Files\tremor
+
+
+ Source Files\tremor
+
+
+ Source Files\tremor
+
+
+ Source Files\tremor
+
+
+ Source Files\tremor
+
+
+ Source Files\tremor
+
+
+
\ No newline at end of file