This one's been in the works for a bit of a while. Presenting Twili, my homebrew debug monitor for the Nintendo Switch:
Twili - Homebrew Debug Monitor (now with GDB stub)
[GitHub] [Latest Release]
What is it?: It's a debug monitor/development tool/nx-hbloader replacement.
What does it let me do?:
How is it different from nx-hbloader/nxlink?: Aside from having way more features, it runs each homebrew in its own process, which is a clean slate except for a small stub providing HBABI keys. This means that homebrew can manage its own memory and doesn't have to worry about cleaning up entirely behind itself for the next application.
Does it have a GDB stub?: As of 1.2.0, yes! See the README on the github repo for instructions.
What firmware versions does it work on?: To my knowledge, all of them. 1.0.0 might behave a bit differently regarding sysmodule crash fatal errors.
What CFWs does it work on?: The only CFW that I can confirm functionality on and actively support is Atmosphère, and only somewhat recent versions of it (0.10.2+). Twili has been tested on Atmosphère 0.10.2. Twili might work on other CFWs with some tweaks. Don't run Twili on piracy firmware because you'll make me very sad.
What should I know before I install it?: It replaces nx-hbloader. That means it replaces hbl.nsp. If you don't like Twili and want to remove it, don't forget to put back nx-hbloader's hbl.nsp.
How do I install it?: See the installation instructions on the GitHub repo.
Where do I download it?: Releases page on the GitHub repo.
What is the most recent version?: The most recent version is Twili 1.3.0. Also update Twib on each release, since bugfixes are included.
Where is the source code?: https://github.com/misson20000/twili
How is it licensed?: Twili is licensed under the GPLv3.
Where do I report bugs?: If you're not 100% convinced it's a bug, it's best to bring it up either here or on Discord first. You can find me in the ReSwitched discord. If you're convinced it's a bug, I keep track of those on GitHub.
Where do I get support?: Either here on on Discord. You can find me in the ReSwitched discord.
Twili - Homebrew Debug Monitor (now with GDB stub)
[GitHub] [Latest Release]
What is it?: It's a debug monitor/development tool/nx-hbloader replacement.
What does it let me do?:
- It lets you send and launch homebrew over USB (or TCP, I don't judge).
- If the homebrew is compatible, it lets you have stdin/stdout/stderr over USB, too, through the command line tool. This allows for a very fast development cycle.
- If you don't need your homebrew to be an applet (you're developing a background sysmodule), it can reduce iteration time even farther by preventing fatal errors when your sysmodule inevitably crashes.
- You can use GDB to debug your homebrew (applets, sysmodules, etc.) or even official software.
- When something crashes, you can generate an ELF core dump that you can load in a real man's debugger (aarch64-linux-gnu-elf) to help you figure out what went wrong instead of having to turn your console off, remove the SD card, find the crash log, and use addr2line to turn it into something meaningful.
- Did I mention that you can core dump any process, and not just homebrew?
- It lets you query overall RAM usage on your console.
- It lets you get a list of all the processes running on your console, and...
- It lets you kill them, too.
- If low-level debugging is your style, it lets you debug them too. As of 1.2.0, there's even a GDB stub.
How is it different from nx-hbloader/nxlink?: Aside from having way more features, it runs each homebrew in its own process, which is a clean slate except for a small stub providing HBABI keys. This means that homebrew can manage its own memory and doesn't have to worry about cleaning up entirely behind itself for the next application.
Does it have a GDB stub?: As of 1.2.0, yes! See the README on the github repo for instructions.
What firmware versions does it work on?: To my knowledge, all of them. 1.0.0 might behave a bit differently regarding sysmodule crash fatal errors.
What CFWs does it work on?: The only CFW that I can confirm functionality on and actively support is Atmosphère, and only somewhat recent versions of it (0.10.2+). Twili has been tested on Atmosphère 0.10.2. Twili might work on other CFWs with some tweaks. Don't run Twili on piracy firmware because you'll make me very sad.
What should I know before I install it?: It replaces nx-hbloader. That means it replaces hbl.nsp. If you don't like Twili and want to remove it, don't forget to put back nx-hbloader's hbl.nsp.
How do I install it?: See the installation instructions on the GitHub repo.
Where do I download it?: Releases page on the GitHub repo.
What is the most recent version?: The most recent version is Twili 1.3.0. Also update Twib on each release, since bugfixes are included.
Where is the source code?: https://github.com/misson20000/twili
How is it licensed?: Twili is licensed under the GPLv3.
Where do I report bugs?: If you're not 100% convinced it's a bug, it's best to bring it up either here or on Discord first. You can find me in the ReSwitched discord. If you're convinced it's a bug, I keep track of those on GitHub.
Where do I get support?: Either here on on Discord. You can find me in the ReSwitched discord.
Last edited by misson20000,