# define unlikely(x) (x)
#endif
+#ifndef LIGHTREC_PROG_NAME
+# ifdef __linux__
+# define LIGHTREC_PROG_NAME "/proc/self/exe"
+# else
+# define LIGHTREC_PROG_NAME "retroarch.exe"
+# endif
+#endif
+
psxRegisters psxRegs;
Rcnt rcnts[4];
static struct lightrec_state *lightrec_state;
-static char *name = "retroarch.exe";
-
static bool use_lightrec_interpreter;
static bool use_pcsx_interpreter;
static bool block_stepping;
extern u32 lightrec_hacks;
+extern void lightrec_code_inv(void *ptr, uint32_t len);
+
enum my_cp2_opcodes {
OP_CP2_RTPS = 0x01,
OP_CP2_NCLIP = 0x06,
}
}
-#if defined(HW_DOL) || defined(HW_RVL)
-static void lightrec_code_inv(void *ptr, uint32_t len)
-{
- extern void DCFlushRange(void *ptr, u32 len);
- extern void ICInvalidateRange(void *ptr, u32 len);
-
- DCFlushRange(ptr, len);
- ICInvalidateRange(ptr, len);
-}
-#elif defined(HW_WUP)
-static void lightrec_code_inv(void *ptr, uint32_t len)
-{
- wiiu_clear_cache(ptr, (void *)((uintptr_t)ptr + len));
-}
-#endif
-
static const struct lightrec_ops lightrec_ops = {
.cop2_op = cop2_op,
.enable_ram = lightrec_enable_ram,
.hw_direct = lightrec_can_hw_direct,
-#if defined(HW_DOL) || defined(HW_RVL) || defined(HW_WUP)
- .code_inv = lightrec_code_inv,
-#endif
+ .code_inv = LIGHTREC_CODE_INV ? lightrec_code_inv : NULL,
};
static int lightrec_plugin_init(void)
use_lightrec_interpreter = !!getenv("LIGHTREC_INTERPRETER");
- lightrec_state = lightrec_init(name,
+ lightrec_state = lightrec_init(LIGHTREC_PROG_NAME,
lightrec_map, ARRAY_SIZE(lightrec_map),
&lightrec_ops);