psxinterpreter: rework load delays
[pcsx_rearmed.git] / frontend / libretro_core_options.h
index 654651c..4165237 100644 (file)
@@ -165,7 +165,7 @@ struct retro_core_option_v2_definition option_defs_us[] = {
       },
       "disabled",
    },
-#ifndef _WIN32
+#if 0 // ndef _WIN32 // currently disabled, see USE_READ_THREAD in libpcsxcore/cdriso.c
    {
       "pcsx_rearmed_async_cd",
       "CD Access Method (Restart)",
@@ -198,16 +198,17 @@ struct retro_core_option_v2_definition option_defs_us[] = {
       "enabled",
    },
 #endif
-#if !defined(DRC_DISABLE) && !defined(LIGHTREC)
    {
       "pcsx_rearmed_psxclock",
       "PSX CPU Clock Speed",
       NULL,
+      "Overclock or under-clock the PSX CPU. Try adjusting this if the game is too slow, too fast or hangs."
 #if defined(HAVE_PRE_ARMV7) && !defined(_3DS)
-      "Overclock or under-clock the PSX CPU. Lower values may reduce performance requirements while higher values may improve frame rates in demanding games at the expense of increased overheads; setting the value too low or high may reduce compatibility. Default is 50.",
+      " Default is 50."
 #else
-      "Overclock or under-clock the PSX CPU. Lower values may reduce performance requirements while higher values may improve frame rates in demanding games at the expense of increased overheads; setting the value too low or high may reduce compatibility. Default is 57.",
+      " Default is 57."
 #endif
+      ,
       NULL,
       "system",
       {
@@ -290,7 +291,6 @@ struct retro_core_option_v2_definition option_defs_us[] = {
       "57",
 #endif
    },
-#endif /* !DRC_DISABLE && !LIGHTREC */
    {
       "pcsx_rearmed_dithering",
       "Dithering Pattern",
@@ -420,25 +420,41 @@ struct retro_core_option_v2_definition option_defs_us[] = {
       },
       "disabled",
    },
+   {
+      "pcsx_rearmed_gpu_slow_llists",
+      "(GPU) Slow linked list processing",
+      NULL,
+      "Slower but more accurate GPU linked list processing. Needed by only a few games like Vampire Hunter D. Should be autodetected in most cases.",
+      NULL,
+      "video",
+      {
+         { "auto", NULL },
+         { "disabled", NULL },
+         { "enabled",  NULL },
+         { NULL, NULL },
+      },
+      "auto",
+   },
 #ifdef GPU_NEON
    {
-      "pcsx_rearmed_neon_interlace_enable",
+      "pcsx_rearmed_neon_interlace_enable_v2",
       "(GPU) Show Interlaced Video",
       "Show Interlaced Video",
-      "When enabled, games that run in high resolution video modes (480i, 512i) will produced interlaced video output. While this displays correctly on CRT televisions, it will produce artifacts on modern displays. When disabled, all video is output in progressive format.",
+      "When enabled, games that run in high resolution video modes (480i, 512i) will produced interlaced video output. While this displays correctly on CRT televisions, it will produce artifacts on modern displays. When disabled, all video is output in progressive format. Note: there are games that will glitch is this is off.",
       NULL,
       "gpu_neon",
       {
+         { "auto", NULL },
          { "disabled", NULL },
          { "enabled",  NULL },
          { NULL, NULL },
       },
-      "disabled",
+      "auto",
    },
    {
       "pcsx_rearmed_neon_enhancement_enable",
-      "(GPU) Enhanced Resolution (Slow)",
-      "Enhanced Resolution (Slow)",
+      "(GPU) Enhanced Resolution",
+      "Enhanced Resolution",
       "Render games that do not already run in high resolution video modes (480i, 512i) at twice the native internal resolution. Improves the fidelity of 3D models at the expense of increased performance requirements. 2D elements are generally unaffected by this setting.",
       NULL,
       "gpu_neon",
@@ -453,7 +469,7 @@ struct retro_core_option_v2_definition option_defs_us[] = {
       "pcsx_rearmed_neon_enhancement_no_main",
       "(GPU) Enhanced Resolution Speed Hack",
       "Enhanced Resolution Speed Hack",
-      "Improves performance when 'Enhanced Resolution (Slow)' is enabled, but reduces compatibility and may cause rendering errors.",
+      "Improves performance when 'Enhanced Resolution' is enabled, but reduces compatibility and may cause rendering errors.",
       NULL,
       "gpu_neon",
       {
@@ -734,6 +750,22 @@ struct retro_core_option_v2_definition option_defs_us[] = {
       },
       "enabled",
    },
+#if !defined(THREAD_ENABLED) && !defined(_WIN32) && !defined(NO_OS)
+   {
+      "pcsx_rearmed_spu_thread",
+      "Threaded SPU",
+      NULL,
+      "Emulates the PSX SPU on another CPU thread. May cause audio glitches in some games.",
+      NULL,
+      "audio",
+      {
+         { "disabled", NULL },
+         { "enabled",  NULL },
+         { NULL, NULL },
+      },
+      "disabled",
+   },
+#endif // THREAD_ENABLED
    {
       "pcsx_rearmed_show_input_settings",
       "Show Input Settings",
@@ -1135,53 +1167,11 @@ struct retro_core_option_v2_definition option_defs_us[] = {
       },
       "1.00",
    },
-   {
-      "pcsx_rearmed_pe2_fix",
-      "Parasite Eve 2/Vandal Hearts 1/2 Fix",
-      NULL,
-      "Hack fix required for correct operation of Parasite Eve 2 and Vandal Hearts 1/2. Should be disabled for all other games.",
-      NULL,
-      "compat_hack",
-      {
-         { "disabled", NULL },
-         { "enabled",  NULL },
-         { NULL, NULL },
-      },
-      "disabled",
-   },
-   {
-      "pcsx_rearmed_inuyasha_fix",
-      "InuYasha Sengoku Battle Fix",
-      NULL,
-      "Hack fix required for correct operation of Inuyasha Sengoku Otogi Kassen. Should be disabled for all other games.",
-      NULL,
-      "compat_hack",
-      {
-         { "disabled", NULL },
-         { "enabled",  NULL },
-         { NULL, NULL },
-      },
-      "disabled",
-   },
-   {
-      "pcsx_rearmed_spuirq",
-      "SPU IRQ Always Enabled",
-      NULL,
-      "Hack for certain games where events tied to audio cues do not trigger correctly. Fixes unopenable doors in Alien Resurrection. Fixes desynchronised FMV audio in Legend of Mana. Should be disabled unless required.",
-      NULL,
-      "compat_hack",
-      {
-         { "disabled", NULL },
-         { "enabled",  NULL },
-         { NULL, NULL },
-      },
-      "disabled",
-   },
    {
       "pcsx_rearmed_icache_emulation",
       "Instruction Cache Emulation",
       NULL,
-      "Enable emulation of the PSX CPU instruction cache. Improves accuracy at the expense of increased performance overheads. Required for Formula One 2001, Formula One Arcade and Formula One 99. May cause certain games to fail (e.g. Spyro 2: Gateway to Glimmer, PAL version) so should be disabled unless needed. [Interpreter only and partial on lightrec, unsupported when using ARMv7 backend]",
+      "Enable emulation of the PSX CPU instruction cache. Improves accuracy at the expense of increased performance overheads. Required for Formula One 2001, Formula One Arcade and Formula One 99. [Interpreter only and partial on lightrec, unsupported when using ARMv7 backend]",
       NULL,
       "compat_hack",
       {