diff --git a/config.def.h b/config.def.h index b743428fda..22bcb73415 100644 --- a/config.def.h +++ b/config.def.h @@ -680,7 +680,7 @@ static const bool default_savefiles_in_content_dir = false; static const bool default_systemfiles_in_content_dir = false; static const bool default_screenshots_in_content_dir = false; -#if defined(_XBOX1) || defined(_XBOX360) || defined(DINGUX) +#if defined(_XBOX1) || defined(__PS3__) || defined(_XBOX360) || defined(DINGUX) static const unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_L3_R3; #elif defined(PS2) || defined(PSP) static const unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_HOLD_START; @@ -1275,7 +1275,7 @@ static const bool ui_companion_toggle = false; #define DEFAULT_UI_MENUBAR_ENABLE true -#if defined(__QNX__) || defined(_XBOX1) || defined(_XBOX360) || (defined(__MACH__) && defined(IOS)) || defined(ANDROID) || defined(WIIU) || defined(HAVE_NEON) || defined(GEKKO) || defined(__ARM_NEON__) +#if defined(__QNX__) || defined(_XBOX1) || defined(_XBOX360) || (defined(__MACH__) && defined(IOS)) || defined(ANDROID) || defined(WIIU) || defined(HAVE_NEON) || defined(GEKKO) || defined(__ARM_NEON__) | defined(__PS3__) static const enum resampler_quality audio_resampler_quality_level = RESAMPLER_QUALITY_LOWER; #elif defined(PSP) || defined(_3DS) || defined(VITA) || defined(PS2) || defined(DINGUX) static const enum resampler_quality audio_resampler_quality_level = RESAMPLER_QUALITY_LOWEST; diff --git a/configuration.c b/configuration.c index e213f636ed..2a913c42a5 100644 --- a/configuration.c +++ b/configuration.c @@ -260,7 +260,7 @@ static const enum video_driver_enum VIDEO_DEFAULT_DRIVER = VIDEO_METAL; #endif #elif defined(HAVE_VITA2D) static const enum video_driver_enum VIDEO_DEFAULT_DRIVER = VIDEO_VITA2D; -#elif defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) +#elif defined(HAVE_OPENGL) || defined(HAVE_OPENGLES) || defined(HAVE_PSGL) static const enum video_driver_enum VIDEO_DEFAULT_DRIVER = VIDEO_GL; #elif defined(HAVE_OPENGL_CORE) && !defined(__HAIKU__) static const enum video_driver_enum VIDEO_DEFAULT_DRIVER = VIDEO_GL_CORE; @@ -324,6 +324,8 @@ static const enum audio_driver_enum AUDIO_DEFAULT_DRIVER = AUDIO_WIIU; static const enum audio_driver_enum AUDIO_DEFAULT_DRIVER = AUDIO_PSP; #elif defined(PS2) static const enum audio_driver_enum AUDIO_DEFAULT_DRIVER = AUDIO_PS2; +#elif defined(__PS3__) +static const enum audio_driver_enum AUDIO_DEFAULT_DRIVER = AUDIO_PS3; #elif defined(_3DS) static const enum audio_driver_enum AUDIO_DEFAULT_DRIVER = AUDIO_CTR; #elif defined(SWITCH) @@ -408,12 +410,14 @@ static const enum input_driver_enum INPUT_DEFAULT_DRIVER = INPUT_RWEBINPUT; static const enum input_driver_enum INPUT_DEFAULT_DRIVER = INPUT_DINPUT; #elif defined(_WIN32) && !defined(HAVE_DINPUT) && _WIN32_WINNT >= 0x0501 static const enum input_driver_enum INPUT_DEFAULT_DRIVER = INPUT_WINRAW; +#elif defined(PS2) +static const enum input_driver_enum INPUT_DEFAULT_DRIVER = INPUT_PS2; +#elif defined(__PS3__) +static const enum input_driver_enum INPUT_DEFAULT_DRIVER = INPUT_PS3; #elif defined(ORBIS) static const enum input_driver_enum INPUT_DEFAULT_DRIVER = INPUT_PS4; #elif defined(PSP) || defined(VITA) static const enum input_driver_enum INPUT_DEFAULT_DRIVER = INPUT_PSP; -#elif defined(PS2) -static const enum input_driver_enum INPUT_DEFAULT_DRIVER = INPUT_PS2; #elif defined(_3DS) static const enum input_driver_enum INPUT_DEFAULT_DRIVER = INPUT_CTR; #elif defined(SWITCH) @@ -454,12 +458,14 @@ static const enum joypad_driver_enum JOYPAD_DEFAULT_DRIVER = JOYPAD_GX; static const enum joypad_driver_enum JOYPAD_DEFAULT_DRIVER = JOYPAD_WIIU; #elif defined(_XBOX) static const enum joypad_driver_enum JOYPAD_DEFAULT_DRIVER = JOYPAD_XDK; +#elif defined(PS2) +static const enum joypad_driver_enum JOYPAD_DEFAULT_DRIVER = JOYPAD_PS2; +#elif defined(__PS3__) && !defined(__PSL1GHT__) +static const enum joypad_driver_enum JOYPAD_DEFAULT_DRIVER = JOYPAD_PS3; #elif defined(ORBIS) static const enum joypad_driver_enum JOYPAD_DEFAULT_DRIVER = JOYPAD_PS4; #elif defined(PSP) || defined(VITA) static const enum joypad_driver_enum JOYPAD_DEFAULT_DRIVER = JOYPAD_PSP; -#elif defined(PS2) -static const enum joypad_driver_enum JOYPAD_DEFAULT_DRIVER = JOYPAD_PS2; #elif defined(_3DS) static const enum joypad_driver_enum JOYPAD_DEFAULT_DRIVER = JOYPAD_CTR; #elif defined(SWITCH) diff --git a/defines/ps3_defines.h b/defines/ps3_defines.h index 8a15e96b78..2df2fdf839 100644 --- a/defines/ps3_defines.h +++ b/defines/ps3_defines.h @@ -274,6 +274,7 @@ extern int audioAddData(uint32_t portNum, float *data, #define SYS_THREAD_CREATE_JOINABLE 0 #else +#include #define SYS_PROCESS_SPAWN_STACK_SIZE_1M SYS_PROCESS_PRIMARY_STACK_SIZE_1M #define SYS_THREAD_CREATE_JOINABLE SYS_PPU_THREAD_CREATE_JOINABLE diff --git a/frontend/frontend_driver.c b/frontend/frontend_driver.c index 4a90bb4fa6..f077a121e9 100644 --- a/frontend/frontend_driver.c +++ b/frontend/frontend_driver.c @@ -79,6 +79,9 @@ static frontend_ctx_driver_t *frontend_ctx_drivers[] = { #if defined(EMSCRIPTEN) &frontend_ctx_emscripten, #endif +#if defined(__PS3__) + &frontend_ctx_ps3, +#endif #if defined(_XBOX) &frontend_ctx_xdk, #endif @@ -181,10 +184,7 @@ bool frontend_driver_get_core_extension(char *s, size_t len) #else -#if defined(__PSL1GHT__) - strcpy_literal(s, "self|bin"); - return true; -#elif defined(PSP) +#if defined(PSP) strcpy_literal(s, "pbp"); return true; #elif defined(VITA) @@ -193,6 +193,9 @@ bool frontend_driver_get_core_extension(char *s, size_t len) #elif defined(PS2) strcpy_literal(s, "elf"); return true; +#elif defined(__PS3__) + strcpy_literal(s, "self|bin"); + return true; #elif defined(_XBOX1) strcpy_literal(s, "xbe"); return true; @@ -233,10 +236,7 @@ bool frontend_driver_get_salamander_basename(char *s, size_t len) return false; #else -#if defined(__PSL1GHT__) - strcpy_literal(s, "EBOOT.BIN"); - return true; -#elif defined(PSP) +#if defined(PSP) strcpy_literal(s, "EBOOT.PBP"); return true; #elif defined(VITA) @@ -245,6 +245,9 @@ bool frontend_driver_get_salamander_basename(char *s, size_t len) #elif defined(PS2) strcpy_literal(s, "eboot.elf"); return true; +#elif defined(__PSL1GHT__) + strcpy_literal(s, "EBOOT.BIN"); + return true; #elif defined(_XBOX1) strcpy_literal(s, "default.xbe"); return true; diff --git a/gfx/font_driver.c b/gfx/font_driver.c index eb649b4417..daa11ecdec 100644 --- a/gfx/font_driver.c +++ b/gfx/font_driver.c @@ -35,7 +35,7 @@ static const font_renderer_driver_t *font_backends[] = { &coretext_font_renderer, #endif #ifdef HAVE_STB_FONT -#if defined(VITA) || defined(WIIU) || defined(ANDROID) || (defined(_WIN32) && !defined(_XBOX) && !defined(_MSC_VER) && _MSC_VER >= 1400) || (defined(_WIN32) && !defined(_XBOX) && defined(_MSC_VER)) || defined(HAVE_LIBNX) || defined(__linux__) || defined (HAVE_EMSCRIPTEN) || defined(__APPLE__) || defined(HAVE_ODROIDGO2) +#if defined(VITA) || defined(WIIU) || defined(ANDROID) || (defined(_WIN32) && !defined(_XBOX) && !defined(_MSC_VER) && _MSC_VER >= 1400) || (defined(_WIN32) && !defined(_XBOX) && defined(_MSC_VER)) || defined(HAVE_LIBNX) || defined(__linux__) || defined (HAVE_EMSCRIPTEN) || defined(__APPLE__) || defined(HAVE_ODROIDGO2) || defined(__PS3__) &stb_unicode_font_renderer, #else &stb_font_renderer, diff --git a/griffin/griffin.c b/griffin/griffin.c index b8a944d36e..8f2594e00b 100644 --- a/griffin/griffin.c +++ b/griffin/griffin.c @@ -268,6 +268,8 @@ VIDEO CONTEXT #include "../gfx/drivers_context/qnx_ctx.c" #elif defined(EMSCRIPTEN) #include "../gfx/drivers_context/emscriptenegl_ctx.c" +#elif defined(__PS3__) && !defined(__PSL1GHT__) +#include "../gfx/drivers_context/ps3_ctx.c" #elif defined(__APPLE__) && !defined(TARGET_IPHONE_SIMULATOR) && !defined(TARGET_OS_IPHONE) #include "../gfx/drivers_context/cgl_ctx.c" #endif @@ -677,17 +679,22 @@ INPUT #include "../input/input_autodetect_builtin.c" -#if defined(__PSL1GHT__) -#include "../input/drivers/psl1ght_input.c" -#elif defined(SN_TARGET_PSP2) || defined(PSP) || defined(VITA) +#if defined(SN_TARGET_PSP2) || defined(PSP) || defined(VITA) #include "../input/drivers/psp_input.c" #include "../input/drivers_joypad/psp_joypad.c" -#elif defined(ORBIS) -#include "../input/drivers/ps4_input.c" -#include "../input/drivers_joypad/ps4_joypad.c" #elif defined(PS2) #include "../input/drivers/ps2_input.c" #include "../input/drivers_joypad/ps2_joypad.c" +#elif defined(__PS3__) +#if defined(__PSL1GHT__) +#include "../input/drivers/psl1ght_input.c" +#else +#include "../input/drivers/ps3_input.c" +#include "../input/drivers_joypad/ps3_joypad.c" +#endif +#elif defined(ORBIS) +#include "../input/drivers/ps4_input.c" +#include "../input/drivers_joypad/ps4_joypad.c" #elif defined(HAVE_COCOA) || defined(HAVE_COCOATOUCH) || defined(HAVE_COCOA_METAL) #include "../input/drivers/cocoa_input.c" #elif defined(_3DS) @@ -892,7 +899,7 @@ RSOUND /*============================================================ AUDIO ============================================================ */ -#if defined(__PSL1GHT__) +#if defined(__PS3__) #include "../audio/drivers/ps3_audio.c" #elif defined(XENON) #include "../audio/drivers/xenon360_audio.c" @@ -1133,21 +1140,21 @@ FRONTEND #include "../frontend/drivers/platform_xdk.c" #endif -#if defined(__PSL1GHT__) -#include "../frontend/drivers/platform_ps3.c" -#elif defined(GEKKO) +#if defined(GEKKO) #include "../frontend/drivers/platform_gx.c" #ifdef HW_RVL #include "../frontend/drivers/platform_wii.c" #endif #elif defined(__wiiu__) #include "../frontend/drivers/platform_wiiu.c" -#elif defined(PSP) || defined(VITA) -#include "../frontend/drivers/platform_psp.c" -#elif defined(ORBIS) -#include "../frontend/drivers/platform_orbis.c" #elif defined(PS2) #include "../frontend/drivers/platform_ps2.c" +#elif defined(__PS3__) +#include "../frontend/drivers/platform_ps3.c" +#elif defined(ORBIS) +#include "../frontend/drivers/platform_orbis.c" +#elif defined(PSP) || defined(VITA) +#include "../frontend/drivers/platform_psp.c" #elif defined(_3DS) #include "../frontend/drivers/platform_ctr.c" #elif defined(SWITCH) && defined(HAVE_LIBNX) diff --git a/input/input_autodetect_builtin.c b/input/input_autodetect_builtin.c index 812e3e4021..fc1426b3e7 100644 --- a/input/input_autodetect_builtin.c +++ b/input/input_autodetect_builtin.c @@ -746,7 +746,7 @@ const char* const input_builtin_autoconfs[] = DECL_AUTOCONF_DEVICE("GameCube Controller", "wiiu", WIIUINPUT_GAMECUBE_DEFAULT_BINDS), DECL_AUTOCONF_DEVICE("Sony DualShock 3", "wiiu", WIIUINPUT_DS3_DEFAULT_BINDS), #endif -#ifdef __PSL1GHT__ +#ifdef __PS3__ DECL_AUTOCONF_DEVICE("SixAxis Controller", "ps3", PS3INPUT_DEFAULT_BINDS), #endif #if defined(__SWITCH__) || defined(SWITCH) diff --git a/input/input_driver.h b/input/input_driver.h index d62e6dc3bb..d7b90c7d01 100644 --- a/input/input_driver.h +++ b/input/input_driver.h @@ -233,7 +233,7 @@ struct rarch_joypad_driver #define DEFAULT_MAX_PADS 8 #elif defined(__QNX__) #define DEFAULT_MAX_PADS 8 -#elif defined(__PSL1GHT__) +#elif defined(__PS3__) #define DEFAULT_MAX_PADS 7 #elif defined(_XBOX) #define DEFAULT_MAX_PADS 4 diff --git a/libretro-common/features/features_cpu.c b/libretro-common/features/features_cpu.c index 1a003284fd..2074bef648 100644 --- a/libretro-common/features/features_cpu.c +++ b/libretro-common/features/features_cpu.c @@ -43,6 +43,12 @@ #include #endif +#if defined(__PS3__) || defined(__PSL1GHT__) +#ifndef _PPU_INTRINSICS_H +#include +#endif +#endif + #if defined(_XBOX360) #include #elif defined(_POSIX_MONOTONIC_CLOCK) || defined(ANDROID) || defined(__QNX__) || defined(DJGPP) @@ -56,7 +62,13 @@ #if defined(PSP) #include +#endif + +#if defined(PSP) || defined(__PSL1GHT__) #include +#endif + +#if defined(PSP) #include #endif @@ -69,8 +81,8 @@ #include #endif -#if defined(__PSL1GHT__) -#include +#if !defined(__PSL1GHT__) && defined(__PS3__) +#include #endif #ifdef GEKKO @@ -220,6 +232,8 @@ retro_time_t cpu_features_get_time_usec(void) return (count.QuadPart / freq.QuadPart * 1000000) + (count.QuadPart % freq.QuadPart * 1000000 / freq.QuadPart); #elif defined(__PSL1GHT__) return sysGetSystemTime(); +#elif !defined(__PSL1GHT__) && defined(__PS3__) + return sys_time_get_system_time(); #elif defined(GEKKO) return ticks_to_microsecs(gettime()); #elif defined(WIIU) @@ -486,6 +500,8 @@ unsigned cpu_features_get_core_amount(void) return 1; #elif defined(PSP) || defined(PS2) return 1; +#elif defined(__PSL1GHT__) || !defined(__PSL1GHT__) && defined(__PS3__) + return 1; /* Only one PPU, SPUs don't really count */ #elif defined(VITA) return 4; #elif defined(HAVE_LIBNX) || defined(SWITCH) diff --git a/libretro-common/file/file_path.c b/libretro-common/file/file_path.c index 44ceb7249a..6051da2564 100644 --- a/libretro-common/file/file_path.c +++ b/libretro-common/file/file_path.c @@ -84,7 +84,9 @@ #define FIO_S_ISDIR SCE_S_ISDIR #endif -#if defined(__QNX__) || defined(PSP) +#ifdef _WIN32 +#include +#else #include /* stat() is defined here */ #endif diff --git a/libretro-common/file/file_path_io.c b/libretro-common/file/file_path_io.c index 89485012b0..116f05f84f 100644 --- a/libretro-common/file/file_path_io.c +++ b/libretro-common/file/file_path_io.c @@ -86,7 +86,9 @@ #define FIO_S_ISDIR SCE_S_ISDIR #endif -#if defined(__QNX__) || defined(PSP) || defined(PS2) +#ifdef _WIN32 +#include +#else #include /* stat() is defined here */ #endif diff --git a/libretro-common/include/memmap.h b/libretro-common/include/memmap.h index ebbc3071eb..88978777c6 100644 --- a/libretro-common/include/memmap.h +++ b/libretro-common/include/memmap.h @@ -26,7 +26,7 @@ #include #include -#if defined(PSP) || defined(PS2) || defined(GEKKO) || defined(VITA) || defined(_XBOX) || defined(_3DS) || defined(WIIU) || defined(SWITCH) || defined(HAVE_LIBNX) +#if defined(PSP) || defined(PS2) || defined(GEKKO) || defined(VITA) || defined(_XBOX) || defined(_3DS) || defined(WIIU) || defined(SWITCH) || defined(HAVE_LIBNX) || defined(__PS3__) || defined(__PSL1GHT__) /* No mman available */ #elif defined(_WIN32) && !defined(_XBOX) #include diff --git a/libretro-common/include/retro_miscellaneous.h b/libretro-common/include/retro_miscellaneous.h index c4ee4c1685..a91a97a1d8 100644 --- a/libretro-common/include/retro_miscellaneous.h +++ b/libretro-common/include/retro_miscellaneous.h @@ -75,7 +75,7 @@ static INLINE bool bits_any_set(uint32_t* ptr, uint32_t count) } #ifndef PATH_MAX_LENGTH -#if defined(_XBOX1) || defined(_3DS) || defined(PSP) || defined(PS2) || defined(GEKKO)|| defined(WIIU) || defined(ORBIS) +#if defined(_XBOX1) || defined(_3DS) || defined(PSP) || defined(PS2) || defined(GEKKO)|| defined(WIIU) || defined(ORBIS) || defined(__PSL1GHT__) || defined(__PS3__) #define PATH_MAX_LENGTH 512 #else #define PATH_MAX_LENGTH 4096