#endif
memset(info, 0, sizeof(*info));
info->library_name = "PCSX-ReARMed";
- info->library_version = "r22" GIT_VERSION;
+ info->library_version = "r23l" GIT_VERSION;
info->valid_extensions = "bin|cue|img|mdf|pbp|toc|cbn|m3u|chd";
info->need_fullpath = true;
}
for (i = 0; i < sizeof(disks) / sizeof(disks[0]) && i < cdrIsoMultidiskCount; i++)
{
- char disk_name[PATH_MAX];
- char disk_label[PATH_MAX];
- disk_name[0] = '\0';
- disk_label[0] = '\0';
+ char disk_name[PATH_MAX - 16] = { 0 };
+ char disk_label[PATH_MAX] = { 0 };
disks[i].fname = strdup(info->path);
- get_disk_label(disk_name, info->path, PATH_MAX);
+ get_disk_label(disk_name, info->path, sizeof(disk_name));
snprintf(disk_label, sizeof(disk_label), "%s #%u", disk_name, (unsigned)i + 1);
disks[i].flabel = strdup(disk_label);
}
}
+ /* set ports to use "standard controller" initially */
+ for (i = 0; i < 8; ++i)
+ in_type[i] = PSE_PAD_TYPE_STANDARD;
+
plugin_call_rearmed_cbs();
/* dfinput_activate(); */
display_internal_fps = true;
}
-#if defined(LIGHTREC) || defined(NEW_DYNAREC)
+#ifndef DRC_DISABLE
var.value = NULL;
var.key = "pcsx_rearmed_drc";
- if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
+ if (!environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var))
+ var.value = "enabled";
+
{
R3000Acpu *prev_cpu = psxCpu;
#if defined(LIGHTREC)
psxCpu->Reset(); // not really a reset..
}
}
-#endif /* LIGHTREC || NEW_DYNAREC */
+#endif /* !DRC_DISABLE */
+ psxCpu->ApplyConfig();
var.value = NULL;
var.key = "pcsx_rearmed_spu_reverb";
else if (strcmp(var.value, "enabled") == 0)
Config.RCntFix = 1;
}
-
+
var.value = NULL;
- var.key = "pcsx_rearmed_idiablofix";
+ var.key = "pcsx_rearmed_icache_emulation";
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
{
if (strcmp(var.value, "disabled") == 0)
- spu_config.idiablofix = 0;
+ Config.icache_emulation = 0;
else if (strcmp(var.value, "enabled") == 0)
- spu_config.idiablofix = 1;
+ Config.icache_emulation = 1;
}
var.value = NULL;
GunconAdjustRatioY = atof(var.value);
}
-#ifdef NEW_DYNAREC
+#if !defined(DRC_DISABLE) && !defined(LIGHTREC)
var.value = NULL;
var.key = "pcsx_rearmed_nosmccheck";
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
int psxclock = atoi(var.value);
cycle_multiplier = 10000 / psxclock;
}
-#endif /* NEW_DYNAREC */
+
+ var.value = NULL;
+ var.key = "pcsx_rearmed_nocompathacks";
+ if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
+ {
+ if (strcmp(var.value, "enabled") == 0)
+ new_dynarec_hacks |= NDHACK_NO_COMPAT_HACKS;
+ else
+ new_dynarec_hacks &= ~NDHACK_NO_COMPAT_HACKS;
+ }
+#endif /* !DRC_DISABLE && !LIGHTREC */
+
+ var.value = NULL;
+ var.key = "pcsx_rearmed_nostalls";
+ if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
+ {
+ if (strcmp(var.value, "enabled") == 0)
+ Config.DisableStalls = 1;
+ else
+ Config.DisableStalls = 0;
+ }
var.value = NULL;
var.key = "pcsx_rearmed_input_sensitivity";
unsigned useHLE = 0;
const char *bios[] = {
- "PS1_ROM", "ps1_rom",
"PSXONPSP660", "psxonpsp660",
"SCPH101", "scph101",
"SCPH5501", "scph5501",
#ifdef _3DS
vout_buf = linearMemAlign(VOUT_MAX_WIDTH * VOUT_MAX_HEIGHT * 2, 0x80);
#elif defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200112L) && !defined(VITA) && !defined(__SWITCH__)
- posix_memalign(&vout_buf, 16, VOUT_MAX_WIDTH * VOUT_MAX_HEIGHT * 2);
+ if (posix_memalign(&vout_buf, 16, VOUT_MAX_WIDTH * VOUT_MAX_HEIGHT * 2) != 0)
+ vout_buf = (void *) 0;
#else
vout_buf = malloc(VOUT_MAX_WIDTH * VOUT_MAX_HEIGHT * 2);
#endif