diff --git a/Makefile.ctr b/Makefile.ctr index 6c0954e22b..eb631ce292 100644 --- a/Makefile.ctr +++ b/Makefile.ctr @@ -6,22 +6,20 @@ GRIFFIN_BUILD = 1 WHOLE_ARCHIVE_LINK = 0 BIG_STACK = 0 BUILD_3DSX = 1 +BUILD_3DS = 1 BUILD_CIA = 1 -APP_TITLE = Retroarch 3DS -APP_DESCRIPTION = Retroarch 3DS -APP_AUTHOR = Team Libretro -APP_PRODUCT_CODE = RETROARCH-3DS -APP_UNIQUE_ID = 0xBAC00 -APP_ICON = ctr/default.png -APP_BANNER = ctr/libretro_banner.png -APP_AUDIO = ctr/silent.wav -APP_CIA_RSF = ctr/tools/template-cia.rsf -APP_3DS_RSF = ctr/tools/template-3ds.rsf - - -O3DS_80MB_APPMEM = 0 -N3DS_178MB_APPMEM = 0 +APP_TITLE = Retroarch 3DS +APP_DESCRIPTION = Retroarch 3DS +APP_AUTHOR = Team Libretro +APP_PRODUCT_CODE = RETROARCH-3DS +APP_UNIQUE_ID = 0xBAC00 +APP_ICON = ctr/default.png +APP_BANNER = ctr/libretro_banner.png +APP_AUDIO = ctr/silent.wav +APP_RSF = ctr/tools/template.rsf +APP_SYSTEM_MODE = 64MB +APP_SYSTEM_MODE_EXT = 124MB ifeq ($(BIG_STACK),1) @@ -33,22 +31,6 @@ CTR_LINEAR_HEAP_SIZE = 0xD00000 include ctr/Makefile.cores -ifeq ($(O3DS_80MB_APPMEM), 1) -APP_SYSTEM_MODE = 3 -else -APP_SYSTEM_MODE = 0 -endif - -ifeq ($(N3DS_178MB_APPMEM), 1) -APP_SYSTEM_MODE_EXT = 2 -#we can't have both :( -APP_SYSTEM_MODE = 0 -else -APP_SYSTEM_MODE_EXT = 1 -endif - - - CONFIG_OBJECT = ctr/ctr_config_$(CTR_STACK_SIZE)_$(CTR_LINEAR_HEAP_SIZE).o OBJS := @@ -229,7 +211,7 @@ else OBJS += menu/intl/menu_hash_pt.o OBJS += menu/intl/menu_hash_us.o OBJS += menu/drivers/null.o - OBJS += menu/drivers/menu_generic.o + OBJS += menu/drivers/menu_generic.o OBJS += menu/drivers/rgui.o OBJS += command_event.o OBJS += deps/zlib/adler32.o @@ -272,6 +254,7 @@ APP_AUTHOR := $(shell echo "$(APP_AUTHOR)" | cut -c1-128) APP_PRODUCT_CODE := $(shell echo $(APP_PRODUCT_CODE) | cut -c1-16) APP_UNIQUE_ID := $(shell echo $(APP_UNIQUE_ID) | cut -c1-7) +MAKEROM_ARGS_COMMON = -rsf $(APP_RSF) -exefslogo -elf $(TARGET).elf -icon $(TARGET).icn -banner $(TARGET).bnr -DAPP_TITLE="$(APP_TITLE)" -DAPP_PRODUCT_CODE="$(APP_PRODUCT_CODE)" -DAPP_UNIQUE_ID=$(APP_UNIQUE_ID) -DAPP_SYSTEM_MODE=$(APP_SYSTEM_MODE) -DAPP_SYSTEM_MODE_EXT=$(APP_SYSTEM_MODE_EXT) INCDIRS := -I$(CTRULIB)/include LIBDIRS := -L. -L$(CTRULIB)/lib @@ -328,6 +311,10 @@ ifeq ($(BUILD_3DSX), 1) TARGET_3DSX := $(TARGET).3dsx $(TARGET).smdh endif +ifeq ($(BUILD_3DS), 1) +TARGET_3DS := $(TARGET).3ds +endif + ifeq ($(BUILD_CIA), 1) TARGET_CIA := $(TARGET).cia endif @@ -336,7 +323,7 @@ endif all: $(TARGET) -$(TARGET): $(TARGET_3DSX) $(TARGET_CIA) +$(TARGET): $(TARGET_3DSX) $(TARGET_3DS) $(TARGET_CIA) $(TARGET).3dsx: $(TARGET).elf $(TARGET).elf: $(OBJS) libretro_ctr.a @@ -414,13 +401,18 @@ $(TARGET).bnr: $(APP_BANNER) $(APP_AUDIO) $(TARGET).icn: $(APP_ICON) $(BANNERTOOL) makesmdh -s "$(APP_TITLE)" -l "$(APP_TITLE)" -p "$(APP_AUTHOR)" -i $(APP_ICON) -o $@ -$(TARGET).cia: $(TARGET).elf $(TARGET).bnr $(TARGET).icn $(APP_CIA_RSF) - $(MAKEROM) -f cia -o $@ -rsf $(APP_CIA_RSF) -target t -exefslogo -elf $(TARGET).elf -icon $(TARGET).icn -banner $(TARGET).bnr -DAPP_TITLE="$(APP_TITLE)" -DAPP_PRODUCT_CODE="$(APP_PRODUCT_CODE)" -DAPP_UNIQUE_ID=$(APP_UNIQUE_ID) -DAPP_SYSTEM_MODE=$(APP_SYSTEM_MODE) -DAPP_SYSTEM_MODE_EXT=$(APP_SYSTEM_MODE_EXT) +$(TARGET).3ds: $(TARGET).elf $(TARGET).bnr $(TARGET).icn $(APP_RSF) + $(MAKEROM) -f cci -o $@ $(MAKEROM_ARGS_COMMON) -DAPP_ENCRYPTED=true + +$(TARGET).cia: $(TARGET).elf $(TARGET).bnr $(TARGET).icn $(APP_RSF) + $(MAKEROM) -f cia -o $@ $(MAKEROM_ARGS_COMMON) -DAPP_ENCRYPTED=false + clean: rm -f $(OBJS) rm -f $(TARGET).3dsx rm -f $(TARGET).elf + rm -f $(TARGET).3ds rm -f $(TARGET).cia rm -f $(TARGET).bnr rm -f $(TARGET).icn diff --git a/ctr/Makefile.cores b/ctr/Makefile.cores index 7e414515f0..053536e3bd 100644 --- a/ctr/Makefile.cores +++ b/ctr/Makefile.cores @@ -1,226 +1,267 @@ ifeq ($(LIBRETRO), gambatte) - APP_TITLE = Gambatte Libretro - #APP_DESCRIPTION = Retroarch 3DS - #APP_AUTHOR = Team Libretro - APP_PRODUCT_CODE = RARCH-GAMBATTE - APP_UNIQUE_ID = 0xBAC01 - APP_ICON = ctr/gambatte.png - #APP_BANNER = ctr/libretro_banner.png - #APP_AUDIO = ctr/silent.wav + APP_TITLE = Gambatte Libretro + #APP_DESCRIPTION = Retroarch 3DS + #APP_AUTHOR = Team Libretro + APP_PRODUCT_CODE = RARCH-GAMBATTE + APP_UNIQUE_ID = 0xBAC01 + APP_ICON = ctr/gambatte.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + #APP_SYSTEM_MODE = 64MB + #APP_SYSTEM_MODE_EXT = Legacy else ifeq ($(LIBRETRO), gpsp) - APP_TITLE = gpSP Libretro - #APP_DESCRIPTION = Retroarch 3DS - #APP_AUTHOR = Team Libretro - APP_PRODUCT_CODE = RARCH-GPSP - APP_UNIQUE_ID = 0xBAC02 - APP_ICON = ctr/gpsp.png - #APP_BANNER = ctr/libretro_banner.png - #APP_AUDIO = ctr/silent.wav + APP_TITLE = gpSP Libretro + #APP_DESCRIPTION = Retroarch 3DS + #APP_AUTHOR = Team Libretro + APP_PRODUCT_CODE = RARCH-GPSP + APP_UNIQUE_ID = 0xBAC02 + APP_ICON = ctr/gpsp.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + #APP_SYSTEM_MODE = 64MB + #APP_SYSTEM_MODE_EXT = Legacy else ifeq ($(LIBRETRO), fceumm) - APP_TITLE = FCeumm Libretro - #APP_DESCRIPTION = Retroarch 3DS - #APP_AUTHOR = Team Libretro - APP_PRODUCT_CODE = RARCH-FCEUMM - APP_UNIQUE_ID = 0xBAC03 - APP_ICON = ctr/fceumm.png - #APP_BANNER = ctr/libretro_banner.png - #APP_AUDIO = ctr/silent.wav + APP_TITLE = FCeumm Libretro + #APP_DESCRIPTION = Retroarch 3DS + #APP_AUTHOR = Team Libretro + APP_PRODUCT_CODE = RARCH-FCEUMM + APP_UNIQUE_ID = 0xBAC03 + APP_ICON = ctr/fceumm.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + #APP_SYSTEM_MODE = 64MB + #APP_SYSTEM_MODE_EXT = Legacy else ifeq ($(LIBRETRO), nestopia) - APP_TITLE = Nestopia Libretro - #APP_DESCRIPTION = Retroarch 3DS - #APP_AUTHOR = Team Libretro - APP_PRODUCT_CODE = RARCH-NESTOPIA - APP_UNIQUE_ID = 0xBAC04 - APP_ICON = ctr/nestopia.png - #APP_BANNER = ctr/libretro_banner.png - #APP_AUDIO = ctr/silent.wav + APP_TITLE = Nestopia Libretro + #APP_DESCRIPTION = Retroarch 3DS + #APP_AUTHOR = Team Libretro + APP_PRODUCT_CODE = RARCH-NESTOPIA + APP_UNIQUE_ID = 0xBAC04 + APP_ICON = ctr/nestopia.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + #APP_SYSTEM_MODE = 64MB + #APP_SYSTEM_MODE_EXT = Legacy else ifeq ($(LIBRETRO), nxengine) - APP_TITLE = NXengine Libretro - #APP_DESCRIPTION = Retroarch 3DS - #APP_AUTHOR = Team Libretro - APP_PRODUCT_CODE = RARCH-NXENGINE - APP_UNIQUE_ID = 0xBAC05 - APP_ICON = ctr/nxengine.png - #APP_BANNER = ctr/libretro_banner.png - #APP_AUDIO = ctr/silent.wav + APP_TITLE = NXengine Libretro + #APP_DESCRIPTION = Retroarch 3DS + #APP_AUTHOR = Team Libretro + APP_PRODUCT_CODE = RARCH-NXENGINE + APP_UNIQUE_ID = 0xBAC05 + APP_ICON = ctr/nxengine.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + #APP_SYSTEM_MODE = 64MB + #APP_SYSTEM_MODE_EXT = Legacy else ifeq ($(LIBRETRO), genesis_plus_gx) - APP_TITLE = Genesis Plus GX Libretro - #APP_DESCRIPTION = Retroarch 3DS - #APP_AUTHOR = Team Libretro - APP_PRODUCT_CODE = RARCH-GENPLUSGX - APP_UNIQUE_ID = 0xBAC06 - APP_ICON = ctr/genesis_plus_gx.png - #APP_BANNER = ctr/libretro_banner.png - #APP_AUDIO = ctr/silent.wav + APP_TITLE = Genesis Plus GX Libretro + #APP_DESCRIPTION = Retroarch 3DS + #APP_AUTHOR = Team Libretro + APP_PRODUCT_CODE = RARCH-GENPLUSGX + APP_UNIQUE_ID = 0xBAC06 + APP_ICON = ctr/genesis_plus_gx.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + #APP_SYSTEM_MODE = 64MB + #APP_SYSTEM_MODE_EXT = Legacy else ifeq ($(LIBRETRO), catsfc) - APP_TITLE = CATSFC Libretro - #APP_DESCRIPTION = Retroarch 3DS - #APP_AUTHOR = Team Libretro - APP_PRODUCT_CODE = RARCH-CATSFC - APP_UNIQUE_ID = 0xBAC07 - APP_ICON = ctr/catsfc.png - #APP_BANNER = ctr/libretro_banner.png - #APP_AUDIO = ctr/silent.wav + APP_TITLE = CATSFC Libretro + #APP_DESCRIPTION = Retroarch 3DS + #APP_AUTHOR = Team Libretro + APP_PRODUCT_CODE = RARCH-CATSFC + APP_UNIQUE_ID = 0xBAC07 + APP_ICON = ctr/catsfc.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + #APP_SYSTEM_MODE = 64MB + #APP_SYSTEM_MODE_EXT = Legacy else ifeq ($(LIBRETRO), mednafen_wswan) - APP_TITLE = Mednafen wswan Libretro - #APP_DESCRIPTION = Retroarch 3DS - #APP_AUTHOR = Team Libretro - APP_PRODUCT_CODE = RARCH-M-WSWAN - APP_UNIQUE_ID = 0xBAC08 - APP_ICON = ctr/mednafen_wswan.png - #APP_BANNER = ctr/libretro_banner.png - #APP_AUDIO = ctr/silent.wav + APP_TITLE = Mednafen wswan Libretro + #APP_DESCRIPTION = Retroarch 3DS + #APP_AUTHOR = Team Libretro + APP_PRODUCT_CODE = RARCH-M-WSWAN + APP_UNIQUE_ID = 0xBAC08 + APP_ICON = ctr/mednafen_wswan.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + #APP_SYSTEM_MODE = 64MB + #APP_SYSTEM_MODE_EXT = Legacy else ifeq ($(LIBRETRO), mednafen_vb) - APP_TITLE = Mednafen VB Libretro - #APP_DESCRIPTION = Retroarch 3DS - #APP_AUTHOR = Team Libretro - APP_PRODUCT_CODE = RARCH-M-VB - APP_UNIQUE_ID = 0xBAC09 - APP_ICON = ctr/mednafen_vb.png - #APP_BANNER = ctr/libretro_banner.png - #APP_AUDIO = ctr/silent.wav + APP_TITLE = Mednafen VB Libretro + #APP_DESCRIPTION = Retroarch 3DS + #APP_AUTHOR = Team Libretro + APP_PRODUCT_CODE = RARCH-M-VB + APP_UNIQUE_ID = 0xBAC09 + APP_ICON = ctr/mednafen_vb.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + #APP_SYSTEM_MODE = 64MB + #APP_SYSTEM_MODE_EXT = Legacy else ifeq ($(LIBRETRO), mednafen_ngp) - APP_TITLE = Mednafen NGP Libretro - #APP_DESCRIPTION = Retroarch 3DS - #APP_AUTHOR = Team Libretro - APP_PRODUCT_CODE = RARCH-M-NGP - APP_UNIQUE_ID = 0xBAC0A - APP_ICON = ctr/mednafen_ngp.png - #APP_BANNER = ctr/libretro_banner.png - #APP_AUDIO = ctr/silent.wav + APP_TITLE = Mednafen NGP Libretro + #APP_DESCRIPTION = Retroarch 3DS + #APP_AUTHOR = Team Libretro + APP_PRODUCT_CODE = RARCH-M-NGP + APP_UNIQUE_ID = 0xBAC0A + APP_ICON = ctr/mednafen_ngp.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + #APP_SYSTEM_MODE = 64MB + #APP_SYSTEM_MODE_EXT = Legacy else ifeq ($(LIBRETRO), 2048) - APP_TITLE = 2048 Libretro - #APP_DESCRIPTION = Retroarch 3DS - #APP_AUTHOR = Team Libretro - APP_PRODUCT_CODE = RARCH-2048 - APP_UNIQUE_ID = 0xBAC0B - APP_ICON = ctr/2048.png - #APP_BANNER = ctr/libretro_banner.png - #APP_AUDIO = ctr/silent.wav + APP_TITLE = 2048 Libretro + #APP_DESCRIPTION = Retroarch 3DS + #APP_AUTHOR = Team Libretro + APP_PRODUCT_CODE = RARCH-2048 + APP_UNIQUE_ID = 0xBAC0B + APP_ICON = ctr/2048.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + #APP_SYSTEM_MODE = 64MB + #APP_SYSTEM_MODE_EXT = Legacy else ifeq ($(LIBRETRO), picodrive) - APP_TITLE = Picodrive Libretro - #APP_DESCRIPTION = Retroarch 3DS - #APP_AUTHOR = Team Libretro - APP_PRODUCT_CODE = RARCH-PICODRIVE - APP_UNIQUE_ID = 0xBAC0C - APP_ICON = ctr/picodrive.png - #APP_BANNER = ctr/libretro_banner.png - #APP_AUDIO = ctr/silent.wav + APP_TITLE = Picodrive Libretro + #APP_DESCRIPTION = Retroarch 3DS + #APP_AUTHOR = Team Libretro + APP_PRODUCT_CODE = RARCH-PICODRIVE + APP_UNIQUE_ID = 0xBAC0C + APP_ICON = ctr/picodrive.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + #APP_SYSTEM_MODE = 64MB + #APP_SYSTEM_MODE_EXT = Legacy else ifeq ($(LIBRETRO), snes9x_next) - APP_TITLE = Snes9x Next Libretro - #APP_DESCRIPTION = Retroarch 3DS - #APP_AUTHOR = Team Libretro - APP_PRODUCT_CODE = RARCH-SNES9XNEXT - APP_UNIQUE_ID = 0xBAC0D - APP_ICON = ctr/snes9x_next.png - #APP_BANNER = ctr/libretro_banner.png - #APP_AUDIO = ctr/silent.wav + APP_TITLE = Snes9x Next Libretro + #APP_DESCRIPTION = Retroarch 3DS + #APP_AUTHOR = Team Libretro + APP_PRODUCT_CODE = RARCH-SNES9XNEXT + APP_UNIQUE_ID = 0xBAC0D + APP_ICON = ctr/snes9x_next.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + #APP_SYSTEM_MODE = 64MB + #APP_SYSTEM_MODE_EXT = Legacy else ifeq ($(LIBRETRO), mgba) - APP_TITLE = mGBA Libretro - #APP_DESCRIPTION = Retroarch 3DS - APP_AUTHOR = Jeffrey Pfau - APP_PRODUCT_CODE = RARCH-MGBA - APP_UNIQUE_ID = 0xBAC0E - APP_ICON = ctr/mgba.png - #APP_BANNER = ctr/libretro_banner.png - #APP_AUDIO = ctr/silent.wav + APP_TITLE = mGBA Libretro + #APP_DESCRIPTION = Retroarch 3DS + APP_AUTHOR = Jeffrey Pfau + APP_PRODUCT_CODE = RARCH-MGBA + APP_UNIQUE_ID = 0xBAC0E + APP_ICON = ctr/mgba.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + #APP_SYSTEM_MODE = 64MB + #APP_SYSTEM_MODE_EXT = Legacy else ifeq ($(LIBRETRO), quicknes) - APP_TITLE = QuickNES Libretro - #APP_DESCRIPTION = Retroarch 3DS - APP_AUTHOR = blargg, kode54 - APP_PRODUCT_CODE = RARCH-QUICKNES - APP_UNIQUE_ID = 0xBAC0F - APP_ICON = ctr/quicknes.png - #APP_BANNER = ctr/libretro_banner.png - #APP_AUDIO = ctr/silent.wav + APP_TITLE = QuickNES Libretro + #APP_DESCRIPTION = Retroarch 3DS + APP_AUTHOR = blargg, kode54 + APP_PRODUCT_CODE = RARCH-QUICKNES + APP_UNIQUE_ID = 0xBAC0F + APP_ICON = ctr/quicknes.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + #APP_SYSTEM_MODE = 64MB + #APP_SYSTEM_MODE_EXT = Legacy else ifeq ($(LIBRETRO), fb_alpha_neo) - APP_TITLE = Neo Geo (FB Alpha) - #APP_DESCRIPTION = Retroarch 3DS - APP_AUTHOR = Team FB Alpha - APP_PRODUCT_CODE = RARCH-FBANEOGEO - APP_UNIQUE_ID = 0xBAC10 - APP_ICON = ctr/fb_alpha_neo.png - #APP_BANNER = ctr/libretro_banner.png - #APP_AUDIO = ctr/silent.wav - O3DS_80MB_APPMEM = 1 - N3DS_178MB_APPMEM = 1 + APP_TITLE = Neo Geo (FB Alpha) + #APP_DESCRIPTION = Retroarch 3DS + APP_AUTHOR = Team FB Alpha + APP_PRODUCT_CODE = RARCH-FBANEOGEO + APP_UNIQUE_ID = 0xBAC10 + APP_ICON = ctr/fb_alpha_neo.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + APP_SYSTEM_MODE = 80MB + #APP_SYSTEM_MODE_EXT = Legacy else ifeq ($(LIBRETRO), fb_alpha_cps1) - APP_TITLE = Final Burn Alpha - CPS-1 - #APP_DESCRIPTION = Retroarch 3DS - APP_AUTHOR = Team FB Alpha - APP_PRODUCT_CODE = RARCH-FBACPS1 - APP_UNIQUE_ID = 0xBAC11 - APP_ICON = ctr/fb_alpha_cps1.png - #APP_BANNER = ctr/libretro_banner.png - #APP_AUDIO = ctr/silent.wav + APP_TITLE = Final Burn Alpha - CPS-1 + #APP_DESCRIPTION = Retroarch 3DS + APP_AUTHOR = Team FB Alpha + APP_PRODUCT_CODE = RARCH-FBACPS1 + APP_UNIQUE_ID = 0xBAC11 + APP_ICON = ctr/fb_alpha_cps1.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + #APP_SYSTEM_MODE = 64MB + #APP_SYSTEM_MODE_EXT = Legacy else ifeq ($(LIBRETRO), fb_alpha_cps2) - APP_TITLE = Final Burn Alpha - CPS-2 - #APP_DESCRIPTION = Retroarch 3DS - APP_AUTHOR = Team FB Alpha - APP_PRODUCT_CODE = RARCH-FBACPS2 - APP_UNIQUE_ID = 0xBAC12 - APP_ICON = ctr/fb_alpha_cps2.png - #APP_BANNER = ctr/libretro_banner.png - #APP_AUDIO = ctr/silent.wav - O3DS_80MB_APPMEM = 1 + APP_TITLE = Final Burn Alpha - CPS-2 + #APP_DESCRIPTION = Retroarch 3DS + APP_AUTHOR = Team FB Alpha + APP_PRODUCT_CODE = RARCH-FBACPS2 + APP_UNIQUE_ID = 0xBAC12 + APP_ICON = ctr/fb_alpha_cps2.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + APP_SYSTEM_MODE = 80MB + #APP_SYSTEM_MODE_EXT = Legacy else ifeq ($(LIBRETRO), catsfc_plus) - APP_TITLE = CATSFC Plus Libretro - #APP_DESCRIPTION = Retroarch 3DS - #APP_AUTHOR = Team Libretro - APP_PRODUCT_CODE = RARCH-CATSFCPLUS - APP_UNIQUE_ID = 0xBAC13 - APP_ICON = ctr/catsfc_plus.png - #APP_BANNER = ctr/libretro_banner.png - #APP_AUDIO = ctr/silent.wav + APP_TITLE = CATSFC Plus Libretro + #APP_DESCRIPTION = Retroarch 3DS + #APP_AUTHOR = Team Libretro + APP_PRODUCT_CODE = RARCH-CATSFCPLUS + APP_UNIQUE_ID = 0xBAC13 + APP_ICON = ctr/catsfc_plus.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + #APP_SYSTEM_MODE = 64MB + #APP_SYSTEM_MODE_EXT = Legacy else ifeq ($(LIBRETRO), mednafen_pce_fast) - APP_TITLE = Mednafen/Beetle PCE FAST - #APP_DESCRIPTION = Retroarch 3DS - APP_AUTHOR = Ryphecha - APP_PRODUCT_CODE = RARCH-M-PCE-FAST - APP_UNIQUE_ID = 0xBAC14 - APP_ICON = ctr/mednafen_pce_fast.png - #APP_BANNER = ctr/libretro_banner.png - #APP_AUDIO = ctr/silent.wav + APP_TITLE = Mednafen/Beetle PCE FAST + #APP_DESCRIPTION = Retroarch 3DS + APP_AUTHOR = Ryphecha + APP_PRODUCT_CODE = RARCH-M-PCE-FAST + APP_UNIQUE_ID = 0xBAC14 + APP_ICON = ctr/mednafen_pce_fast.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + #APP_SYSTEM_MODE = 64MB + #APP_SYSTEM_MODE_EXT = Legacy else ifeq ($(LIBRETRO), pcsx_rearmed) - APP_TITLE = PCSX ReARMed - #APP_DESCRIPTION = Retroarch 3DS - APP_AUTHOR = PCSX Team, notaz, Exophase - APP_PRODUCT_CODE = RARCH-PCSXRARMD - APP_UNIQUE_ID = 0xBAC15 - APP_ICON = ctr/pcsx_rearmed.png - #APP_BANNER = ctr/libretro_banner.png - #APP_AUDIO = ctr/silent.wav + APP_TITLE = PCSX ReARMed + #APP_DESCRIPTION = Retroarch 3DS + APP_AUTHOR = PCSX Team, notaz, Exophase + APP_PRODUCT_CODE = RARCH-PCSXRARMD + APP_UNIQUE_ID = 0xBAC15 + APP_ICON = ctr/pcsx_rearmed.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + #APP_SYSTEM_MODE = 64MB + #APP_SYSTEM_MODE_EXT = Legacy else ifeq ($(LIBRETRO), fmsx) - APP_TITLE = fMSX - #APP_DESCRIPTION = Retroarch 3DS - APP_AUTHOR = Marat Fayzullin - APP_PRODUCT_CODE = RARCH-FMSX - APP_UNIQUE_ID = 0xBAC16 - APP_ICON = ctr/fmsx.png - #APP_BANNER = ctr/libretro_banner.png - #APP_AUDIO = ctr/silent.wav + APP_TITLE = fMSX + #APP_DESCRIPTION = Retroarch 3DS + APP_AUTHOR = Marat Fayzullin + APP_PRODUCT_CODE = RARCH-FMSX + APP_UNIQUE_ID = 0xBAC16 + APP_ICON = ctr/fmsx.png + #APP_BANNER = ctr/libretro_banner.png + #APP_AUDIO = ctr/silent.wav + #APP_SYSTEM_MODE = 64MB + #APP_SYSTEM_MODE_EXT = Legacy endif diff --git a/ctr/tools/makerom-linux b/ctr/tools/makerom-linux index 00f4adab73..689349bb70 100755 Binary files a/ctr/tools/makerom-linux and b/ctr/tools/makerom-linux differ diff --git a/ctr/tools/makerom.exe b/ctr/tools/makerom.exe index e98ef9a634..759d1948ad 100755 Binary files a/ctr/tools/makerom.exe and b/ctr/tools/makerom.exe differ diff --git a/ctr/tools/template-3ds.rsf b/ctr/tools/template-3ds.rsf deleted file mode 100644 index 18a5f1feed..0000000000 --- a/ctr/tools/template-3ds.rsf +++ /dev/null @@ -1,234 +0,0 @@ -BasicInfo: - Title : "$(APP_TITLE)" - CompanyCode : "00" - ProductCode : "$(APP_PRODUCT_CODE)" - ContentType : Application - Logo : Nintendo # Nintendo / Licensed / Distributed / iQue / iQueForSystem - -#Rom: - # Specifies the root path of the file system to include in the ROM. - # HostRoot : "romfs" - -TitleInfo: - UniqueId : $(APP_UNIQUE_ID) - Category : Application - -CardInfo: - MediaSize : 128MB # 128MB / 256MB / 512MB / 1GB / 2GB / 4GB / 8GB / 16GB / 32GB - MediaType : Card1 # Card1 / Card2 - CardDevice : None # NorFlash(Pick this if you use savedata) / None - - -Option: - FreeProductCode : true # Removes limitations on ProductCode - MediaFootPadding : false # If true CCI files are created with padding - EnableCrypt : true # Enables encryption for NCCH and CIA - EnableCompress : true # Compresses exefs code - - -ExeFs: # these are the program segments from the ELF, check your elf for the appropriate segment names - ReadOnly: - - .rodata - - RO - ReadWrite: - - .data - - RO - Text: - - .init - - .text - - STUP_ENTRY - -PlainRegion: # only used with SDK ELFs - - .module_id - -AccessControlInfo: - # UseExtSaveData : true - # ExtSaveDataId: 0xff3ff - # UseExtendedSaveDataAccessControl: true - # AccessibleSaveDataIds: [0x101, 0x202, 0x303, 0x404, 0x505, 0x606] - -SystemControlInfo: - SaveDataSize: 128KB - RemasterVersion: 0 - StackSize: 0x40000 - -# DO NOT EDIT BELOW HERE OR PROGRAMS WILL NOT LAUNCH (most likely) - -AccessControlInfo: - FileSystemAccess: - - Debug - - DirectSdmc - - DirectSdmcWrite - - IdealProcessor : 0 - AffinityMask : 1 - - Priority : 16 - - MaxCpu : 0x9E # Default - - CoreVersion : 2 - DescVersion : 2 - - ReleaseKernelMajor : "02" - ReleaseKernelMinor : "33" - MemoryType : Application - HandleTableSize: 512 - IORegisterMapping: - - 1ff50000-1ff57fff - - 1ff70000-1ff77fff - MemoryMapping: - - 1f000000-1f5fffff:r - SystemCallAccess: - ArbitrateAddress: 34 - Break: 60 - CancelTimer: 28 - ClearEvent: 25 - ClearTimer: 29 - CloseHandle: 35 - ConnectToPort: 45 - ControlMemory: 1 - CreateAddressArbiter: 33 - CreateEvent: 23 - CreateMemoryBlock: 30 - CreateMutex: 19 - CreateSemaphore: 21 - CreateThread: 8 - CreateTimer: 26 - DuplicateHandle: 39 - ExitProcess: 3 - ExitThread: 9 - GetCurrentProcessorNumber: 17 - GetHandleInfo: 41 - GetProcessId: 53 - GetProcessIdOfThread: 54 - GetProcessIdealProcessor: 6 - GetProcessInfo: 43 - GetResourceLimit: 56 - GetResourceLimitCurrentValues: 58 - GetResourceLimitLimitValues: 57 - GetSystemInfo: 42 - GetSystemTick: 40 - GetThreadContext: 59 - GetThreadId: 55 - GetThreadIdealProcessor: 15 - GetThreadInfo: 44 - GetThreadPriority: 11 - MapMemoryBlock: 31 - OutputDebugString: 61 - QueryMemory: 2 - ReleaseMutex: 20 - ReleaseSemaphore: 22 - SendSyncRequest1: 46 - SendSyncRequest2: 47 - SendSyncRequest3: 48 - SendSyncRequest4: 49 - SendSyncRequest: 50 - SetThreadPriority: 12 - SetTimer: 27 - SignalEvent: 24 - SleepThread: 10 - UnmapMemoryBlock: 32 - WaitSynchronization1: 36 - WaitSynchronizationN: 37 - InterruptNumbers: - ServiceAccessControl: - - APT:U - - $hioFIO - - $hostio0 - - $hostio1 - - ac:u - - boss:U - - cam:u - - cecd:u - - cfg:u - - dlp:FKCL - - dlp:SRVR - - dsp::DSP - - frd:u - - fs:USER - - gsp::Gpu - - hid:USER - - http:C - - mic:u - - ndm:u - - news:u - - nwm::UDS - - ptm:u - - pxi:dev - - soc:U - - ssl:C - - y2r:u - - ldr:ro - - ir:USER - - -SystemControlInfo: - Dependency: - ac: 0x0004013000002402L - am: 0x0004013000001502L - boss: 0x0004013000003402L - camera: 0x0004013000001602L - cecd: 0x0004013000002602L - cfg: 0x0004013000001702L - codec: 0x0004013000001802L - csnd: 0x0004013000002702L - dlp: 0x0004013000002802L - dsp: 0x0004013000001a02L - friends: 0x0004013000003202L - gpio: 0x0004013000001b02L - gsp: 0x0004013000001c02L - hid: 0x0004013000001d02L - http: 0x0004013000002902L - i2c: 0x0004013000001e02L - ir: 0x0004013000003302L - mcu: 0x0004013000001f02L - mic: 0x0004013000002002L - ndm: 0x0004013000002b02L - news: 0x0004013000003502L - nim: 0x0004013000002c02L - nwm: 0x0004013000002d02L - pdn: 0x0004013000002102L - ps: 0x0004013000003102L - ptm: 0x0004013000002202L - ro: 0x0004013000003702L - socket: 0x0004013000002e02L - spi: 0x0004013000002302L - ssl: 0x0004013000002f02L -CommonHeaderKey: - D: | - jL2yO86eUQnYbXIrzgFVMm7FVze0LglZ2f5g+c42hWoEdnb5BOotaMQPBfqt - aUyAEmzQPaoi/4l4V+hTJRXQfthVRqIEx27B84l8LA6Tl5Fy9PaQaQ+4yRfP - g6ylH2l0EikrIVjy2uMlFgl0QJCrG+QGKHftxhaGCifdAwFNmiZuyJ/TmktZ - 0RCb66lYcr2h/p2G7SnpKUliS9h9KnpmG+UEgVYQUK+4SCfByUa9PxYGpT0E - nw1UcRz0gsBmdOqcgzwnAd9vVqgb42hVn6uQZyAl+j1RKiMWywZarazIR/k5 - Lmr4+groimSEa+3ajyoIho9WaWTDmFU3mkhA2tUDIQ== - Exponent: | - AQAB - Modulus: | - zwCcsyCgMkdlieCgQMVXA6X2jmb1ICjup0Q+jk/AydPkOgsx7I/MjUymFEkU - vgXBtCKtzh3NKXtFFuW51tJ60GPOabLKuG0Qm5li+UXALrWhzWuvd5vv2FZI - dTQCbrq/MFS/M02xNtwqzWiBjE/LwqIdbrDAAvX4HGy0ydaQJ1DKYeQeph5D - lAGBw2nQ4izXhhuLaU3w8VQkIJHdhxIKI5gJY/20AGkG0vHD553Mh5kBINrWp - CRYmmJS8DCYbAiQtKbkeUfzHViGTZuj6PwaY8Mv39PGO47a++pt45IUyCEs4/ - LjMS72cyfo8tU4twRGp76SFGYejYj3wGC1f/POQw== - Signature: | - BOPR0jL0BOV5Zx502BuPbOvi/hvOq5ID8Dz1MQfOjkey6FKP/6cb4f9YXpm6c - ZCHAZLo0GduKdMepiKPUq1rsbbAxkRdQdjOOusEWoxNA58x3E4373tCAhlqM2 - DvuQERrIIQ/XnYLV9C3uw4efZwhFqog1jvVyoEHpuvs8xnYtGbsKQ8FrgLwXv - pOZYy9cSgq+jqLy2D9IxiowPcbq2cRlbW9d2xlUfpq0AohyuXQhpxn7d9RUor - 9veoARRAdxRJK12EpcSoEM1LhTRYdJnSRCY3x3p6YIV3c+l1sWvaQwKt0sZ/U - 8TTDx2gb9g7r/+U9icneu/zlqUpSkexCS009Q== - Descriptor: | - AP///wAABAACAAAAAAAFGJ4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiIAAAAAAAABBUFQ6VQAAACRo - aW9GSU8AJGhvc3RpbzAkaG9zdGlvMWFjOnUAAAAAYm9zczpVAABjYW06dQAA - AGNlY2Q6dQAAY2ZnOnUAAABkbHA6RktDTGRscDpTUlZSZHNwOjpEU1BmcmQ6 - dQAAAGZzOlVTRVIAZ3NwOjpHcHVoaWQ6VVNFUmh0dHA6QwAAbWljOnUAAABu - ZG06dQAAAG5ld3M6dQAAbndtOjpVRFNwdG06dQAAAHB4aTpkZXYAc29jOlUA - AABzc2w6QwAAAHkycjp1AAAAbGRyOnJvAABpcjpVU0VSAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAABOn/rw/7//8ec/APIA8JH/APaR/1D/gf9Y/4H/cP+B/3j/gf8B - AQD/AAIA/iECAPz///////////////////////////////////////////// - ////////////////////////////////////////AAAAAAAAAAAAAAAAAAAA - AAADAAAAAAAAAAAAAAAAAAI= diff --git a/ctr/tools/template-cia.rsf b/ctr/tools/template-cia.rsf deleted file mode 100644 index 7f8dfc5afd..0000000000 --- a/ctr/tools/template-cia.rsf +++ /dev/null @@ -1,245 +0,0 @@ -BasicInfo: - Title : "$(APP_TITLE)" - CompanyCode : "00" - ProductCode : "$(APP_PRODUCT_CODE)" - ContentType : Application - Logo : Nintendo # Nintendo / Licensed / Distributed / iQue / iQueForSystem - -#Rom: - # Specifies the root path of the file system to include in the ROM. - # HostRoot : "romfs" - -TitleInfo: - UniqueId : $(APP_UNIQUE_ID) - Category : Application - -CardInfo: - MediaSize : 128MB # 128MB / 256MB / 512MB / 1GB / 2GB / 4GB / 8GB / 16GB / 32GB - MediaType : Card1 # Card1 / Card2 - CardDevice : None # NorFlash(Pick this if you use savedata) / None - - -Option: - UseOnSD : true # true if App is to be installed to SD - FreeProductCode : true # Removes limitations on ProductCode - MediaFootPadding : false # If true CCI files are created with padding - EnableCrypt : false # Enables encryption for NCCH and CIA - EnableCompress : true # Compresses exefs code - -ExeFs: # these are the program segments from the ELF, check your elf for the appropriate segment names - ReadOnly: - - .rodata - - RO - ReadWrite: - - .data - - RO - Text: - - .init - - .text - - STUP_ENTRY - -PlainRegion: # only used with SDK ELFs - # - .module_id - -AccessControlInfo: - # UseOtherVariationSaveData : true - # UseExtSaveData : true - # ExtSaveDataId: 0xffffffff - # SystemSaveDataId1: 0x220 - # SystemSaveDataId2: 0x00040010 - # OtherUserSaveDataId1: 0x220 - # OtherUserSaveDataId2: 0x330 - # OtherUserSaveDataId3: 0x440 - # UseExtendedSaveDataAccessControl: true - # AccessibleSaveDataIds: [0x101, 0x202, 0x303, 0x404, 0x505, 0x606] - FileSystemAccess: - # - CategorySystemApplication - # - CategoryHardwareCheck - # - CategoryFileSystemTool - - Debug - # - TwlCardBackup - # - TwlNandData - # - Boss - - DirectSdmc - # - Core - # - CtrNandRo - # - CtrNandRw - # - CtrNandRoWrite - # - CategorySystemSettings - # - CardBoard - # - ExportImportIvs - - DirectSdmcWrite - # - SwitchCleanup - # - SaveDataMove - # - Shop - # - Shell - # - CategoryHomeMenu - IoAccessControl: - # - FsMountNand - # - FsMountNandRoWrite - # - FsMountTwln - # - FsMountWnand - # - FsMountCardSpi - # - UseSdif3 - # - CreateSeed - # - UseCardSpi - - IdealProcessor : 0 - AffinityMask : 1 - - Priority : 16 - - MaxCpu : 0x9E # Default - CpuSpeed : 804mhz - EnableL2Cache : true - SystemMode : $(APP_SYSTEM_MODE) -# SystemModeExt : $(APP_SYSTEM_MODE_EXT) - - DisableDebug : false - EnableForceDebug : false - CanWriteSharedPage : true - CanUsePrivilegedPriority : false - CanUseNonAlphabetAndNumber : true - PermitMainFunctionArgument : true - CanShareDeviceMemory : true - RunnableOnSleep : false - SpecialMemoryArrange : true - - CoreVersion : 2 - DescVersion : 2 - - ReleaseKernelMajor : "02" - ReleaseKernelMinor : "33" - MemoryType : Application # Application / System / Base - HandleTableSize: 512 - IORegisterMapping: - - 1ff50000-1ff57fff - - 1ff70000-1ff77fff - MemoryMapping: - - 1f000000-1f5fffff:r - SystemCallAccess: - ArbitrateAddress: 34 - Break: 60 - CancelTimer: 28 - ClearEvent: 25 - ClearTimer: 29 - CloseHandle: 35 - ConnectToPort: 45 - ControlMemory: 1 - CreateAddressArbiter: 33 - CreateEvent: 23 - CreateMemoryBlock: 30 - CreateMutex: 19 - CreateSemaphore: 21 - CreateThread: 8 - CreateTimer: 26 - DuplicateHandle: 39 - ExitProcess: 3 - ExitThread: 9 - GetCurrentProcessorNumber: 17 - GetHandleInfo: 41 - GetProcessId: 53 - GetProcessIdOfThread: 54 - GetProcessIdealProcessor: 6 - GetProcessInfo: 43 - GetResourceLimit: 56 - GetResourceLimitCurrentValues: 58 - GetResourceLimitLimitValues: 57 - GetSystemInfo: 42 - GetSystemTick: 40 - GetThreadContext: 59 - GetThreadId: 55 - GetThreadIdealProcessor: 15 - GetThreadInfo: 44 - GetThreadPriority: 11 - MapMemoryBlock: 31 - OutputDebugString: 61 - QueryMemory: 2 - ReleaseMutex: 20 - ReleaseSemaphore: 22 - SendSyncRequest1: 46 - SendSyncRequest2: 47 - SendSyncRequest3: 48 - SendSyncRequest4: 49 - SendSyncRequest: 50 - SetThreadPriority: 12 - SetTimer: 27 - SignalEvent: 24 - SleepThread: 10 - UnmapMemoryBlock: 32 - WaitSynchronization1: 36 - WaitSynchronizationN: 37 - Backdoor: 123 - InterruptNumbers: - ServiceAccessControl: - - APT:U - - $hioFIO - - $hostio0 - - $hostio1 - - ac:u - - am:u - - boss:U - - cam:u - - cecd:u - - cfg:u - - dlp:FKCL - - dlp:SRVR - - dsp::DSP - - frd:u - - fs:USER - - gsp::Gpu - - gsp::Lcd - - hid:USER - - http:C - - mic:u - - ndm:u - - news:u - - nwm::UDS - - ptm:u - - pxi:dev - - soc:U - - ssl:C - - y2r:u - - ldr:ro - - ir:USER - - ir:u - - ir:rst - - csnd:SND - - -SystemControlInfo: - SaveDataSize: 0KB # It doesn't use any save data. - RemasterVersion: 2 - StackSize: 0x40000 - # JumpId: 0 - Dependency: - ac: 0x0004013000002402L - am: 0x0004013000001502L - boss: 0x0004013000003402L - camera: 0x0004013000001602L - cecd: 0x0004013000002602L - cfg: 0x0004013000001702L - codec: 0x0004013000001802L - csnd: 0x0004013000002702L - dlp: 0x0004013000002802L - dsp: 0x0004013000001a02L - friends: 0x0004013000003202L - gpio: 0x0004013000001b02L - gsp: 0x0004013000001c02L - hid: 0x0004013000001d02L - http: 0x0004013000002902L - i2c: 0x0004013000001e02L - ir: 0x0004013000003302L - mcu: 0x0004013000001f02L - mic: 0x0004013000002002L - ndm: 0x0004013000002b02L - news: 0x0004013000003502L - nim: 0x0004013000002c02L - nwm: 0x0004013000002d02L - pdn: 0x0004013000002102L - ps: 0x0004013000003102L - ptm: 0x0004013000002202L - ro: 0x0004013000003702L - socket: 0x0004013000002e02L - spi: 0x0004013000002302L - ssl: 0x0004013000002f02L diff --git a/ctr/tools/template.rsf b/ctr/tools/template.rsf new file mode 100644 index 0000000000..659bf8c8ec --- /dev/null +++ b/ctr/tools/template.rsf @@ -0,0 +1,213 @@ +BasicInfo: + Title : $(APP_TITLE) + ProductCode : $(APP_PRODUCT_CODE) + Logo : Nintendo # Nintendo / Licensed / Distributed / iQue / iQueForSystem + +TitleInfo: + Category : Application + UniqueId : $(APP_UNIQUE_ID) + +Option: + UseOnSD : true # true if App is to be installed to SD + FreeProductCode : true # Removes limitations on ProductCode + MediaFootPadding : false # If true CCI files are created with padding + EnableCrypt : $(APP_ENCRYPTED) # Enables encryption for NCCH and CIA + EnableCompress : false # Compresses where applicable (currently only exefs:/.code) + +AccessControlInfo: + CoreVersion : 2 + + # Exheader Format Version + DescVersion : 2 + + # Minimum Required Kernel Version (below is for 4.5.0) + ReleaseKernelMajor : "02" + ReleaseKernelMinor : "33" + + # FS:USER Archive Access Permissions + # Uncomment as required + FileSystemAccess: + #- CategorySystemApplication + #- CategoryHardwareCheck + #- CategoryFileSystemTool + - Debug + #- TwlCardBackup + #- TwlNandData + #- Boss + - DirectSdmc + #- Core + #- CtrNandRo + #- CtrNandRw + #- CtrNandRoWrite + #- CategorySystemSettings + #- CardBoard + #- ExportImportIvs + #- DirectSdmcWrite + #- SwitchCleanup + #- SaveDataMove + #- Shop + #- Shell + #- CategoryHomeMenu + + # Process Settings + MemoryType : Application # Application/System/Base + SystemMode : $(APP_SYSTEM_MODE) # 64MB(Default)/96MB/80MB/72MB/32MB + IdealProcessor : 0 + AffinityMask : 1 + Priority : 16 + MaxCpu : 0 # Let system decide + HandleTableSize : 0x200 + DisableDebug : false + EnableForceDebug : false + CanWriteSharedPage : true + CanUsePrivilegedPriority : false + CanUseNonAlphabetAndNumber : true + PermitMainFunctionArgument : true + CanShareDeviceMemory : true + RunnableOnSleep : false + SpecialMemoryArrange : true + + # New3DS Exclusive Process Settings + SystemModeExt : $(APP_SYSTEM_MODE_EXT) # Legacy(Default)/124MB/178MB Legacy:Use Old3DS SystemMode + CpuSpeed : 804MHz # 268MHz(Default)/804MHz + EnableL2Cache : true # false(default)/true + CanAccessCore2 : true + + # Virtual Address Mappings + IORegisterMapping: + - 1ff00000-1ff7ffff # DSP memory + MemoryMapping: + - 1f000000-1f5fffff:r # VRAM + + # Accessible SVCs, : + SystemCallAccess: + ArbitrateAddress: 34 + Break: 60 + CancelTimer: 28 + ClearEvent: 25 + ClearTimer: 29 + CloseHandle: 35 + ConnectToPort: 45 + ControlMemory: 1 + CreateAddressArbiter: 33 + CreateEvent: 23 + CreateMemoryBlock: 30 + CreateMutex: 19 + CreateSemaphore: 21 + CreateThread: 8 + CreateTimer: 26 + DuplicateHandle: 39 + ExitProcess: 3 + ExitThread: 9 + GetCurrentProcessorNumber: 17 + GetHandleInfo: 41 + GetProcessId: 53 + GetProcessIdOfThread: 54 + GetProcessIdealProcessor: 6 + GetProcessInfo: 43 + GetResourceLimit: 56 + GetResourceLimitCurrentValues: 58 + GetResourceLimitLimitValues: 57 + GetSystemInfo: 42 + GetSystemTick: 40 + GetThreadContext: 59 + GetThreadId: 55 + GetThreadIdealProcessor: 15 + GetThreadInfo: 44 + GetThreadPriority: 11 + MapMemoryBlock: 31 + OutputDebugString: 61 + QueryMemory: 2 + ReleaseMutex: 20 + ReleaseSemaphore: 22 + SendSyncRequest1: 46 + SendSyncRequest2: 47 + SendSyncRequest3: 48 + SendSyncRequest4: 49 + SendSyncRequest: 50 + SetThreadPriority: 12 + SetTimer: 27 + SignalEvent: 24 + SleepThread: 10 + UnmapMemoryBlock: 32 + WaitSynchronization1: 36 + WaitSynchronizationN: 37 + Backdoor: 123 + + # Service List + # Maximum 34 services (32 if firmware is prior to 9.6.0) + ServiceAccessControl: + - cfg:u + - fs:USER + - gsp::Gpu + - hid:USER + - ndm:u + - pxi:dev + - APT:U + - ac:u + - act:u + - am:net + - boss:U + - cam:u + - cecd:u + - csnd:SND + - frd:u + - http:C + - ir:USER + - ir:u + - ir:rst + - ldr:ro + - mic:u + - news:u + - nfc:u + - nim:aoc + - nwm::UDS + - ptm:u + - qtm:u + - soc:U + - ssl:C + - y2r:u + + +SystemControlInfo: + RemasterVersion: 2 + StackSize: 0x40000 + # Modules that run services listed above should be included below + # Maximum 48 dependencies + # If a module is listed that isn't present on the 3DS, the title will get stuck at the logo (3ds waves) + # So act, nfc and qtm are commented for 4.x support. Uncomment if you need these. + # : + Dependency: + ac: 0x0004013000002402 + #act: 0x0004013000003802 + am: 0x0004013000001502 + boss: 0x0004013000003402 + camera: 0x0004013000001602 + cecd: 0x0004013000002602 + cfg: 0x0004013000001702 + codec: 0x0004013000001802 + csnd: 0x0004013000002702 + dlp: 0x0004013000002802 + dsp: 0x0004013000001a02 + friends: 0x0004013000003202 + gpio: 0x0004013000001b02 + gsp: 0x0004013000001c02 + hid: 0x0004013000001d02 + http: 0x0004013000002902 + i2c: 0x0004013000001e02 + ir: 0x0004013000003302 + mcu: 0x0004013000001f02 + mic: 0x0004013000002002 + ndm: 0x0004013000002b02 + news: 0x0004013000003502 + #nfc: 0x0004013000004002 + nim: 0x0004013000002c02 + nwm: 0x0004013000002d02 + pdn: 0x0004013000002102 + ps: 0x0004013000003102 + ptm: 0x0004013000002202 + #qtm: 0x0004013020004202 + ro: 0x0004013000003702 + socket: 0x0004013000002e02 + spi: 0x0004013000002302 + ssl: 0x0004013000002f02 \ No newline at end of file diff --git a/dist-scripts/dist-cores.sh b/dist-scripts/dist-cores.sh index 63644ee764..1da4637a00 100755 --- a/dist-scripts/dist-cores.sh +++ b/dist-scripts/dist-cores.sh @@ -29,6 +29,7 @@ platform=ctr EXT=a mkdir -p ../pkg/3ds/cia mkdir -p ../pkg/3ds/3ds +mkdir -p ../pkg/3ds/3dsx # Emscripten elif [ $PLATFORM = "emscripten" ] ; then @@ -170,9 +171,10 @@ for f in *_${platform}.${EXT} ; do mv -f ../retroarch_${platform}.velf ../pkg/${platform}/${name}_libretro_${platform}.velf elif [ $PLATFORM = "ctr" ] ; then mv -f ../retroarch_3ds.cia ../pkg/3ds/cia/${name}_libretro.cia - mkdir -p ../pkg/3ds/3ds/${name}_libretro - mv -f ../retroarch_3ds.3dsx ../pkg/3ds/3ds/${name}_libretro/${name}_libretro.3dsx - mv -f ../retroarch_3ds.smdh ../pkg/3ds/3ds/${name}_libretro/${name}_libretro.smdh + mv -f ../retroarch_3ds.3ds ../pkg/3ds/3ds/${name}_libretro.3ds + mkdir -p ../pkg/3ds/3dsx/${name}_libretro + mv -f ../retroarch_3ds.3dsx ../pkg/3ds/3dsx/${name}_libretro/${name}_libretro.3dsx + mv -f ../retroarch_3ds.smdh ../pkg/3ds/3dsx/${name}_libretro/${name}_libretro.smdh elif [ $PLATFORM = "ngc" ] ; then mv -f ../retroarch_${platform}.dol ../pkg/${platform}/${name}_libretro_${platform}.dol elif [ $PLATFORM = "wii" ] ; then @@ -190,7 +192,6 @@ for f in *_${platform}.${EXT} ; do rm -f ../retroarch_${platform}.velf ../retroarch_${platform}.elf elif [ $PLATFORM = "ctr" ] ; then rm -f ../retroarch_3ds.elf - rm -f ../retroarch_3ds.rsf rm -f ../retroarch_3ds.bnr rm -f ../retroarch_3ds.icn elif [ $PLATFORM = "ngc" ] ; then diff --git a/frontend/drivers/platform_ctr.c b/frontend/drivers/platform_ctr.c index 174fb85ab8..f868443b43 100644 --- a/frontend/drivers/platform_ctr.c +++ b/frontend/drivers/platform_ctr.c @@ -70,6 +70,9 @@ void __system_allocateHeaps() { svcGetSystemInfo(&mem_used, 0, 1); + // For n3DS running with 124MB, only 110MB appears actually available + app_memory = app_memory > 0x6E00000 ? 0x6E00000 : app_memory; + heap_size = (app_memory - mem_used - linear_heap_size - 0x10000) & 0xFFFFF000; // Allocate the application heap