release r10, for real
[pcsx_rearmed.git] / frontend / menu.c
index de13ad9..24080b9 100644 (file)
@@ -81,8 +81,13 @@ static int psx_clock;
 static int memcard1_sel, memcard2_sel;
 int g_opts, analog_deadzone;
 
+#ifdef __ARM_ARCH_7A__
+#define DEFAULT_PSX_CLOCK 57
+#define DEFAULT_PSX_CLOCK_S "57"
+#else
 #define DEFAULT_PSX_CLOCK 50
 #define DEFAULT_PSX_CLOCK_S "50"
+#endif
 
 // sound plugin
 extern int iUseReverb;
@@ -373,7 +378,7 @@ static int menu_load_config(int is_game)
        f = fopen(cfgfile, "r");
        if (f == NULL) {
                printf("menu_load_config: failed to open: %s\n", cfgfile);
-               return -1;
+               goto fail;
        }
 
        fseek(f, 0, SEEK_END);
@@ -441,6 +446,14 @@ static int menu_load_config(int is_game)
                }
        }
 
+       keys_load_all(cfg);
+       ret = 0;
+fail_read:
+       free(cfg);
+fail:
+       if (f != NULL)
+               fclose(f);
+
        menu_sync_config();
 
        // sync plugins
@@ -456,12 +469,6 @@ static int menu_load_config(int is_game)
                if (strcmp(Config.Spu, spu_plugins[i]) == 0)
                        { spu_plugsel = i; break; }
 
-       keys_load_all(cfg);
-       ret = 0;
-fail_read:
-       free(cfg);
-fail:
-       fclose(f);
        return ret;
 }
 
@@ -1455,14 +1462,22 @@ static void menu_bios_warn(void)
 {
        int inp;
        static const char msg[] =
-               "You don't seem to have copied any BIOS files to\n"
+               "You don't seem to have copied any BIOS\n"
+               "files to\n"
+#ifdef __ARM_ARCH_7A__ // XXX
                "<SD card>/pandora/appdata/pcsx_rearmed/bios/\n\n"
-               "While many games work fine with fake (HLE) BIOS,\n"
-               "others (like MGS and FF8) require BIOS to work.\n"
-               "After copying the file, you'll also need to\n"
-               "select it in the emu's options->[BIOS/Plugins]\n\n"
-               "The file is usually named SCPH1001.BIN, but\n"
-               "other not compressed files can be used too.\n\n"
+#else
+               "pcsx_rearmed/bios/\n\n"
+#endif
+               "While many games work fine with fake\n"
+               "(HLE) BIOS, others (like MGS and FF8)\n"
+               "require BIOS to work.\n"
+               "After copying the file, you'll also need\n"
+               "to select it in the emu's menu:\n"
+               "options->[BIOS/Plugins]\n\n"
+               "The file is usually named SCPH1001.BIN,\n"
+               "but other not compressed files can be\n"
+               "used too.\n\n"
                "Press (B) or (X) to continue";
 
        while (1)
@@ -2004,16 +2019,10 @@ void menu_notify_mode_change(int w, int h, int bpp)
                g_layer_w = w; g_layer_h = h;
                break;
 
-       case SCALE_4_3:
-               mult = 240.0f / (float)h * 4.0f / 3.0f;
-               if (h > 256)
-                       mult *= 2.0f;
-               g_layer_w = mult * (float)g_menuscreen_h;
-               g_layer_h = g_menuscreen_h;
-               printf("  -> %dx%d %.1f\n", g_layer_w, g_layer_h, mult);
-               break;
-
        case SCALE_4_3v2:
+               if (h > g_menuscreen_h || (240 < h && h <= 360))
+                       goto fractional_4_3;
+
                // 4:3 that prefers integer scaling
                imult = g_menuscreen_h / h;
                g_layer_w = w * imult;
@@ -2024,6 +2033,16 @@ void menu_notify_mode_change(int w, int h, int bpp)
                printf("  -> %dx%d %.1f\n", g_layer_w, g_layer_h, mult);
                break;
 
+       fractional_4_3:
+       case SCALE_4_3:
+               mult = 240.0f / (float)h * 4.0f / 3.0f;
+               if (h > 256)
+                       mult *= 2.0f;
+               g_layer_w = mult * (float)g_menuscreen_h;
+               g_layer_h = g_menuscreen_h;
+               printf("  -> %dx%d %.1f\n", g_layer_w, g_layer_h, mult);
+               break;
+
        case SCALE_FULLSCREEN:
                g_layer_w = g_menuscreen_w;
                g_layer_h = g_menuscreen_h;