#include "misc.h"
-#include "../plugins/dfsound/spu_config.h"
#include "sio.h"
+#include "new_dynarec/new_dynarec.h"
/* It's duplicated from emu_if.c */
#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
{"SCUS94409"}
};
+static const struct
+{
+ const char * const id;
+ int mult;
+}
+new_dynarec_clock_overrides[] =
+{
+ /* Internal Section - fussy about timings */
+ { "SLPS01868", 202 },
+ /* Super Robot Taisen Alpha - on the edge with 175,
+ * changing memcard settings is enough to break/unbreak it */
+ { "SLPS02528", 190 },
+ { "SLPS02636", 190 },
+};
+
/* Function for automatic patching according to GameID. */
void Apply_Hacks_Cdrom()
{
McdDisable[1] = 1;
}
}
+
+ /* Dynarec game-specific hacks */
+ new_dynarec_hacks_pergame = 0;
+ cycle_multiplier_override = 0;
+
+ for (i = 0; i < ARRAY_SIZE(new_dynarec_clock_overrides); i++)
+ {
+ if (strcmp(CdromId, new_dynarec_clock_overrides[i].id) == 0)
+ {
+ cycle_multiplier_override = new_dynarec_clock_overrides[i].mult;
+ new_dynarec_hacks_pergame |= NDHACK_OVERRIDE_CYCLE_M;
+ SysPrintf("using new_dynarec clock override: %d\n",
+ cycle_multiplier_override);
+ break;
+ }
+ }
}