diff --git a/Makefile.ctr b/Makefile.ctr index 139af692ef..923bd7c715 100644 --- a/Makefile.ctr +++ b/Makefile.ctr @@ -31,6 +31,11 @@ OBJS += ctr/ctr_system.o OBJS += ctr/ctr_memory.o OBJS += ctr/ctr_linear.o +ifeq ($(APP_BIG_TEXT_SECTION), 1) + APP_USE_SVCHAX = 1 + LDFLAGS += -Wl,--defsym,__ctr_patch_services=__service_ptr +endif + ifeq ($(APP_USE_SVCHAX), 1) OBJS += ctr/ctr_svchax.o endif @@ -292,7 +297,7 @@ CFLAGS += -DHAVE_ZLIB -DHAVE_RPNG -DWANT_ZLIB -DHAVE_BUILTIN_AUTOCONFIG CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions -std=gnu++11 ASFLAGS := -g $(ARCH) -O3 -LDFLAGS = -specs=ctr/3dsx_custom.specs -g $(ARCH) -Wl,-Map,$(notdir $*.map) +LDFLAGS += -specs=ctr/3dsx_custom.specs -g $(ARCH) -Wl,-Map,$(notdir $*.map) CFLAGS += -std=gnu99 -ffast-math diff --git a/frontend/drivers/platform_ctr.c b/frontend/drivers/platform_ctr.c index e39979f862..82932495db 100644 --- a/frontend/drivers/platform_ctr.c +++ b/frontend/drivers/platform_ctr.c @@ -172,6 +172,7 @@ static void ctr_check_dspfirm(void) } __attribute__((weak)) Result svchax_init(bool patch_srv); +__attribute__((weak)) u32 __ctr_patch_services; static void frontend_ctr_init(void *data) { @@ -181,9 +182,6 @@ static void frontend_ctr_init(void *data) *verbose = true; -#if 0 - APT_SetAppCpuTimeLimit(NULL, 80); -#endif gfxInit(GSP_BGR8_OES,GSP_RGB565_OES,false); gfxSet3D(false); consoleInit(GFX_BOTTOM, NULL); @@ -192,7 +190,7 @@ static void frontend_ctr_init(void *data) if(svchax_init) { osSetSpeedupEnable(false); - svchax_init(false); + svchax_init(__ctr_patch_services); osSetSpeedupEnable(true); }