From a11277c477536b8efc39e2bda4a56772d49245e4 Mon Sep 17 00:00:00 2001 From: chaoskagami Date: Mon, 19 Dec 2016 19:31:32 -0500 Subject: [PATCH] https://github.com/AuroraWright/Luma3DS/commit/429488a4ba1233ebd7efc2cdc10295f31dd0d2ff I asked about this a while ago on #Cakey. --- external/loader/source/patcher.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/external/loader/source/patcher.c b/external/loader/source/patcher.c index 2db0d42..7ce4930 100644 --- a/external/loader/source/patcher.c +++ b/external/loader/source/patcher.c @@ -300,14 +300,16 @@ adjust_cpu_settings(_UNUSED u64 progId, u8 *code, u32 size) cpuSetting |= config.options[OPTION_LOADER_CPU_800MHZ] << 1; if (cpuSetting) { - static const u8 cfgN3dsCpuPattern[] = { 0x00, 0x40, 0xA0, 0xE1, 0x07, 0x00 }; + static const u8 cfgN3dsCpuPattern[] = { 0x0C, 0x00, 0x94, 0x15 }; u32 *cfgN3dsCpuLoc = (u32 *)memfind(code, size, cfgN3dsCpuPattern, sizeof(cfgN3dsCpuPattern)); // Patch N3DS CPU Clock and L2 cache setting if (cfgN3dsCpuLoc != NULL) { - *(cfgN3dsCpuLoc + 1) = 0xE1A00000; - *(cfgN3dsCpuLoc + 8) = 0xE3A00000 | cpuSetting; + *(cfgN3dsCpuLoc - 4) = *(cfgN3dsCpuLoc - 3); + *(cfgN3dsCpuLoc - 3) = *(cfgN3dsCpuLoc - 1); + memcpy(cfgN3dsCpuLoc - 1, cfgN3dsCpuLoc, 16); + *(cfgN3dsCpuLoc + 3) = 0xE3800000 | cpuSetting; } } } -- 2.39.5