diff --git a/Compiled/hekate_ipl.ini b/Compiled/hekate_ipl.ini index 337e0b2..e2bd04c 100644 --- a/Compiled/hekate_ipl.ini +++ b/Compiled/hekate_ipl.ini @@ -3,7 +3,10 @@ autoboot=0 bootwait=5 customlogo=1 verification=2 - +{ } +{Launch Homebrew Menu by pressing} +{"R" while launching the album} +{ } {-- Custom Firmwares --} [CFW] kip1=modules/newfirm/loader.kip @@ -61,11 +64,6 @@ atmosphere=1 {Requires the sigpatchpayload.bin} {That comes with this ZIP} { } -[ReiNX] -kip1=modules/reinx/loader.kip -kip1=modules/reinx/sm.kip -logopath=modules/reinx/ -kip1patch=nosigchk [CFW + Signature Patches] kip1=modules/newfirm/loader.kip kip1=modules/newfirm/sm.kip @@ -78,6 +76,7 @@ kip1patch=nosigchk kip1=modules/newfirm/loader.kip kip1=modules/newfirm/sm.kip kip1=modules/newfirm/fs_mitm.kip +atmosphere=1 kip1patch=nosigchk [Stock + Signature Patches] kip1patch=nosigchk @@ -91,7 +90,7 @@ kip1patch=nosigchk {----------------------} { } -{Running v6 of tumGER/SDFilesSwitch} +{Running v6.1 of tumGER/SDFilesSwitch} {By: tomGER(@tumGER)} {StevenMattera, WerWolv} { } @@ -101,7 +100,7 @@ kip1patch=nosigchk {Thog, vgmoose, Brawl345} {GGLinnk, jpe230, Adubbz} {thomasnet, TheDgtl, Rei} -{jakibaki, rajkosto} -{and many more} +{jakibaki, rajkosto,} +{mariogamer2 and many more} { } {----------------------} \ No newline at end of file diff --git a/Compiled/modules/atmosphere/loader.kip b/Compiled/modules/atmosphere/loader.kip index 55a3d4a..44e9be5 100644 Binary files a/Compiled/modules/atmosphere/loader.kip and b/Compiled/modules/atmosphere/loader.kip differ diff --git a/Compiled/modules/newfirm/loader.kip b/Compiled/modules/newfirm/loader.kip index 7d115f9..44e9be5 100644 Binary files a/Compiled/modules/newfirm/loader.kip and b/Compiled/modules/newfirm/loader.kip differ diff --git a/Compiled/modules/reinx/loader.kip b/Compiled/modules/reinx/loader.kip deleted file mode 100644 index a557784..0000000 Binary files a/Compiled/modules/reinx/loader.kip and /dev/null differ diff --git a/Compiled/modules/reinx/sm.kip b/Compiled/modules/reinx/sm.kip deleted file mode 100644 index 3e895b9..0000000 Binary files a/Compiled/modules/reinx/sm.kip and /dev/null differ diff --git a/HowToCompile.md b/HowToCompile.md index 64dbaf6..aadb02a 100644 --- a/HowToCompile.md +++ b/HowToCompile.md @@ -69,9 +69,106 @@ Atmosphere needs some custom changes to it to work with current hekate and also ``` located ~ at line 72 - This removes the Exosphere API Check from the Loader - -3. Go into "Atmosphere\stratosphere\fs_mitm" and find "fsmitm_main.cpp" -4. Remove + +4. In the same directory, find "ldr_npdm.cpp" +5. Find this function: + ``` + FILE *NpdmUtils::OpenNpdm(u64 title_id) { + FILE *f_out = OpenNpdmFromSdCard(title_id); + if (f_out != NULL) { + return f_out; + } + return OpenNpdmFromExeFS(); + + } + ``` + and replace it by this one: + ``` + FILE *NpdmUtils::OpenNpdm(u64 title_id) { + if (title_id == 0x010000000000100D) { + Result rc; + rc = hidInitialize(); + if (R_FAILED(rc)){ + fatalSimple(MAKERESULT(Module_Libnx, LibnxError_InitFail_HID)); + } + hidScanInput(); + u64 kDown = hidKeysDown(CONTROLLER_P1_AUTO); + if(kDown & KEY_R) { + hidExit(); + FILE *f_out = OpenNpdmFromSdCard(title_id); + if (f_out != NULL) { + return f_out; + } + return OpenNpdmFromExeFS(); + } + else { + hidExit(); + return OpenNpdmFromExeFS(); + } + } + else { + FILE *f_out = OpenNpdmFromSdCard(title_id); + if (f_out != NULL) { + return f_out; + } + return OpenNpdmFromExeFS(); + } +} + ``` +6. In the same directory, find "ldr_nso.cpp" +7. Find this function: +``` +FILE *NsoUtils::OpenNso(unsigned int index, u64 title_id) { + FILE *f_out = OpenNsoFromSdCard(index, title_id); + if (f_out != NULL) { + return f_out; + } else if (CheckNsoStubbed(index, title_id)) { + return NULL; + } else { + return OpenNsoFromExeFS(index); + } +} +``` +and replace it by this one: +``` +FILE *NsoUtils::OpenNso(unsigned int index, u64 title_id) { + if (title_id == 0x010000000000100D) { + Result rc; + rc = hidInitialize(); + if (R_FAILED(rc)){ + fatalSimple(MAKERESULT(Module_Libnx, LibnxError_InitFail_HID)); + } + hidScanInput(); + u64 kDown = hidKeysDown(CONTROLLER_P1_AUTO); + if(kDown & KEY_R) { + hidExit(); + FILE *f_out = OpenNsoFromSdCard(index, title_id); + if (f_out != NULL) { + return f_out; + } else if (CheckNsoStubbed(index, title_id)) { + return NULL; + } else { + return OpenNsoFromExeFS(index); + } + } + else { + hidExit(); + return OpenNsoFromExeFS(index); } + } + else { + FILE *f_out = OpenNsoFromSdCard(index, title_id); + if (f_out != NULL) { + return f_out; + } else if (CheckNsoStubbed(index, title_id)) { + return NULL; + } else { + return OpenNsoFromExeFS(index); + } + } +} +``` +8. Go into "Atmosphere\stratosphere\fs_mitm" and find "fsmitm_main.cpp" +9. Remove ```cpp /* Check for exosphere API compatibility. */ u64 exosphere_cfg; @@ -87,19 +184,19 @@ located ~ at line 72 ``` located ~ at line 67 -5. Go back into the root of the Atmosphere submodule -6. Type "make" -7. Wait a bit, this will take some time -8. Go back into "Atmosphere\stratosphere\fs_mitm" -9. Type "make" -10. Wait a bit, this will take some time -11. Copy "loader.kip" from "Atmosphere\stratosphere\loader" into: +9. Go back into the root of the Atmosphere submodule +10. Type "make" +11. Wait a bit, this will take some time +12. Go back into "Atmosphere\stratosphere\fs_mitm" +13. Type "make" +14. Wait a bit, this will take some time +15. Copy "loader.kip" from "Atmosphere\stratosphere\loader" into: - "SDFilesSwitch/Compiled/modules/newfirm/" -12. Copy "fs_mitm.kip" from "Atmosphere\stratosphere\fs_mitm" into: +16. Copy "fs_mitm.kip" from "Atmosphere\stratosphere\fs_mitm" into: - "SDFilesSwitch/Compiled/modules/newfirm/" -13. Copy "sm.kip" from "Atmosphere\stratosphere\sm" into: +17. Copy "sm.kip" from "Atmosphere\stratosphere\sm" into: - "SDFilesSwitch/Compiled/modules/newfirm/" -14. Copy the updated files to your SD and test them on your Switch +18. Copy the updated files to your SD and test them on your Switch - If everything worked, congrats! You compiled Atmosphere's patched Loader, SM and LayeredFS :) - If it didn't, you either messed something up or Atmosphere had some change to its code in the time I wrote this till now - In that case I'd guess contacting me over Twitter (@_tomGER [Or @tumGER since I check that more often]) is your best bet if I'm gone - If you're here because you just wanted to compile it yourself than contact me over tomGER \#7462 on Discord. @@ -112,7 +209,7 @@ located ~ at line 67 **Atmosphere sometimes even uses features that aren't even in LibNX yet, in that case follow [the previous steps](https://github.com/tumGER/SDFilesSwitch/blob/master/HowToCompile.md#libnx) but use the [Atmosphere LibNX fork](https://github.com/Atmosphere-NX/libnx/tree/for-atmosphere) by typing ```git clone https://github.com/Atmosphere-NX/libnx.git -b for-atmosphere``` into your desired location** -1. Go into "Atmosphere\fusee\fusee-primary\src" and find "main.c" +1. Apply steps 4-7 from [Updating Atmosphere](https://github.com/tumGER/SDFilesSwitch/blob/master/HowToCompile.md#updating-atmospheres-loader-sm-and-layeredfs-with-patches) 2. Type make on the root of the Atmosphere submodule 3. Copy "sm.kip" from "Atmosphere\stratosphere\sm", "fs_mitm.kip" from "Atmosphere\stratosphere\fs_mitm", "loader.kip" from "Atmosphere\stratosphere\loader" and "exosphere.bin" from "Atmosphere/exosphere" into "Compiled/modules/atmosphere"