diff --git a/libretro/msvc/msvc-2010.sln b/libretro/msvc/msvc-2010.sln
index a876749d..eaee6faf 100644
--- a/libretro/msvc/msvc-2010.sln
+++ b/libretro/msvc/msvc-2010.sln
@@ -6,13 +6,19 @@ EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{5BDB0E63-AD88-4547-BF48-169312DDD188}.Debug|Win32.ActiveCfg = Debug|Win32
{5BDB0E63-AD88-4547-BF48-169312DDD188}.Debug|Win32.Build.0 = Debug|Win32
+ {5BDB0E63-AD88-4547-BF48-169312DDD188}.Debug|x64.ActiveCfg = Debug|x64
+ {5BDB0E63-AD88-4547-BF48-169312DDD188}.Debug|x64.Build.0 = Debug|x64
{5BDB0E63-AD88-4547-BF48-169312DDD188}.Release|Win32.ActiveCfg = Release|Win32
{5BDB0E63-AD88-4547-BF48-169312DDD188}.Release|Win32.Build.0 = Release|Win32
+ {5BDB0E63-AD88-4547-BF48-169312DDD188}.Release|x64.ActiveCfg = Release|x64
+ {5BDB0E63-AD88-4547-BF48-169312DDD188}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/libretro/msvc/msvc-2010/msvc-2010.vcxproj b/libretro/msvc/msvc-2010/msvc-2010.vcxproj
index 86d556b5..b495e27d 100644
--- a/libretro/msvc/msvc-2010/msvc-2010.vcxproj
+++ b/libretro/msvc/msvc-2010/msvc-2010.vcxproj
@@ -5,10 +5,18 @@
Debug
Win32
+
+ Debug
+ x64
+
Release
Win32
+
+ Release
+ x64
+
{5BDB0E63-AD88-4547-BF48-169312DDD188}
@@ -21,38 +29,74 @@
true
Unicode
+
+ DynamicLibrary
+ true
+ Unicode
+
DynamicLibrary
false
true
Unicode
+
+ DynamicLibrary
+ false
+ Unicode
+
+
+
+
+
+
+
true
$(SolutionDir)msvc-2010\$(Configuration)\
+
+ true
+
false
- $(SolutionDir)msvc-2010\$(Configuration)\
+
+
+ false
-
-
+ NotUsing
Level3
Disabled
- WIN32;_DEBUG;_WINDOWS;_USRDLL;MSVC2010_EXPORTS;%(PreprocessorDefinitions);RIGHTSHIFT_IS_SAR;__LIBRETRO__;__WIN32__;_CRT_SECURE_NO_WARNINGS
+ WIN32;_DEBUG;_WINDOWS;_USRDLL;MSVC2010_EXPORTS;%(PreprocessorDefinitions);RIGHTSHIFT_IS_SAR;__LIBRETRO__;__WIN32__;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS
$(SolutionDir)\..\..\;$(SolutionDir)\..\..\..\;$(SolutionDir)\..\..\apu\bapu\;%(AdditionalIncludeDirectories)
+ MultiThreadedDebug
+
+
+ Windows
+ true
+ libretro.def
+
+
+
+
+ NotUsing
+ Level3
+ Disabled
+ WIN32;_DEBUG;_WINDOWS;_USRDLL;MSVC2010_EXPORTS;%(PreprocessorDefinitions);RIGHTSHIFT_IS_SAR;__LIBRETRO__;__WIN32__;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS
+ $(SolutionDir)\..\..\;$(SolutionDir)\..\..\..\;$(SolutionDir)\..\..\apu\bapu\;%(AdditionalIncludeDirectories)
+ MultiThreadedDebug
Windows
@@ -63,13 +107,36 @@
Level3
-
-
+ NotUsing
MaxSpeed
true
true
- WIN32;NDEBUG;_WINDOWS;_USRDLL;MSVC2010_EXPORTS;%(PreprocessorDefinitions);RIGHTSHIFT_IS_SAR;__LIBRETRO__;__WIN32__;_CRT_SECURE_NO_WARNINGS
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;MSVC2010_EXPORTS;%(PreprocessorDefinitions);RIGHTSHIFT_IS_SAR;__LIBRETRO__;__WIN32__;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS
$(SolutionDir)\..\..\;$(SolutionDir)\..\..\..\;$(SolutionDir)\..\..\apu\bapu\;%(AdditionalIncludeDirectories)
+ MultiThreaded
+ false
+ Fast
+
+
+ Windows
+ true
+ true
+ true
+ libretro.def
+
+
+
+
+ Level3
+ NotUsing
+ Full
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;MSVC2010_EXPORTS;%(PreprocessorDefinitions);RIGHTSHIFT_IS_SAR;__LIBRETRO__;__WIN32__;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS
+ $(SolutionDir)\..\..\;$(SolutionDir)\..\..\..\;$(SolutionDir)\..\..\apu\bapu\;%(AdditionalIncludeDirectories)
+ MultiThreaded
+ false
+ Fast
Windows
@@ -82,7 +149,6 @@
-
@@ -105,6 +171,7 @@
+
@@ -113,11 +180,13 @@
+
+
@@ -140,4 +209,4 @@
-
+
\ No newline at end of file
diff --git a/libretro/msvc/msvc-2010/msvc-2010.vcxproj.filters b/libretro/msvc/msvc-2010/msvc-2010.vcxproj.filters
index 63f876f7..074dfd5e 100644
--- a/libretro/msvc/msvc-2010/msvc-2010.vcxproj.filters
+++ b/libretro/msvc/msvc-2010/msvc-2010.vcxproj.filters
@@ -28,26 +28,11 @@
{161f54ee-3443-4972-afe1-b1931c65570b}
+
+ {d3b4403f-ab8a-4462-984b-4c490fa5d2c4}
+
-
- Source Files\libretro
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
Source Files
@@ -198,5 +183,29 @@
Source Files
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files\apu
+
+
+ Source Files\apu\bapu\dsp
+
+
+ Source Files\apu\bapu\smp
+
+
+ Source Files\apu\bapu\smp
+
+
+ Source Files\filter
+
+
+ Source Files\libretro
+
-
+
\ No newline at end of file
diff --git a/libretro/msvc/msvc-2017.sln b/libretro/msvc/msvc-2017.sln
new file mode 100644
index 00000000..706d3ebf
--- /dev/null
+++ b/libretro/msvc/msvc-2017.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.27428.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "msvc-2017", "msvc-2017\msvc-2017.vcxproj", "{5BDB0E63-AD88-4547-BF48-169312DDD188}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {5BDB0E63-AD88-4547-BF48-169312DDD188}.Debug|Win32.ActiveCfg = Debug|Win32
+ {5BDB0E63-AD88-4547-BF48-169312DDD188}.Debug|Win32.Build.0 = Debug|Win32
+ {5BDB0E63-AD88-4547-BF48-169312DDD188}.Debug|x64.ActiveCfg = Debug|x64
+ {5BDB0E63-AD88-4547-BF48-169312DDD188}.Debug|x64.Build.0 = Debug|x64
+ {5BDB0E63-AD88-4547-BF48-169312DDD188}.Release|Win32.ActiveCfg = Release|Win32
+ {5BDB0E63-AD88-4547-BF48-169312DDD188}.Release|Win32.Build.0 = Release|Win32
+ {5BDB0E63-AD88-4547-BF48-169312DDD188}.Release|x64.ActiveCfg = Release|x64
+ {5BDB0E63-AD88-4547-BF48-169312DDD188}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {13DC0902-73A8-4AE3-9731-56AC7B8F3ED6}
+ EndGlobalSection
+EndGlobal
diff --git a/libretro/msvc/msvc-2017/libretro.def b/libretro/msvc/msvc-2017/libretro.def
new file mode 100644
index 00000000..5bd0bf52
--- /dev/null
+++ b/libretro/msvc/msvc-2017/libretro.def
@@ -0,0 +1,27 @@
+LIBRARY "msvc-2017"
+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 00000000..d5582456
--- /dev/null
+++ b/libretro/msvc/msvc-2017/msvc-2017.vcxproj
@@ -0,0 +1,221 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {5BDB0E63-AD88-4547-BF48-169312DDD188}
+ Win32Proj
+ msvc2010
+ 8.1
+
+
+
+ DynamicLibrary
+ true
+ Unicode
+ v141_xp
+
+
+ DynamicLibrary
+ true
+ Unicode
+ v141
+
+
+ DynamicLibrary
+ false
+ true
+ Unicode
+ v141_xp
+
+
+ DynamicLibrary
+ false
+ Unicode
+ v141
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ $(SolutionDir)msvc-2010\$(Configuration)\
+
+
+ true
+
+
+ false
+
+
+ false
+
+
+
+ NotUsing
+ Level3
+ Disabled
+ WIN32;_DEBUG;_WINDOWS;_USRDLL;MSVC2010_EXPORTS;%(PreprocessorDefinitions);RIGHTSHIFT_IS_SAR;__LIBRETRO__;__WIN32__;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS
+ $(SolutionDir)\..\..\;$(SolutionDir)\..\..\..\;$(SolutionDir)\..\..\apu\bapu\;%(AdditionalIncludeDirectories)
+ MultiThreadedDebug
+ /utf-8 %(AdditionalOptions)
+
+
+ Windows
+ true
+ libretro.def
+
+
+
+
+ NotUsing
+ Level3
+ Disabled
+ WIN32;_DEBUG;_WINDOWS;_USRDLL;MSVC2010_EXPORTS;%(PreprocessorDefinitions);RIGHTSHIFT_IS_SAR;__LIBRETRO__;__WIN32__;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS
+ $(SolutionDir)\..\..\;$(SolutionDir)\..\..\..\;$(SolutionDir)\..\..\apu\bapu\;%(AdditionalIncludeDirectories)
+ MultiThreadedDebug
+ /utf-8 %(AdditionalOptions)
+
+
+ Windows
+ true
+ libretro.def
+
+
+
+
+ Level3
+ NotUsing
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;MSVC2010_EXPORTS;%(PreprocessorDefinitions);RIGHTSHIFT_IS_SAR;__LIBRETRO__;__WIN32__;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS
+ $(SolutionDir)\..\..\;$(SolutionDir)\..\..\..\;$(SolutionDir)\..\..\apu\bapu\;%(AdditionalIncludeDirectories)
+ MultiThreaded
+ false
+ Fast
+ /utf-8 %(AdditionalOptions)
+
+
+ Windows
+ true
+ true
+ true
+ libretro.def
+
+
+
+
+ Level3
+ NotUsing
+ Full
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;MSVC2010_EXPORTS;%(PreprocessorDefinitions);RIGHTSHIFT_IS_SAR;__LIBRETRO__;__WIN32__;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS
+ $(SolutionDir)\..\..\;$(SolutionDir)\..\..\..\;$(SolutionDir)\..\..\apu\bapu\;%(AdditionalIncludeDirectories)
+ MultiThreaded
+ false
+ Fast
+ /utf-8 %(AdditionalOptions)
+
+
+ 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 00000000..074dfd5e
--- /dev/null
+++ b/libretro/msvc/msvc-2017/msvc-2017.vcxproj.filters
@@ -0,0 +1,211 @@
+
+
+
+
+ {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
+
+
+ {7722f8be-0c98-4fd5-a919-d642e2bae1ce}
+
+
+ {effa9675-f3f1-4f4e-a39c-171182a225b8}
+
+
+ {e6d15138-760b-4651-ac48-7eaab1f67fec}
+
+
+ {57cbef14-a9d6-45dd-9d6b-338d7b63a520}
+
+
+ {161f54ee-3443-4972-afe1-b1931c65570b}
+
+
+ {d3b4403f-ab8a-4462-984b-4c490fa5d2c4}
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files\apu
+
+
+ Source Files\apu\bapu\dsp
+
+
+ Source Files\apu\bapu\smp
+
+
+ Source Files\apu\bapu\smp
+
+
+ Source Files\filter
+
+
+ Source Files\libretro
+
+
+
\ No newline at end of file