Add info about Nyx/emuMMC

This commit is contained in:
ctcaer@gmail.com 2019-06-30 03:57:45 +03:00
parent a1a0d8db49
commit c0b3a4fc54
3 changed files with 38 additions and 18 deletions

View file

@ -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)/$@

View file

@ -9,14 +9,25 @@ 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. |
| \|__ 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 |
@ -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. |

View file

@ -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