Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

TWiLight Menu++: Difference between revisions

From GameBrew
No edit summary
Line 4: Line 4:
|description=DSi Menu replacement for DS/DSi/3DS/2DS.
|description=DSi Menu replacement for DS/DSi/3DS/2DS.
|author=DS-Homebrew
|author=DS-Homebrew
|lastupdated=2025/06/24
|lastupdated=2025/07/04
|type=Title Launchers
|type=Title Launchers
|version=27.15.1
|version=27.16.0
|license=GPL-3.0
|license=GPL-3.0
|download=https://github.com/DS-Homebrew/TWiLightMenu/releases
|download=https://github.com/DS-Homebrew/TWiLightMenu/releases
Line 299: Line 299:


==Changelog==
==Changelog==
'''v27.16.0'''
What's new?
* Added a better version of the DSi Menu music, with better quality and lasting up to 8 minutes and 39 seconds to ensure no parts have been left out! In order to keep the filesize of TWLMenu++ down, the better music has been made available as an add-on.
** Required space on the SD card: <code>32MB</code>
* To improve visual accuracy of the DSi Menu UI look, the original user color palettes with white edges has been added.
** For this change to not affect past custom themes, support for a new theme <code>.ini</code> setting called <code>UsernameEdgeAlpha</code> has been added, and is disabled by default.
* If the emulators and multimedia applications are left over from your previous TWLMenu++ installation(s) from before the add-on feature was implemented, the <code>Virtual Console</code> and <code>Multimedia</code> add-on flags will be created in order to continue using those applications without the need to manually install the add-ons!
** For speed reasons, only nesDS and the TWLMenu++ image viewer are detected.
* '''DSi-based UIs:''' Before loading the current directory listing, the <code>Now Loading...</code> screen is now displayed when loading the UI music &amp; sound data.
* Various: Updated translations.
'''v27.15.1'''
'''v27.15.1'''


Line 390: Line 402:
* [https://soundcloud.com/blastyveteran BlastoiseVeteran]: Remastered version of Nintendo DSi Shop music.
* [https://soundcloud.com/blastyveteran BlastoiseVeteran]: Remastered version of Nintendo DSi Shop music.
* IkaMusumeYiyaRoxie: General N64 MIDI Soundfont, used for the title splash fanfare on old versions.
* IkaMusumeYiyaRoxie: General N64 MIDI Soundfont, used for the title splash fanfare on old versions.
* [https://www.youtube.com/channel/UCEyPYQavt2g_tdmkd-pQgYw TeciorFILM]: The video ([10 Minutes of Nintendo DSi Menu Music (Authentic)](https://www.youtube.com/watch?v=LLc3-z8VZwc)) used for the better DSi Menu music add-on.


Sound
Sound:


* [https://github.com/dbry dbry]: Xtreme Quality IMA-ADPCM decoder code from [https://github.com/dbry/adpcm-xq adpcm-xq]..
* [https://github.com/dbry dbry]: Xtreme Quality IMA-ADPCM decoder code from [https://github.com/dbry/adpcm-xq adpcm-xq]..

Revision as of 02:48, 5 July 2025

TWiLight Menu++
General
AuthorDS-Homebrew
TypeTitle Launchers
Version27.16.0
LicenseGPL-3.0
Last Updated2025/07/04
Links
Download
Website
Source
Support Author

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.

Features

  • Launch DS, DS(i), and DS(i)Ware 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, but only for regular DS games, and DS(i)-Enhanced games in DS mode.
    • 400+ DS(i)Ware titles can be played on DS & DS Lite consoles. (See this list for which can be played.)
  • Play GameBoy Advance games 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) (Disabled by default, saving does not work)
  • Automatic on-the-fly AP-patching for DS games. 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 DS(i) Menu to your DS Phat/lite, by installing TWLMenu++ on a flashcard.
  • First DS flashcard UI to show animated icons from DS(i)-Enhanced, DS(i)-Exclusive, and DS(i)Ware games.
  • Set the language and region to your preference.
  • 10 save slots for DS(i) games.
  • For DS(i)/3DS/2DS users: Overclock your DS games to 133mhz, faster than normal DS clock speed of 67mhz.
  • For DS(i)/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.
  • Run the last played ROM on TWiLight Menu++ startup by holding B.
  • Play retro games from these popular consoles with the Virtual Console add-on, such as:
    • 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
  • View images/photos and play videos using the Multimedia add-on.
  • 3DS/2DS users: Play DS games in 16:10 widescreen. Not all games will work with this feature.

Installation

Release includes nds-bootstrap.

User guide

Useful links

Emulators on the DS/DSi

Below is the list of emulators and loaders that have been bundled into TWiLight Menu++ (in /_nds/TWiLightMenu/emulators/). They can be run on DS/DSi/3DS (in DS/DSi mode).

Format Loader Extensions Save file
ARGV1 Native .argv
Atari 2600 StellaDS .a26
Atari 5200 A5200DS .a52
Atari 7800 A7800DS .a78
Atari XEGS A8DS (XEGS-DS) .xex, .atr
ColecoVision S8DS, ColecoDS .col
DS nds-bootstrap, flashcard kernel, native .nds, .dsi, .ids, .srl, .app saves/[rom name].sav2
DSiWare Unlaunch, nds-bootstrap .nds, .dsi, .ids, .srl, .app saves/[rom name].pub, saves/[rom name].prv
DSTWO Plugin DSTWO3 .plg
Game Boy (Color) GameYob DS .gb, .sgb, .gbc [rom name].sav
Game Boy Advance GBARunner24, native5 .agb, .gba, .mb [rom name].sav
Game Gear S8DS .gg [rom name].gg.sav
Genesis/Mega Drive jEnesisDS, PicoDriveTWL .gen [rom name].srm6
Intellivision Nintellivision .int
Master System S8DS .sms [rom name].sms.sav
Neo Geo Pocket (Color) NGPDS .ngp, .ngc /data/ngpds/[rom name].ngp.fla
Fast Video FastVideoDS .fv
NES/Famicom nesDS .nes, .fds [rom name].sav
PC Engine/TurboGrafx-16 NitroGrafx .pce
Rocket Video Rocket Video Player .rvid
SG-1000 S8DS, ColecoDS .sg
Sord M5 ColecoDS .m5
SNES SNEmulDS .smc, .sfc [rom name].srm
WonderSwan (Color) NitroSwan .ws, .wsc ???
Xvid tuna-viDS .avi
  1. Text files containing the path to a DS homebrew app and arguments to launch it with, see nds-hb-menu’s README for more info
  2. Only for retail ROMs, homebrew do not have specific save files
  3. Only works from a SuperCard DSTWO flashcard as it has additional processing power and RAM inside the flashcard
  4. When running in DSi Mode, it can use the DSP for better sound
  5. Requires a Slot-2 flashcart and thus only works on DS Phat and DS Lite
  6. jEnesis can only save when running from a flashcard, but PicoDriveTWL can save from SD and flashcard

Notes on specific emulators

RAM Disks:

  • In order for jEnesisDS, neoDS and SNEmulDS to work on the DSi SD card, you’ll have to use a RAM disk with nds-bootstrap.
  • RAM disk makers exist for jEnesisDS & SNEmulDS and are built into TWiLight Menu++. You will need to create your own RAM disk for neoDS. See Creating RAM Disks on how to do so.
  • The reason why RAM disks are used is because these emulators, ARM7 hooks don’t work properly.

Comparison between PicoDriveTWL and jEnesisDS:

PicoDriveTWL jEnesisDS
Made for DSi. Made for DS.
Does not require RAM Disks. Require RAM Disks.
Support saving on DSi SD cards, quicker loading time. Does not support saving on DSi SD cards.
Support arguments. Does not support arguments.
2.5MB limit on Flashcard (can use DSi extra RAM & DS Memory Pak). 3MB limit on all platforms.
No sound. With sound emulation.
Extremely choppy. Smooth framerate.

FAQ

Q. How do I fix getting a white screen when booting TWiLight Menu++?

First, try putting the console in sleep mode (e.g. closing the console’s lid, or pressing the sleep button on the O2DS), then wake up the console from it.

If that doesn’t work, format your SD card to FAT32 with 32 KB cluster/allocation size.

If that also doesn’t work, try a different SD card.

Q. Where is the Acekard/Wood UI theme?

The acekard (also called Wood UI) theme was removed due to its buggy behaviour and causing SD Card corruption. Please wait for a fix.

Progress for the return of this theme can be found in this PR.

Q. How do I fix TWiLight Menu++ restarting or giving a Guru Meditation Error when launching a game?

Go into TWLMenu++ Settings, and disable Update recently played list.

Q. Why do I get a white screen when trying to load a game from SD card?

First, check the nds-bootstrap compatibility list and make sure your game is compatible.

Try with all cheats disabled for that game as some cheats are not compatible with nds-bootstrap at the moment, you can use L to disable all cheats for a game.

If it worked before, delete the fatTable and patchOffsetCache folders in sd:/_nds/nds-bootstrap/

Q. How do I use cheats?

You need to have a cheat DB in the form of a usrcheat.dat file in the sd:/_nds/TWiLightMenu/extras/ folder.

The most updated cheat database is DeadSkullzJr’s.

On the 3DS, this database is available in the Universal-Updater app as NDS Cheat Databases. This will automatically install it to the required location.

Alternatively, you can use r4cce to create your own cheat DB.

Q. How do I show a custom picture on the top screen of the DSi theme?

A random .png image in sd:/_nds/TWiLightMenu/dsimenu/photos/ will be shown each time the menu is loaded.

The images(s) must be no bigger than 208x156.

If you have errors, it’s most likely an error with the image size. Please use tinypng to reduce the size.

Q. How do I get games?

You can download homebrew games from Universal-DB and GameBrew. To get dumps of your retail games:

  • On DS you can use GodMode9i to dump your GBA games and, if you have a Slot-2 flashcard, DS games.
  • On DSi you can use GodMode9i to dump your DS games and DSiWare.
  • On 3DS you can use GodMode9 to dump your DS games, DSiWare, and Virtual Console titles.

Q. Can I get the save files from my game cards onto my SD card or vice versa?

Yes, you can use GodMode9i on DSi and 3DS or Checkpoint on 3DS.

Q. How do I change TWiLight Menu++’s language?

Open TWiLight Menu++ settings, you can do this by holding SELECT while loading TWiLight Menu++.

Press L or Y once (on flashcard/3DS) or twice (on DSi). Change the first option until you see the language you want, then exit settings.

You may also want to change the next two options as they control the language of DS games and their titles in TWiLight Menu++.

Q. Is this a DS(i) emulator?

No, this is not an emulator. The menu and DS games (loaded via nds-bootstrap) are ran natively in the console’s DS/DSi mode.

The only consoles emulated are the past consoles, but partially for GBA (as some or all parts like graphics are ran natively).

Q. Why isn’t touch input working on sudokuhax?

Depending on the save file of sudokuhax, the touch screen inputs may not work.

Q. Can The Biggest Loser boot TWiLight Menu++?

No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards.

Controls

DSi, 3DS, SEGA Saturn, Homebrew Launcher themes:

Left/Right - Select a game/app

A/Start - Launch game/app

L/R/Select+Left/Right - Switch pages

Select+Up/Down, then release Select (DSi/Saturn/HBL theme) - Switch between SD card and flashcard

X - Delete/hide game

Y - Per-game settings

Select (DSi/Saturn/HBL theme) - The Select menu or DS Classic Menu (Where system menu, TWiLight Menu++ Settings, and GBA Mode can be accessed)

Select+X - Set default starting directory

Per-game setting:

X - Cheat menu

A - Toggle cheat (in cheat menu)

B - Exit cheat menu (in cheat menu)

X - Save and exit cheat menu (in cheat menu)

Y - Show cheat description (in cheat menu)

L - Disable all cheats (in cheat menu)

R4 theme:

Up/Down - Select a game/app

A - Launch game/app

L - Switch between the SD card and flashcard

Y - Per-game settings

Per-game setting:

X - Cheat menu

A - Toggle cheat (in cheat menu)

B - Exit cheat menu (in cheat menu)

X - Save and exit cheat menu (in cheat menu)

Y - Show cheat description (in cheat menu)

L - Disable all cheats (in cheat menu)

Boot shortcuts:

These should be pressed on the TWiLight Menu++ splash screen/right after the Nintendo DSi splash screen.

Select - Open settings

A+B+X+Y - Reset all TWiLight Menu++ settings

B - Boot the last ran ROM

Media

SRLoader (now TWiLight Menu++) - DS and (S)GB(C) from SD Card on DSi (Rojelio Reyes)

Changelog

v27.16.0

What's new?

  • Added a better version of the DSi Menu music, with better quality and lasting up to 8 minutes and 39 seconds to ensure no parts have been left out! In order to keep the filesize of TWLMenu++ down, the better music has been made available as an add-on.
    • Required space on the SD card: 32MB
  • To improve visual accuracy of the DSi Menu UI look, the original user color palettes with white edges has been added.
    • For this change to not affect past custom themes, support for a new theme .ini setting called UsernameEdgeAlpha has been added, and is disabled by default.
  • If the emulators and multimedia applications are left over from your previous TWLMenu++ installation(s) from before the add-on feature was implemented, the Virtual Console and Multimedia add-on flags will be created in order to continue using those applications without the need to manually install the add-ons!
    • For speed reasons, only nesDS and the TWLMenu++ image viewer are detected.
  • DSi-based UIs: Before loading the current directory listing, the Now Loading... screen is now displayed when loading the UI music & sound data.
  • Various: Updated translations.

v27.15.1

What's new?

  • The image viewer now displays images/photos in the RGB565 color format for improved green color display!
    • For the images to display without issues, the music is now sequenced instead of streamed.
  • The DS(i) splash or custom splash, along with the manual and custom banner icons, will also be displayed in the RGB565 color format!
  • Pressing A in the image viewer will now switch the dithering method used for displaying 32/24-bit color .bmp images or all .png images.
    • Temporal dithering (used every time when opening an image) basically works around color banding by switching dark/bright pixels in rapid succession.
    • Normal dithering pauses the pixel-switching, revealing a grid-like pattern.
  • Added a Sonic-themed TWLMenu++ splash for Sonic the Hedgehog's anniversary!
    • The splash jingle has been added since past versions.
  • If the Virtual Console add-on is not installed, the TWLMenu++ splash screen will now show icons of three GBA models above the logo, and three DS models below the logo.

Bug fixes:

  • Fixed dark color crushing for some images due to temporal dithering (aka color de-banding).
  • @mentusfentusDS Classic Menu: Fixed top bar date text not displaying correctly in German.
  • If a photo in sd:/_nds/TWiLightMenu/dsimenu/photos/ is found to have transparency/alpha, it'll now be applied with the black color instead of not using transparency/alpha at all (which could reveal hidden graphics).

v27.15.0

What's new?

  • In order to reduce bloat, the non-default DSi/3DS UI music + HBL music, emulators (considered as TWLMenu++ Virtual Console) and multimedia features (image viewing and video playing) have now been split into three separate add-ons, and are no longer bundled by default.
    • To restore these features, follow the steps for installing add-ons.
    • GBARunner2 (to be replaced with GBARunner3 in the future) will remain bundled for playing GBA games as an essential feature.
  • dsiware folder has been renamed to dsi in order to be a folder for any DSi ROM (both from game cards and as DSiWare).
  • DSi/3DS: When launching a DS(i) game via nds-bootstrap with screen filter and/or DS Phat colors enabled, TWL clock speed will now be used by default in order to speed up the filter processing (mainly for Actimagine/Mobiclip videos), unless the game is blacklisted from using TWL clock speed.
  • tuna-viDS now supports screen filters!
  • Both AmEDS and CrocoDS (outdated Amstrad CPC emulators) have been replaced with SugarDS (by @wavemotion-dave)!
  • Slightly increased the volume of the DS & DSi splash sounds to closely match their original volumes.
  • The DS tap sound in the DS & DSi splash screens has been replaced with the DSi version.
  • @mentusfentusDS Classic Menu: Calendar and top-bar datetime are now drawn using monospaced characters. (What this means)
  • @mentusfentusDS Classic Menu: Calendar weekdays are now translatable!
  • Various: Updated translations.

Bug fixes:

  • DSi-based UIs: The checks for DSi binaries and AP-patch now reset when swiping icons or dragging scroll bar.
  • R4 and Wood UIs: Fixed the per-game settings menu not appearing for ROMs with a custom banner.
  • @mentusfentusDS Classic Menu: Fixed black background when using Saturn & HBL UIs.
  • DS: Fixed white screen crash on SuperCard CF flashcards (not to be confused with SuperCard MiniSD).

Release notes.

Credits

Main Developers:

  • Rocket Robz: Lead Developer.
  • chyyran: Porting the akMenu/Wood UI to TWiLight Menu++ & adding the ability to load sub-themes off the SD card for DSi/3DS themes.
  • Pk11: Adding the ability to load skins off the SD card for the R4 theme, implemented sorting & made manuals use PNG, improved font rendering, providing a custom background for Unlaunch, managing translations, and various bug fixes.

Secondary Developers:

  • DieGo: Adding support for custom ROM/folder icons and improvements for custom skins.
  • lifehackerhansol: Improving support for flashcard autobooting and kernel loading.
  • NightScript: Code cleanup, defining code standards, added flashcard functionality for Wood UI theme, manual pages.

App Launchers:

Graphics & Themes:

Music:

Sound:

  • dbry: Xtreme Quality IMA-ADPCM decoder code from adpcm-xq..
  • Firexploit: 3DS UI sounds for the 3DS theme, which some are also used in the DSi theme.

Others:

  • ahezard: NDMA code from nds-bootstrap.
  • Another World & Yellow Wood Goblin: The original akMenu/Wood UI.
  • Arisotura: ROM list from melonDS, and BIOS dumper code from dsibiosdumper.
  • Dartz150: Provided fix for Iridion II & Top Gun: Combat Zones GBA games.
  • devkitPro: Code used in nds-hb-menu, and the use of the bootloader, devkitARM, libnds, and libfat.
  • edo9300: DS Phat check code.
  • Gericom, TrolleyDave, and FAST6191: GBA SRAM-patching code, used in gbapatcher (SRAM patching thread at GBAtemp)
  • Gericom & profi200: GBA color correction code, used in GBARunner3.
  • Nikokaro: Found no-tilt patches for WarioWare: Twisted!, and Yoshi Topsy-Turvy. (GBAtemp thread).
  • profi200: Improved SD code from fastboot3DS.
  • RadDude McCoolguy, fintogive, KazoWAR, Vague Rant, gamemasterplcRocket RobzChampionLeakeDeadSkullzJrspellboundtriangleLedyBacer: Widescreen cheats.
  • retrogamefan & Rudolph: Included AP-patches for nds-bootstrap.
    • enler: Fixing AP-patch for Pokemon Black 2 (Japan) for DS(i) mode compatibility.
    • Rocket Robz: Fixing some DS(i)-Enhanced game AP-patches for DS(i) mode compatibility.
  • SNBeast: Unlaunch patches.
  • Taiju Yamada: Code used to bypass R4i-SDHC boot file protection.

Translators:

External links

Advertising: