Repository navigation
Releases: DS-Homebrew/TWiLightMenu
Release list
v27.25.1 (hotfix)
Check here on how to update TWiLight Menu++:
What's new?
- In the DS Classic Menu,
???is now displayed instead ofslot1if no Slot-1 info was found.
Bug fix
- Fixed a regression which caused a non-inited game card slot (aka Slot-1) to crash when attempting to read data from it. The crash was known to occur either in or when accessing the DS Classic Menu.
v27.25.0
Includes nds-bootstrap v2.17.0 (10th Anniversary Release!)
Check here on how to update TWiLight Menu++:
Updated add-ons
- Multimedia: Image viewer, and Rocket Video Player
- Virtual Console
What's new?
- To reduce load times each time a screen mode loads (or loading a different
.srldrfile), the currently set font will no longer load again!- The font now loads when either the DS(i) splash screen or the TWLMenu++ splash screen (whichever comes first) plays. If both are disabled, the startup time will remain the same as prior releases.
- To ensure no slowdown in the TWLMenu++ splash screen, NDMA is now used to read the DSi/3DS SD card (with code ported from nds-bootstrap).
- Added a long overdue update to the
Slot-1 microSD accesssetting, where it now supports more flashcards (with code ported from GodMode9i)!- Acekard 2(i) (This was already supported, but the update should fix crashing when launching a
.ndsfile from there.) - CycloDS Evolution
- DSpico
- DSTT
- Demon/DSTTi clones
- EZ Flash Parellel
- Games n' Music
- N-Card
- R4 (Original, no SDHC)
- Acekard 2(i) (This was already supported, but the update should fix crashing when launching a
- @Warioware64: Provided a system that let users define custom extension file launching method, along with a huge refactoring of launcher/emulator codebase to match with the new method. (#2681)
- Pressing
Abutton will now skip the TWLMenu++ splash screen. - @PW5190: Added Zelda-themed TWLMenu++ splash screen, which displays on February 21st!
- Text of selected title now moves up alongside the icon when launching in the DS Classic Menu!
- Added compressed
.ndzROM support for DSpico IR! (Untested, since I don't have one.) - Homebrew made with DSGM are now detected as DS mode homebrew (assuming they all use the same ARM7 binary).
- Removed GameYob & NitroGrafx from the minimal Virtual Console add-on for 3DS.
- Removed Unlaunch requirement for SNES (SNEmulDS) and GEN/MD (jEnesisDS) games!
- Removed RAM disk requirement for jEnesisDS, SNEmulDS v06-WIP2, and ikuReader v0.058!
- As nds-bootstrap now runs both jEnesisDS and SNEmulDS with DSi/3DS SD card access, ROMs will no longer be passed to those emulators as RAM disk paths!
- As nds-bootstrap now patches jEnesisDS to run ROMs up to 4MB while in DSi mode, it'll now be used for those ROMs when launching from the DSi/3DS SD card!
- PicoDrive TWL will continue to be used for ROMs larger than 4MB such as Super Street Fighter II: The New Challengers and Earthion (or larger than 3MB if using a flashcard).
- @Warioware64: DS Download Play now has the RSA check patched out (by default) to allow unsigned homebrew and modified DLP ROMs to boot!
- A new
.ndsfile with the check patched out will be created insd:/_nds/when launching DS Download Play from the SELECT menu, the DS Classic Menu, or the 3DS Menu UI (via the small icon).
- A new
- @Warioware64: Pictochat and DS Download Play will now load from DSi or 3DS NAND when launched from the 3DS Menu UI.
- @PW5190: Added ESRB ratings for these games:
- Bookworm (DS version)
- Bubble Bobble Double Shot
- Bubble Bobble Revolution
- Magical Starsign
- N+
- Plants vs. Zombies (DS version)
- Rooms: The Main Building
- SNK vs. Capcom: Card Fighters DS
- @Warioware64: Icons can now be dragged with the stylus in the DSi & 3DS Menu UIs!
- Added forced widescreen setting in the per-game settings menu.
- Improved widescreen cheat detection.
- Re-added
.bmpbox art support! - Added
Slot-1 Modeper-game setting for DSiWare.- Enabling the setting will allow displaying the
Card Read DMA&Async Card Readsettings.
- Enabling the setting will allow displaying the
Game Loadersetting is now hidden for DSiWare ROMs larger than 64MB.- Added (default)
Minimalsetting for theAsync Card Readper-game setting, withOnnow renamed toFull. - Added support for dual-screen images in the image viewer!
- Bottom screen image must be named
???_bot.gif/.bmp/.png, and both images should have the same filetype/extension. - Bottom screen images will be hidden, as launching the top screen image will automatically load the bottom screen image. If macro mode is turned on, both files will be shown due to macro mode only using a single screen.
- Bottom screen image must be named
- Further reduced color banding in the TWLMenu++/Rocket Robz splash screen and image viewer.
- Dithering patterns will be noticeable on DS Phat, DSi for DS flashcards, and 3DS.
- On DSi running from SD or DSi flashcards, there will be no dithering patterns, as the screen's refresh rate will run at 75Hz, rapidly switching between four different images (instead of two) with adjusted range in order to achieve the look of an increased color range!
- There are images you can download and test here: https://github.com/DS-Homebrew/TWiLightMenu/tree/master/imageview/resources/testing
- Further reduced color banding for box art and photos (at the cost of some dither patterns).
- @Warioware64: Added lid open/close sound effect support for DSi-based UIs.
- @Warioware64: Added alpha bit handling of ARGB1555 Rocket Video files in the 3DS Menu UI, allowing the background to appear behind videos.
- @Warioware64: Improved Rocket Video handling with dual screen video support in the 3DS Menu UI.
- @Warioware64: Added new settings for
theme.ini(used for custom DSi/3DS UI themes) for playing Rocket Video files in the 3DS Menu UI.RotatingCubesMainScreen: Screen a single screen video plays on: 0 = top, 1 = bottomRotatingCubesLoopFrame: Frame the video loops back to after its last one; earlier frames play once as an intro
- Reduced RAM usage for displaying photos in the DSi Menu UI.
- Optimized clock & calendar images in the DS Classic Menu, using tinypng.
- Optimized top bar and calender marker image loading in the DS Classic Menu by reducing them from multiple files per-set user color, to single files and changing their colors depending on the set user color.
- TWLMenu++ splash screen easter eggs can now be turned off in TWLMenu++ Settings.
- Renamed
Photo & box art color de-bandsetting toPhoto & Box art dither levelin TWLMenu++ Settings. - As the safe Unlaunch installer has been avilable for a while now, Unlaunch settings are now hidden in TWLMenu++ Settings.
- To continue use with the original installer (not recommended),
UNLAUNCH_SETTINGSwill need to be set to1insettings.inito re-enable them.
- To continue use with the original installer (not recommended),
- To save space, the included Unlaunch patch is now de-duplicated across NitroFS, and is now located in
sd:/_nds/TWiLightMenu/unlaunch/. - Replace screen Hz adjustment code (from FastVideoDSPlayer) (used in TWLMenu++ splash screen) with simple implementation (now also used in the image viewer).
- Moved
tonccpyand GIF display code to ITCM (for a minor unnoticeable speedup). - Various: Updated translations + save relocation strings are now translated.
- A minor update to the avatar in the Rocket Robz logo.
Bug fixes
- @Warioware64: Fixed small artifact issue with icons in the 3DS Menu UI.
- @Warioware64: Fixed subbanner of DSiWare titles that don't show correctly.
- Fixed wireless DSiWare apps showing a white square instead of the wireless icon in the DS Classic Menu.
- Slightly adjusted DS Classic Menu top bar colors to match colors displayed in the OG DS menu from melonDS.
- The
Default Launchersetting is no longer shown if hiyaCFW is not installed. - Do not pre-load TID-named box art file to RAM if directory is found.
- Removed
snemul.cfgfrom the minimal Virtual Console add-on for 3DS. - Fix DS(i) mode reboot not working on some 3DS consoles.
- DSi BIOS files are now dumped to where TWLMenu++ is being run from instead of always to the console SD card. Fixes where launching a DSpico flashcard in DSi mode would cause a Guru Meditation Error screen to appear if no
_ndsfolder exists on the console SD card root.
Known bug
- When selecting the bottom title in the DS Classic Menu to launch, it'll erase the top title's text.
v27.24.1 (hotfix)
v27.24.0: Rocket Robz' Birthday Release
Includes nds-bootstrap v2.16.0
Check here on how to update TWiLight Menu++:
To celebrate Rocket Robz' birthday, the Rocket Robz logo (if enabled) has been updated with an improved background and text display (plus a shadow appearing underneath Robz for a 3D-like effect)!
What's new?
- As some of the emulators included in the Virtual Console add-on have better alternatives for 3DS users, the add-on has been split into Minimal and Full versions.
- Minimal: Does not include NES/GEN/SNES/GBA emulators (recommended for most users)
- Full: Does include NES/GEN/SNES/GBA emulators
- This change only applies to 3DS users. DSi and Flashcard users will still have a version of the add-on which includes all of the emulators (except for GBA, which comes with the default installation).
- 3DS SD Card: The TID for TWLMenu++ is now written to both
srBackendId.bin&srFrontendId.bin(atsd:/_nds/nds-bootstrap) when launching a DS(i) game via nds-bootstrap. This will allow nds-bootstrap to reboot back to TWLMenu++ when quitting a DS(i) game running in DS mode. - Added cheat support for when Pico Loader is used as the flashcard game loader.
- Untested: Box art is now displayed for folders/directories!
- @lifehackerhansol: Re-enabled support for EZ-Flash Vi autoboot.
- If the alternate DSTWO DLDI driver is detected (when returning from nds-bootstrap), it'll be switched to the normal one.
- 3DS UI: Updated the latest supported RVID version to v5.
- Various: Updated translations.
Bug fixes
- Directories with
.(dots) in their names are now properly supported in order for nds-bootstrap to run DSiWare from those kinds of directories. - Fixed regression which caused some Slot-1 flashcards (and possibly game cards) to not boot.
v27.23.0: St. Patrick's Day ☘️ Release
Includes nds-bootstrap v2.15.0
Check here on how to update TWiLight Menu++:
Add-on update
- Virtual Console: Updated NitroGrafx.
What's new?
- Added support for reading DSiWare
banner.savfiles (named asromname.bnr) from the current save path. - Moved
snemul.cfgto the Virtual Console add-on. - @PW5190: Add ESRB ratings for:
- Atari Greatest Hits (both volumes)
- Intellivision Lives!
- Retro Atari Classics
- Various: Updated translations.
- Changed
R4i3D 2012+toR4i3D NEW, 2012 or laterin the flashcard autoboot readme.
Bug fixes
- The DS Classic Menu now reads the custom BG from where TWLMenu++ runs instead of always from the DSi/3DS SD card when detected.
- Fixed issues with launching the DSpico flashcard.
v27.22.2: Valentines Day ❤️ Release
Includes nds-bootstrap v2.14.0
Check here on how to update TWiLight Menu++:
💝 What's new? 💝
- Added DSpico autoboot file (
_picoboot.nds). - R4i Neo uses the
R4 Ultraautoboot folder, and theAcekard 2(i)flashcard loader folder when usingKernelas the game loader setting. - @PW5190: Added ESRB rating for Konami Classics Series: Arcade Hits.
- On DS debug consoles, a RAM limitation message is now displayed for Save the Turtles where audio does not play.
- Various: Updated translations.
💝 Bug fixes 💝
- Fixed a crash on startup if the DSi/3DS NAND fails to mount. This occurs when running from DSpico in DSi mode.
- The log file is now written to where TWLMenu++ is being run from instead of always to the DSi/3DS SD card if detected.
v27.22.1
Includes nds-bootstrap v2.13.1
Check here on how to update TWiLight Menu++:
What's new?
- R4i Infinity NEW A. C. Kard Version uses the
R4 Ultraautoboot folder, and theAcekard 2(i)flashcard loader folder when usingKernelas the game loader setting. ???:/_nds/TWiLightMenu/main.srldris now set as theQUIT_PATHsetting innds-bootstrap.ini.
Bug fix
- Fixed an overlooked bug which caused Pico Loader to not work as the game loader when using the DSi, 3DS, Saturn, or HBL UIs (regardless if the
Update recently played listsetting is turned on or off).
v27.22.0
Includes nds-bootstrap v2.13.0
Check here on how to update TWiLight Menu++:
Add-ons updated
- Multimedia: Rocket Video Player updated to v2.2.0.
- Virtual Console: NitroSwan, NGPDS, and Nintellivision updated.
What's new?
- Added a button remap menu in the per-game settings menu! (Does not apply to homebrew.)
- Added a brightness icon in the Original R4 UI when browsing games! (Does not appear on 3DS consoles or DSi/3DS consoles running from DS flashcards.)
- The frame rate in the TWLMenu++ splash screen has been adjusted from 75 FPS to 72 FPS, and the icons now move without frame delays! (Does not apply to DS Phat and 3DS consoles.)
- Removed Pico Loader API check in order for Pico Loader v1.3.1 and later to work.
- Various: Updated translations.
v27.21.0: TWL Christmas Release 🎄
UPDATE 12/26/2025: Includes nds-bootstrap v2.12.1
UPDATE 12/30/2025: Updated Multimedia add-on to include Rocket Video Player v2.1.1
Check here on how to update TWiLight Menu++:
Reminder: If you have installed TWLMenu++ before the release of this update, some emulators have been updated later after the release of the TWLMenu++ version which introduced the Virtual Console add-on.
Please update the Virtual Console add-on to ensure you have the latest versions of the emulators installed.
🎁 What's new? 🎁
- @edo9300: Improved the Games n' Music DLDI driver.
- Swapped names of the flashcard
boot.ndsandboot_alt.ndsfiles. - Multimedia add-on update: The image viewer now plays animated GIF files.
- Added detection of SuperCard SD Slot-2 flashcards for use as RAM expansion if SuperFW is installed.
- The SuperCard SD Slot-2 flashcard can now be launched from the DS Classic Menu, even when used as RAM expansion.
- Untested with M3 and G6 Slot-2 flashcards.
- Various: Updated translations.
🎁 Bug fixes 🎁
- The
Touch the touch screen to continue...message in the DSi splash screen now appears a few frames early, in order to match the original splash screen as closely as possible. - The
Touch the touch screen to continue...message now appears in the Super NDS splash screen without auto-skipping. - The tap sound no longer plays when auto-skipping DS/DSi splash screen.
- Flashcard users: The
Game Loadersetting is now shown even if kernel isn't useable. - Flashcard users: Fixed nds-bootstrap per-game settings being shown if flashcard kernel isn't useable, and if nds-bootstrap is not used as the game loader.
- @DieGo367: Fixed glitchy palettes for some animated icons. (#2605)
- Fixed PNG files not appearing (if the Multimedia add-on is installed).
- Fixed DSi/3DS console not rebooting when running from DS(i) game card (aka Slot-1) and when trying to soft-reset.
- The DSi SD init code is no longer run on DS & DS Lite consoles.
- Fixes white screen lockup in DeSmuME.
- VCOUNT register is no longer cleared before boot. Fixes a possible bug where a frame could be misrendered on 3DS consoles.
v27.20.0
Includes nds-bootstrap v2.11.0
Check here on how to update TWiLight Menu++:
What's new?
- Flashcard users: A third game loader option has been added! Pico Loader can now be used for fast boot times of DS games, along with improved compatibility over nds-bootstrap's B4DS mode (with a few incompatible games)!
- Pico Loader can be downloaded here. Make sure to download the correct one for your flashcard, and place the
.binfiles in the_picofolder on the flashcard's SD root. - Due to the
Game Loadersetting getting a new name withinsettings.ini(FC_GAME_LOADERinstead ofUSE_BOOTSTRAP), the default setting (nds-bootstrap) will be re-set after updating to this version.
- Pico Loader can be downloaded here. Make sure to download the correct one for your flashcard, and place the
- @Lorenzooone: DSi-Enhanced/Exclusive game cards will now run in DSi mode on DSi & 3DS consoles!
- If cheats (such as widescreen) are detected, the game will run in DS mode instead.
Bug fixes
- Ported from melonDS, the save types for Puzzler World USA & Legacy of Ys: Books I & II have been fixed!
- @Lorenzooone: Fixed some bugs when reading DS(i) game cards and/or flashcards.
- @Epicpkmn11: Dictionary size of 16MB is now set within the 3DS-specific 7z file in order for Universal-Updater to properly update TWLMenu++ to this and future versions.
- DSi-based UIs: Fixed positioning of the
Press B to return.text in theStart failed. Error ?screen.