Merge pull request #511 from negativeExponent/updates
[pcsx_rearmed.git] / frontend / libretro.c
index 5c966a4..f94bcc6 100644 (file)
@@ -39,6 +39,7 @@
 #include "revision.h"
 
 #include <libretro.h>
+#include <compat/fopen_utf8.h>
 #include "libretro_core_options.h"
 
 #ifdef _3DS
@@ -589,11 +590,11 @@ static void update_multitap(void)
          multitap1 = 1;
       else if (strcmp(var.value, "disabled") == 0)
          multitap1 = 0;
-      else // 'auto' case
+      else if (strcmp(var.value, "automatic") == 0)
          auto_case = 1;
    }
    else
-      auto_case = 1;
+      multitap1 = 0;
 
    if (auto_case)
    {
@@ -612,11 +613,11 @@ static void update_multitap(void)
          multitap2 = 1;
       else if (strcmp(var.value, "disabled") == 0)
          multitap2 = 0;
-      else // 'auto' case
+      else if (strcmp(var.value, "automatic") == 0)
          auto_case = 1;
    }
    else
-      auto_case = 1;
+      multitap2 = 0;
 
    if (auto_case)
    {
@@ -1112,7 +1113,7 @@ static bool read_m3u(const char *file)
 {
    char line[1024];
    char name[PATH_MAX];
-   FILE *f = fopen(file, "r");
+   FILE *f = fopen_utf8(file, "r");
    if (!f)
       return false;
 
@@ -2132,8 +2133,6 @@ static void update_variables(bool in_flight)
          unsigned i;
          struct retro_core_option_display option_display;
          char gpu_peops_option[][50] = {
-            "pcsx_rearmed_multitap1",
-            "pcsx_rearmed_multitap2",
             "pcsx_rearmed_negcon_deadzone",
             "pcsx_rearmed_negcon_response",
             "pcsx_rearmed_analog_axis_modifier",
@@ -2574,7 +2573,7 @@ static bool try_use_bios(const char *path)
    long size;
    const char *name;
 
-   f = fopen(path, "rb");
+   f = fopen_utf8(path, "rb");
    if (f == NULL)
       return false;
 
@@ -2682,6 +2681,7 @@ static void loadPSXBios(void)
    unsigned useHLE = 0;
 
    const char *bios[] = {
+      "PS1_ROM", "ps1_rom",
       "PSXONPSP660", "psxonpsp660",
       "SCPH101", "scph101",
       "SCPH5501", "scph5501",
@@ -2726,11 +2726,19 @@ static void loadPSXBios(void)
       }
    }
 
-   if (useHLE || !found_bios)
+   if (!found_bios)
    {
-      const char *msg_str = "No PlayStation BIOS file found - add for better compatibility";
-
-      SysPrintf("no BIOS files found.\n");
+      const char *msg_str;
+      if (useHLE)
+      {
+         msg_str = "BIOS set to \'hle\' in core options - real BIOS will be ignored";
+         SysPrintf("Using HLE BIOS.\n");
+      }
+      else
+      {
+         msg_str = "No PlayStation BIOS file found - add for better compatibility";
+         SysPrintf("No BIOS files found.\n");
+      }
 
       if (msg_interface_version >= 1)
       {
@@ -2765,7 +2773,7 @@ void retro_init(void)
    msg_interface_version = 0;
    environ_cb(RETRO_ENVIRONMENT_GET_MESSAGE_INTERFACE_VERSION, &msg_interface_version);
 
-#ifdef __MACH__
+#if defined(__MACH__) && !defined(TVOS)
    // magic sauce to make the dynarec work on iOS
    syscall(SYS_ptrace, 0 /*PTRACE_TRACEME*/, 0, 0, 0);
 #endif