From e24e0a629154a8ed352a9ee0f5300f6c645795db Mon Sep 17 00:00:00 2001 From: Alberto Fustinoni Date: Tue, 21 Mar 2017 10:04:14 +0900 Subject: [PATCH 1/2] Added vs2017 solution --- .gitignore | 4 + libretro/msvc/msvc-2017.sln | 22 ++ libretro/msvc/msvc-2017/libretro.def | 27 ++ libretro/msvc/msvc-2017/msvc-2017.vcxproj | 153 +++++++++++ .../msvc/msvc-2017/msvc-2017.vcxproj.filters | 241 ++++++++++++++++++ 5 files changed, 447 insertions(+) create mode 100644 libretro/msvc/msvc-2017.sln create mode 100644 libretro/msvc/msvc-2017/libretro.def create mode 100644 libretro/msvc/msvc-2017/msvc-2017.vcxproj create mode 100644 libretro/msvc/msvc-2017/msvc-2017.vcxproj.filters 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 From fb7a0859948c03f78c697ccfe0ed44fecad50f5f Mon Sep 17 00:00:00 2001 From: Alberto Fustinoni Date: Tue, 21 Mar 2017 10:52:23 +0900 Subject: [PATCH 2/2] VS compatibility edits --- core/macros.h | 7 +++++++ core/vdp_ctrl.c | 8 ++++---- core/vdp_render.c | 2 +- libretro/msvc/msvc-2017/libretro.def | 2 +- libretro/msvc/msvc-2017/msvc-2017.vcxproj | 3 ++- libretro/msvc/msvc-2017/msvc-2017.vcxproj.user | 6 ++++++ 6 files changed, 21 insertions(+), 7 deletions(-) create mode 100644 libretro/msvc/msvc-2017/msvc-2017.vcxproj.user diff --git a/core/macros.h b/core/macros.h index 6e5f4f7..6f8969f 100644 --- a/core/macros.h +++ b/core/macros.h @@ -46,4 +46,11 @@ #define INLINE static __inline__ #endif /* INLINE */ +/* Alignment macros for cross compiler compatibility */ +#if defined(_MSC_VER) +#define ALIGNED_(x) __declspec(align(x)) +#elif defined(__GNUC__) +#define ALIGNED_(x) __attribute__ ((aligned(x))) +#endif + #endif /* _MACROS_H_ */ diff --git a/core/vdp_ctrl.c b/core/vdp_ctrl.c index ce8b1a1..9b12347 100644 --- a/core/vdp_ctrl.c +++ b/core/vdp_ctrl.c @@ -54,10 +54,10 @@ } /* VDP context */ -uint8 sat[0x400] __attribute__((aligned(4))); /* Internal copy of sprite attribute table */ -uint8 vram[0x10000] __attribute__((aligned(4))); /* Video RAM (64K x 8-bit) */ -uint8 cram[0x80] __attribute__((aligned(4))); /* On-chip color RAM (64 x 9-bit) */ -uint8 vsram[0x80] __attribute__((aligned(4))); /* On-chip vertical scroll RAM (40 x 11-bit) */ +uint8 ALIGNED_(4) sat[0x400]; /* Internal copy of sprite attribute table */ +uint8 ALIGNED_(4) vram[0x10000]; /* Video RAM (64K x 8-bit) */ +uint8 ALIGNED_(4) cram[0x80]; /* On-chip color RAM (64 x 9-bit) */ +uint8 ALIGNED_(4) vsram[0x80]; /* On-chip vertical scroll RAM (40 x 11-bit) */ uint8 reg[0x20]; /* Internal VDP registers (23 x 8-bit) */ uint8 hint_pending; /* 0= Line interrupt is pending */ uint8 vint_pending; /* 1= Frame interrupt is pending */ diff --git a/core/vdp_render.c b/core/vdp_render.c index c9493b3..c4a1876 100644 --- a/core/vdp_render.c +++ b/core/vdp_render.c @@ -553,7 +553,7 @@ static const uint32 tms_palette[16] = #endif /* Cached and flipped patterns */ -static uint8 bg_pattern_cache[0x80000] __attribute__((aligned(4))); +static uint8 ALIGNED_(4) bg_pattern_cache[0x80000]; /* Sprite pattern name offset look-up table (Mode 5) */ static uint8 name_lut[0x400]; diff --git a/libretro/msvc/msvc-2017/libretro.def b/libretro/msvc/msvc-2017/libretro.def index 70f6699..5bd0bf5 100644 --- a/libretro/msvc/msvc-2017/libretro.def +++ b/libretro/msvc/msvc-2017/libretro.def @@ -1,4 +1,4 @@ -LIBRARY "msvc-2010" +LIBRARY "msvc-2017" EXPORTS retro_set_environment retro_set_video_refresh diff --git a/libretro/msvc/msvc-2017/msvc-2017.vcxproj b/libretro/msvc/msvc-2017/msvc-2017.vcxproj index 9d34b88..4adcd75 100644 --- a/libretro/msvc/msvc-2017/msvc-2017.vcxproj +++ b/libretro/msvc/msvc-2017/msvc-2017.vcxproj @@ -30,6 +30,7 @@ + @@ -37,7 +38,7 @@ - + diff --git a/libretro/msvc/msvc-2017/msvc-2017.vcxproj.user b/libretro/msvc/msvc-2017/msvc-2017.vcxproj.user new file mode 100644 index 0000000..0b0f24d --- /dev/null +++ b/libretro/msvc/msvc-2017/msvc-2017.vcxproj.user @@ -0,0 +1,6 @@ + + + + true + + \ No newline at end of file