TWiLight Menu++

From GameBrew

TWiLight Menu++
Last Updated2022/01/02
TypeTitle Launchers

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.


  • Launch DS, DS, and DS 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⁽ⁱ⁾-Enhanced games in DS mode.
  • 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 DS-Enhanced, DS-Exclusive, and DS Ware games.
  • Set the language to your preference.
  • 10 save slots for DS games.
  • 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 compatible flashcards).
  • Run the last played ROM on TWiLight Menu++ startup.
  • Play retro games from these consoles:
    • Atari XEGS, via XEGS-DS (.xex and .atr).
    • 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:
  • 3DS/2DS users: Play DS games in 16:10 widescreen! Not all games will work with this feature.


Release includes nds-bootstrap v0.51.1.

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 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 GBARunner2, native (require slot-2 flashcart) .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 Coming Soon .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
SNES7 SNEmulDS .smc, .sfc [rom name].srm8
WonderSwan (Color) NitroSwan .ws, .wsc ???

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.


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.


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)

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


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

TWiLight Menu++ (23.1) | Nintendo DS Lite | DSi Games on DS (Stranno)



What's new?

  • 5 consoles have been added to TWLMenu++ Virtual Console.
    • ColecoVision (S8DS & ColecoDS) (@FluBBaOfWard & @wavemotion-dave).
    • Sord M5 (ColecoDS) (@wavemotion-dave).
    • Sega SG-1000 (S8DS & ColecoDS) (@FluBBaOfWard & @wavemotion-dave).
    • WonderSwan (NitroSwan) (@FluBBaOfWard).
    • Neo Geo Pocket (NGPDS) (@FluBBaOfWard).
    • (@lifehackerhansol) Added Wood Upgrade autoboot.

Bug fix:

  • DSi-based themes: In order to work around a weird bug related to sleep mode, sleep mode is now disabled.

Release notes.


Main Developers:

  • RocketRobz: Lead Developer, implementing the auto-reset power button function used in NTR-mode.
  • 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 sub-themes off the SD card for the R4 theme, implemented sorting & made manuals use PNG, improved font rendering, providing a custom background for Unlaunch, and various bug fixes.

App Launchers:

  • ahezard & shutterbug2000: nds-bootstrap (used to launch Nintendo DS ROMs off the SD card), and NDMA SD read code.
  • Drenn: GameYob (used to launch Gameboy ROMs).
  • Coto: Working on SNEmulDS with acheid/Loopy (used to launch SNES ROMs) & nesDS (TWL Edition by Apache Thunder) (used to launch NES ROMs).
  • Lordus: jEnesisDS (used to launch Sega Mega Drive/Genesis ROMs).
  • Ryan FB & xonn83: PicoDriveDS (used to launch large Sega Mega Drive/Genesis ROMs).
  • Gericom: GBARunner2 (used to launch GameBoy Advance ROMs outside of the DS Phat/lite's GBA mode).
  • FluBBa: S8DS (used to launch Sega Master System/Game Gear ROMs).
  • Alekmaul & wavemotion: StellaDS, A5200DS, A7800DS, and XEGS-DS (used to launch Atari 2600/5200/7800/XEGS ROMs).

Graphics & Themes:

  • spinal_cord: DSi4DS and DSision2 graphics.
  • StarvingArtist: Game Console icons.
  • FlameKat53: Manual icon for DSi theme's SELECT menu.
  • fail0verflow, Fluto, and Arkhandar: Homebrew Channel/Launcher graphics.
  • davi: Border for GBC theme (originally for GameYob).
  • NightScript: Reworked Manual pages.


  • IkaMusumeYiyaRoxie: General N64 MIDI Soundfont, used for the title splash fanfare.

External links