Homebrew Tutorial
Updated
Fork of Luma3DS and Homebrew Launcher for easy debugging
Hey everyone,
I've been working the last few days on modifying the source code of luma3ds and homebrew launcher because I always felt like the debugging workflow when making 3ds homebrews was a huge pain. After all we always had to:
- turn on the 3ds
- go through the 3ds menu
- open homebrew launcher
- go to the rosalina menu
- enable the debugger
- enable debugging for next app
- leave rosalina menu
- press y to enable 3dslink
and THEN we could go about debugging. And if our homebrew stopped, we then have to go back to the rosalina menu to enable once again debugging for the next app. This is just super annoying. it could take like 2 entire minutes
which is why I came up with these two forks. The luma3ds one being actually submitted as a pull request for possible integration into the main one.
the main improvements are that I added the ability to luma to listen to requests from other homebrews in order to enable and disable rosalina's debugging features without a need to use the menu
so I made a custom homebrew launcher making use of these features to make it always debug homebrews it loads with rosalina, it will also automatically start the homebrew launcher in 3dslink mode without a need to press Y. which once again is pretty good for fast workflows
to enable the new features, you need to add a file named debug_hbl.txt to the root of your sd card
Custom luma3ds : https://github.com/SeleDreams/Luma3DS
Custom homebrew launcher : https://github.com/SeleDreams/3ds-hbmenu
I also included the prebuilt binaries to this post
Replace the boot.firm at the root of your sd card by the boot.firm of the luma fork and replace the boot.3dsx at the root by the boot.3dsx of the homebrew launcher fork and then you can start using them
as this homebrew launcher will always start homebrews in debug mode, the homebrews will wait for a debugger to attach, thus it is normal that they stay on a black screen until a debugger is attached. Normally, the debugger address should be the usual rosalina one, so the IP of your 3ds with the port 4003
you can make your workflow even faster by going to the luma config file (luma/config.ini in the sd card) and enable autoboot, to boot directly into homebrew launcher without going through the 3ds menu
Please keep in mind this is still a mod to the luma cfw itself. As such, MAKE BACKUPS before installing. I sometimes had some bugs where it wouldn't reboot after a crash without deleting the firm from the sd to make it use the built in one. So consider this highly unstable
Also, since it will start the debugger, the homebrews will not start directly, it will stay on a black screen until a debugger is attached to it and tells the execution to continue
I've been working the last few days on modifying the source code of luma3ds and homebrew launcher because I always felt like the debugging workflow when making 3ds homebrews was a huge pain. After all we always had to:
- turn on the 3ds
- go through the 3ds menu
- open homebrew launcher
- go to the rosalina menu
- enable the debugger
- enable debugging for next app
- leave rosalina menu
- press y to enable 3dslink
and THEN we could go about debugging. And if our homebrew stopped, we then have to go back to the rosalina menu to enable once again debugging for the next app. This is just super annoying. it could take like 2 entire minutes
which is why I came up with these two forks. The luma3ds one being actually submitted as a pull request for possible integration into the main one.
the main improvements are that I added the ability to luma to listen to requests from other homebrews in order to enable and disable rosalina's debugging features without a need to use the menu
so I made a custom homebrew launcher making use of these features to make it always debug homebrews it loads with rosalina, it will also automatically start the homebrew launcher in 3dslink mode without a need to press Y. which once again is pretty good for fast workflows
to enable the new features, you need to add a file named debug_hbl.txt to the root of your sd card
Custom luma3ds : https://github.com/SeleDreams/Luma3DS
Custom homebrew launcher : https://github.com/SeleDreams/3ds-hbmenu
I also included the prebuilt binaries to this post
Replace the boot.firm at the root of your sd card by the boot.firm of the luma fork and replace the boot.3dsx at the root by the boot.3dsx of the homebrew launcher fork and then you can start using them
as this homebrew launcher will always start homebrews in debug mode, the homebrews will wait for a debugger to attach, thus it is normal that they stay on a black screen until a debugger is attached. Normally, the debugger address should be the usual rosalina one, so the IP of your 3ds with the port 4003
you can make your workflow even faster by going to the luma config file (luma/config.ini in the sd card) and enable autoboot, to boot directly into homebrew launcher without going through the 3ds menu
Please keep in mind this is still a mod to the luma cfw itself. As such, MAKE BACKUPS before installing. I sometimes had some bugs where it wouldn't reboot after a crash without deleting the firm from the sd to make it use the built in one. So consider this highly unstable
Also, since it will start the debugger, the homebrews will not start directly, it will stay on a black screen until a debugger is attached to it and tells the execution to continue
Attachments
Last edited by Pikachuk,