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
 

Attachments

  • luma3ds.zip
    182.1 KB · Views: 54
  • homebrew_launcher.zip
    211.7 KB · Views: 60
Last edited by Pikachuk,

NewUserNumber4678

New Member
Newbie
Joined
Feb 14, 2023
Messages
3
Trophies
0
Age
21
XP
13
Country
United States
have you tried the option "Enable Plugins"? Cheats kept crashing my game too until i turned it on out of desperation. Now my cheats work just fine. I think that when the game calls to activate a cheat but plugins are disabled, it is unable to load the cheat as it is considered a plugin, and that is disabled. open up the rosalina menu, and it will be the 4th option there (or most likely on the first screen if you modified it/have a different version, I don't really know what happened since I'm new to all of this).
 

Pikachuk

Well-Known Member
OP
Member
Joined
Mar 19, 2016
Messages
769
Trophies
0
Age
23
Location
Bordeaux
XP
766
Country
France
have you tried the option "Enable Plugins"? Cheats kept crashing my game too until i turned it on out of desperation. Now my cheats work just fine. I think that when the game calls to activate a cheat but plugins are disabled, it is unable to load the cheat as it is considered a plugin, and that is disabled. open up the rosalina menu, and it will be the 4th option there (or most likely on the first screen if you modified it/have a different version, I don't really know what happened since I'm new to all of this).
How is this related in any way to my post ?
 

exsilium

New Member
Newbie
Joined
May 3, 2023
Messages
3
Trophies
0
Age
43
XP
60
Country
Estonia
Thank you for these! I was dabbling with getting Jas Game Engine and Wagic (the magic the gathering clone) to compile and work on 3DS at some point. The debugging workflow was just painful for me and felt like a huge time-sink. It's really awesome that things like this keep popping up that will actually improve the developer experience. I think I need to dedicate one 2DS/3DS to be the "devkit"-machine ;)
 

Pikachuk

Well-Known Member
OP
Member
Joined
Mar 19, 2016
Messages
769
Trophies
0
Age
23
Location
Bordeaux
XP
766
Country
France
Thank you for these! I was dabbling with getting Jas Game Engine and Wagic (the magic the gathering clone) to compile and work on 3DS at some point. The debugging workflow was just painful for me and felt like a huge time-sink. It's really awesome that things like this keep popping up that will actually improve the developer experience. I think I need to dedicate one 2DS/3DS to be the "devkit"-machine ;)
I recommend using an O3DS or a 2DS for it, mostly becausz I found out that in case the debug cfw corrupts itself (which sometimes happens) simply popping out the sd card and booting the console without then putting it back and rebooting the console fixes it. And as the sd card slot is more easily accessible on o3ds and 2ds it's more convenient
 
  • Like
Reactions: exsilium

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    BigOnYa @ BigOnYa: Peace. Take care, no more searching tonight. You gonna have nightmares. +1