Tutorial
Updated
CakesFW use (decrypted) firmware.bin from another CFW -> e.g. firmlaunch 9.0
Hello,
If you are looking for a way to use firmware.bin with cakesfw which is NOT available on NUS (NintendoUpdateServer) anymore, then this is the right tutorial for you! This guide is most useful for ppl with arm9loaderhax (a9lh) because you can coldboot homebrew with arm11 execution.
Explanation: Most CFWs don't use the firmware from your 3DS, instead they are loading a "firmware.bin" from sd card and patch it on the fly to make homebrew usage possible on the latest firmware. But there are two different firmware.bin you can get:
-The official one which hosts NUS [encrypted! First bytes inside the file are garbage]
-The decrypted one (e.g. AuReiNAND uses this) [First bytes inside the file say "FIRM"]
CakesFW uses always the former and not all firmware.bin are available for download. e.g. N3DS firmware.bin for 9.0 is missing. This is how we circumvent this issue without recompiling and alter with the sourcecode.
Pros and Cons:
+Coldboot homebrew with ARM11 execution (e.g. gateway/hbl); only way to do it otherwise is to use AuReiNAND and holding "L" while booting
+Plain simple push on/off button and boot homebrew
- You can't use CakesFW bootmenu anymore (else you have to make changes again)
Prerequisites:
-AuReinand CFW installed and running.
-CakesFW installed and running.
-the decrypted firmware.bin *
-Hexeditor of your choice
*=Legal way: If you can't find a decrypted firmware.bin for the firmware you seek, you can follow this tutorial to dump and decrypt your own from a 3DS:
http://gbatemp.net/threads/quick-tu...-any-system-titles.396247/page-2#post-6154106
Thank you @pakrett !
And instead of creating a d9titles folder you create "Decrypt9" and copy the firm.app in there. Use the option: Game Decrypter Options->NCCH/NCSD Decryptor
Note: For N3DS the app-folder inside the firmwareimage will be 20000002.
Method2: You can decrypt and extract the cia of the Downgrade-Pack to retrieve a decrypted copy.
** For a decrypted 9.0 N3DS firmware.bin you can use the "firm.7z" pack from AuReiNands github.
Guide:
1. copy the firmware.bin to the rei folder (sd0:/rei/) on your sd. Create an empty file there called "usepatchedfw"
2. Boot Aureinand once or hold "L" while booting to use the firmware90.bin
3. Configure Cakes so it autoboots cfw and uses the patches/settings you need.
4. Copy the config.dat to your pc
5. Now you need to know from which NATIVE_FIRM your firmware.bin is!
Look up the "3DS hex title contentID" on https://3dbrew.org/wiki/FIRM and remember it.
Example: For firmware 4.0 it will be "0x1D"
Note: I didn't find it for New3DS but there exist only 4 versions up today:
"0x04" stands for 9.0+
"0x0B" stands for 9.6+
"0x0F" stands for 10.2+
"0x1F" stands for 10.4+
6. Open up the config.dat in a hexeditor and on the right side you'll see a path to the patches you're applying.
e.g. "/cakes/patches/n3ds-0x1F/emunand.cake"
Replace the 0x1F with the "3DS hex title contentID" from the firmware.bin you want to use.
So for N3DS fw9.0 it will be "/cakes/patches/n3ds-0x04/emunand.cake"
7. Do this for all entries you see in your config.dat
8. Rename the patched_firmware.bin or patched_firmware90.bin from sd0:/rei/ to "firmware_patched.bin"
9. Move and replace the firmware_patched.bin from sd0:/rei/ to sd0:/cakes/
10. CakesFW should work now
For firmware.bin 9.0 user:
You can now configure the nand you are booting to with menuhax and boot for example gateway directly!
If it doesn't work for whatever reason (blackscreen) make sure you have all required Slot0xXXKeyXXX.bin files on sd0:/.
Hope this helps some people.
EDIT: 18.03.2016: Editing config.dat is not needed
If you are looking for a way to use firmware.bin with cakesfw which is NOT available on NUS (NintendoUpdateServer) anymore, then this is the right tutorial for you! This guide is most useful for ppl with arm9loaderhax (a9lh) because you can coldboot homebrew with arm11 execution.
Explanation: Most CFWs don't use the firmware from your 3DS, instead they are loading a "firmware.bin" from sd card and patch it on the fly to make homebrew usage possible on the latest firmware. But there are two different firmware.bin you can get:
-The official one which hosts NUS [encrypted! First bytes inside the file are garbage]
-The decrypted one (e.g. AuReiNAND uses this) [First bytes inside the file say "FIRM"]
CakesFW uses always the former and not all firmware.bin are available for download. e.g. N3DS firmware.bin for 9.0 is missing. This is how we circumvent this issue without recompiling and alter with the sourcecode.
Pros and Cons:
+Coldboot homebrew with ARM11 execution (e.g. gateway/hbl); only way to do it otherwise is to use AuReiNAND and holding "L" while booting
+Plain simple push on/off button and boot homebrew
- You can't use CakesFW bootmenu anymore (else you have to make changes again)
Prerequisites:
-AuReinand CFW installed and running.
-CakesFW installed and running.
-the decrypted firmware.bin *
*=Legal way: If you can't find a decrypted firmware.bin for the firmware you seek, you can follow this tutorial to dump and decrypt your own from a 3DS:
http://gbatemp.net/threads/quick-tu...-any-system-titles.396247/page-2#post-6154106
Thank you @pakrett !
And instead of creating a d9titles folder you create "Decrypt9" and copy the firm.app in there. Use the option: Game Decrypter Options->NCCH/NCSD Decryptor
Note: For N3DS the app-folder inside the firmwareimage will be 20000002.
Method2: You can decrypt and extract the cia of the Downgrade-Pack to retrieve a decrypted copy.
** For a decrypted 9.0 N3DS firmware.bin you can use the "firm.7z" pack from AuReiNands github.
Guide:
1. copy the firmware.bin to the rei folder (sd0:/rei/) on your sd. Create an empty file there called "usepatchedfw"
2. Boot Aureinand once or hold "L" while booting to use the firmware90.bin
3. Configure Cakes so it autoboots cfw and uses the patches/settings you need.
5. Now you need to know from which NATIVE_FIRM your firmware.bin is!
Look up the "3DS hex title contentID" on https://3dbrew.org/wiki/FIRM and remember it.
Example: For firmware 4.0 it will be "0x1D"
Note: I didn't find it for New3DS but there exist only 4 versions up today:
"0x04" stands for 9.0+
"0x0B" stands for 9.6+
"0x0F" stands for 10.2+
"0x1F" stands for 10.4+
6. Open up the config.dat in a hexeditor and on the right side you'll see a path to the patches you're applying.
e.g. "/cakes/patches/n3ds-0x1F/emunand.cake"
Replace the 0x1F with the "3DS hex title contentID" from the firmware.bin you want to use.
So for N3DS fw9.0 it will be "/cakes/patches/n3ds-0x04/emunand.cake"
7. Do this for all entries you see in your config.dat
8. Rename the patched_firmware.bin or patched_firmware90.bin from sd0:/rei/ to "firmware_patched.bin"
9. Move and replace the firmware_patched.bin from sd0:/rei/ to sd0:/cakes/
10. CakesFW should work now
For firmware.bin 9.0 user:
You can now configure the nand you are booting to with menuhax and boot for example gateway directly!
If it doesn't work for whatever reason (blackscreen) make sure you have all required Slot0xXXKeyXXX.bin files on sd0:/.
Hope this helps some people.
EDIT: 18.03.2016: Editing config.dat is not needed
Last edited by GothicIII,