TWiLight Menu++ by Robz8 - Play DS Games from SD Card on 3DS & more
Welcome to GBAtemp Project Spotlight, where we shine the light on the incredible creations and projects from within the GBAtemp community!
For our second issue we're taking a look at TWiLight Menu++ by GBAtemp member @Robz8
TWiLight Menu++
✔ Launch DS(i) ROMs from the SD card and/or flashcard, via nds-bootstrap (comes included with the app)!
✔ For flashcards, the flashcard kernel/firmware can optionally be used to boot the games.
✔ Automatic on-the-fly AP-patching! Drag and drop your ROMs onto the SD card, and play, without any additional steps!
✔ The included AP-patches are loaded for a specific game, by nds-bootstrap, and the patching is done in RAM, leaving your original ROM untouched.
✔ Bring the DSi Menu to your DS Phat/lite, by putting TWLMenu++ on a flashcard!
✔ First DS flashcard UI to show animated icons from DSi-Enhanced, DSi-Exclusive, and DSiWare games!
✔ Set the language to your preference.
✔ 10 save slots!
✔ For DSi/3DS/2DS users: Overclock your DS games to 133mhz, faster than normal DS clock speed of 67mhz!
✔ For DSi/3DS/2DS users: Change sound frequency from 32kHz to 48kHz for higher sound quality!
✔ Directly access the flashcard's microSD card, and switch to and from there anytime! (Only applies to the flashcards listed right below the instructions.)
✔ Run the last played ROM on TWiLight Menu++ startup.
✔ Play retro games from these consoles: Atari 2600, via StellaDS (.a26 only); Atari 5200, via A5200DS (.a52 only); Atari 7800, via A7800DS (.a78 only); NES/Famicom, via nesDS; (Super) GameBoy (Color), via GameYob; Sega Master System/Game Gear, via S8DS; Sega MegaDrive/Genesis, via jEnesisDS (or PicoDriveTWL, if ROM is above 3MB) (.gen only); Super Nintendo/Famicom, via SNEmulDS; PC-Engine/TurboGrafx-16, via NitroGrafx; GameBoy Advance, via GBARunner2 or the DS' native GBA mode, which the latter requires one of these Slot-2 flashcards: M3, G6, SuperCard SD/MiniSD/MicroSD, EZ-Flash (before Omega) (Saving does not work)
✔ Play videos: Using GBARunner2 or native GBA mode
✔ 3DS/2DS users: Play DS games in 16:10 widescreen! Not all games will work with this feature.
What is TWiLight Menu++?
Developed by GBAtemp member @Robz8 , TWiLight Menu++ is an open-source DSi Menu upgrade/replacement for the Nintendo DSi, the Nintendo 3DS and Nintendo DS flashcards. It can launch Nintendo DS, SNES, NES, GameBoy (Color), GameBoy Advance, Sega GameGear/Master System & Mega Drive/Genesis ROMs, as well as DSTWO plugins (if you use a DSTWO) and videos.
The TWiLight Menu++ discussion thread has been going since May 2017 and has almost surpassed 2,500,000 views!
Q&A with Robz8, lead developer of TWiLight Menu++
- What is TWiLight Menu++ in a nutshell?
TWiLight Menu++ is a GUI (or a menu) for DS & DSi games, as well as games that came before the DS(i), and allows launching of those games through a loader or emulator.
- What features and functionality does TWiLight Menu++ provide?
It contains themes that change the look of the menu, such as Nintendo DSi, Nintendo 3DS, Original R4, Homebrew Launcher, and GameBoy Color.
GUI customization, such as hiding files/folders, hiding the splash screen(s), changing music, and more are included.
It can also launch DS games through a separate homebrew application called nds-bootstrap, and DSiWare games through Unlaunch (which is DSi-Exclusive).
The user can choose to enable DSi features in DS games, such as TWL clock speed, which doubles the ARM9 CPU speed, and can eliminate lags in some games. The user can also improve the sound quality of DS games by setting the Sound/Mic frequency to 48khz. The change will be noticeable in headphones or earphones.
If running on a flashcard, the user can switch between either nds-bootstrap/B4DS (usable on both Slot-1 and Slot-2) or the flashcard's kernel (only for Slot-1) to run DS games.
Past games from the GameBoy Advance, Super Nintendo, SEGA Genesis, NES, and more, are booted through emulators made by other devs.
For the case of GBA games, they can be booted through either the DS Phat/lite's GBA mode, or a hypervisor called GBARunner2, the latter of which can run on the DS, DSi and 3DS/2DS consoles.
For the DS Phat/lite's GBA mode, the user is required to use a Slot-2 flashcard, which can run GBA games from it's SD card slot (though an SD card for the slot is not required, if running from Slot-1). An EZ-Flash card (which came before the Omega) will also work.
Lastly, the user can launch either a DS game inserted in the game card slot (Slot-1) with the optional enhancements, or a GBA game in the bottom game slot (Slot-2) of the DS Phat/lite.
- What sets TWiLight Menu++ apart from the alternatives?
TWiLight Menu++ contains more features than my previous app for the 3DS, called TWLoader. TWiLight Menu++ also enables usage of DSi features, which cannot be enabled on DS flashcards (at least without CFW).
- When did you begin writing software?
It was back in 2016, when nds-bootstrap first came about. A user-friendly GUI was needed to use nds-bootstrap, so I created a menu/launcher called TWLoader.
- Any advice for wannabe coders?
All I can say is, experiment by changing some code in an existing source code, compile, and see what happens!
- What got you into this project in particular?
nds-bootstrap, and my nostalgia for the DS and past consoles.
- Do you have anything else you'd like to say?
Yes, I do! Thank you for the feedback of TWiLight Menu++, and thank you contributors as well. You all helped improved TWiLight Menu++ (and nds-bootstap), and is looking better since it first came about (previously known as SRLoader and DSiMenu++)!
Thanks to @Robz8 for taking the time out to share his project with us!
TWiLight Menu++ (GBAtemp)
GitHub source
GBAtemp's Project Spotlight
Are you the author of a homebrew project? Or do you know of one that should receive the GBAtemp Project Spotlight treatment? Then please get in touch to discuss getting it featured right here!
Are you the author of a homebrew project? Or do you know of one that should receive the GBAtemp Project Spotlight treatment? Then please get in touch to discuss getting it featured right here!