diff --git a/Makefile b/Makefile index 90bcf28..a1ff2a9 100755 --- a/Makefile +++ b/Makefile @@ -7,6 +7,7 @@ include $(DEVKITARM)/base_rules ################################################################################ IPL_LOAD_ADDR := 0x40008000 +NYX_STORAGE_ADDR := 0xED000000 IPL_MAGIC := 0x43544349 #"ICTC" BLVERSION_MAJOR := 4 BLVERSION_MINOR := 10 @@ -32,7 +33,7 @@ OBJS = $(addprefix $(BUILDDIR)/$(TARGET)/, \ # Hardware. OBJS += $(addprefix $(BUILDDIR)/$(TARGET)/, \ - clock.o cluster.o di.o gpio.o i2c.o mc.o sdram.o pinmux.o se.o smmu.o tsec.o uart.o \ + bpmp.o clock.o cluster.o di.o gpio.o i2c.o mc.o sdram.o pinmux.o se.o smmu.o tsec.o uart.o \ fuse.o kfuse.o minerva.o \ sdmmc.o sdmmc_driver.o emummc.o nx_emmc.o \ bq24193.o max17050.o max7762x.o max77620-rtc.o \ @@ -59,7 +60,7 @@ OBJS += $(addprefix $(BUILDDIR)/$(TARGET)/, \ ################################################################################ -CUSTOMDEFINES := -DIPL_LOAD_ADDR=$(IPL_LOAD_ADDR) -DBL_MAGIC=$(IPL_MAGIC) +CUSTOMDEFINES := -DIPL_LOAD_ADDR=$(IPL_LOAD_ADDR) -DNYX_STORAGE_ADDR=$(NYX_STORAGE_ADDR) -DBL_MAGIC=$(IPL_MAGIC) CUSTOMDEFINES += -DBL_VER_MJ=$(BLVERSION_MAJOR) -DBL_VER_MN=$(BLVERSION_MINOR) -DBL_VER_HF=$(BLVERSION_HOTFX) -DBL_RESERVED=$(BL_RESERVED) CUSTOMDEFINES += -DMENU_LOGO_ENABLE @@ -89,7 +90,7 @@ clean: @rm -rf $(OUTPUTDIR) $(MODULEDIRS): - $(MAKE) -C $@ $(MAKECMDGOALS) + $(MAKE) -C $@ $(MAKECMDGOALS)$(MAKEFLAGS) $(TARGET).bin: $(BUILDDIR)/$(TARGET)/$(TARGET).elf $(MODULEDIRS) $(OBJCOPY) -S -O binary $< $(OUTPUTDIR)/$@ diff --git a/README.md b/README.md index 861c070..9710ea6 100644 --- a/README.md +++ b/README.md @@ -8,17 +8,28 @@ Custom Nintendo Switch bootloader, firmware patcher, and more. ## Bootloader folders and files -| Folder/File | Description | -| -------------------- | --------------------------------------------------------------------- | -| bootloader | Main folder. | -| \|__ bootlogo.bmp | It is used when custom is on and no logopath found. Can be skipped. | -| \|__ hekate_ipl.ini | Main bootloader configuration and boot entries. | -| \|__ update.bin | If newer, it is loaded at boot. For modchips. Can be skipped. | -| bootloader/ini/ | For individual inis. 'More configs...' menu. Autoboot is supported. | -| bootloader/sys/ | For system modules. | -| \|__ libsys_lp0.bso | LP0 (sleep mode) module. Important! | -| bootloader/payloads/ | For payloads. 'Payloads...' menu. Autoboot only supported by including them into an ini. All CFW bootloaders, tools, Linux payloads are supported. | -| bootloader/libtools/ | Future reserved | +| Folder/File | Description | +| ------------------------ | --------------------------------------------------------------------- | +| bootloader | Main folder. | +| \|__ bootlogo.bmp | It is used when custom is on and no logopath found. Can be skipped. | +| \|__ hekate_ipl.ini | Main bootloader configuration and boot entries. | +| \|__ patches | Add external patches. Can be skipped | +| \|__ update.bin | If newer, it is loaded at boot. For modchips. Can be skipped. | +| bootloader/ini/ | For individual inis. 'More configs...' menu. Autoboot is supported. | +| bootloader/res/ | Nyx user resources. Icons and more. | +| \|__ background.bmp | Nyx - custom background. | +| \|__ icon_switch.bmp | Nyx - Default icon for CFWs. | +| \|__ icon_payload.bmp | Nyx - Default icon for Payloads. | +| \|__ icon_lakka.bmp | Nyx - Default icon for Lakka. | +| bootloader/sys/ | For system modules. | +| \|__ emummc.kipm | emuMMC KIP1 module. Important! | +| \|__ libsys_lp0.bso | LP0 (sleep mode) module. Important! | +| \|__ libsys_minerva.bso | Minerva Training Cell. Used for DRAM Frequency training. Important! | +| \|__ nyx.bin | Nyx - Our GUI. Important! | +| \|__ res.pak | Nyx resources package. Important! | +| bootloader/screenshots/ | Folder where Nyx screenshots are saved | +| bootloader/payloads/ | For payloads. 'Payloads...' menu. Autoboot only supported by including them into an ini. All CFW bootloaders, tools, Linux payloads are supported. | +| bootloader/libtools/ | Future reserved | **Note**: Sept files for booting 7.0.0 and up are expected at /sept folder at root of sd card. @@ -67,7 +78,7 @@ There are four possible type of entries. "**[ ]**": Boot entry, "**{ }**": Capti **Note2**: When using FSS0 it parses exosphere, warmboot and all core kips. You can override the first 2 by using `secmon`/`warmboot` after defining `fss0`. You can define `kip1` to load an extra kip or many via the wildcard (`/*`) usage. -**Warning**: Never define core kips when using `fss0` and make sure that the folder (when using `/*`), does not include them. +**Warning**: Never define core kips when using `fss0` and make sure that the folder (when using `/*`), does not include them. This is in case the kips are incompatible between them. ### Payload storage: @@ -79,7 +90,7 @@ Hekate now has a new storage in the binary that helps it configure it outside of | '0x94' boot_cfg | bit0: Force AutoBoot, bit1: Show launch log, bit2: sept run. | | '0x95' autoboot | If `Force AutoBoot`: 0: Force go to menu, else boot that entry. | | '0x96' autoboot_list | If `Force AutoBoot` and `autoboot` then it boots from ini folder. | -| '0x97' extra_cfg | Reserved. | +| '0x97' extra_cfg | bit7: Force Nyx to run `Dump pkg1/2. | | '0x98' rsvd[128] | Reserved. | diff --git a/res/hekate_ipl_template.ini b/res/hekate_ipl_template.ini index 521bb70..ce9d9c2 100644 --- a/res/hekate_ipl_template.ini +++ b/res/hekate_ipl_template.ini @@ -10,18 +10,26 @@ autonogc=1 {-------- Stock -------} [Stock 6.2.0 and lower] stock=1 +emummc_force_disable=1 [Stock All FW] fss0=atmosphere/fusee-secondary.bin stock=1 -{ } +emummc_force_disable=1 # Both above disable kernel patching # Stock All FW, includes exosphere and warmboot, ONLY when >= 7.0.0. +[Stock emuMMC All FW] +fss0=atmosphere/fusee-secondary.bin +stock=1 +{ } + {-- Custom Firmwares --} [Atmo FSS0 Vanilla] fss0=atmosphere/fusee-secondary.bin logopath=cfw/atmo.bmp +# You can have 2 entries of everything where one can boot with emuMMC and one without, +# via the emummc_force_disable=1 key. [CFW FSS0 extra kips] fss0=atmosphere/fusee-secondary.bin @@ -56,4 +64,4 @@ atmosphere=1 payload=bootloader/payloads/memloader.bin -# hekate - CTCaer mod v4.9.1 .ini template +# hekate - CTCaer mod v5.0.0 .ini template