Toggle 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
No edit summary
 
(140 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Infobox homebrew
{{Infobox DS Homebrews
| title       = TWiLight Menu++
|title=TWiLight Menu++
| image       = https://dlhb.gamebrew.org/3dshomebrew/TWiLightMenu.jpg|250px
|image=Twilightmenupp3.png
| type       = Homebrew Loaders
|description=DSi Menu replacement for DS/DSi/3DS/2DS.
| version     = 21.4.0
|author=DS-Homebrew
| licence    = GPLv3
|lastupdated=2024/11/02
| author      = RocketRobz
|type=Title Launchers
| website    = https://github.com/DS-Homebrew/TWiLightMenu
|version=27.11.1
| download    = https://dlhb.gamebrew.org/3dshomebrew/TWiLightMenu-21.4.0.7z
|license=GPL-3.0
| source     = https://github.com/DS-Homebrew/TWiLightMenu/releases
|download=https://github.com/DS-Homebrew/TWiLightMenu/releases
|website=https://wiki.ds-homebrew.com/twilightmenu
|source=https://github.com/DS-Homebrew/TWiLightMenu/releases
|donation=https://ko-fi.com/rocketrobz
}}
}}
 
<!--https://dlhb.gamebrew.org/dshomebrews2/TWiLightMenuplusplus.7z-->
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.
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==
==Features==
* Launch DS, DS, and DS Ware ROMs from the SD card and/or flashcard, via nds-bootstrap (comes included with the app).
* 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.
* 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.
* Automatic on-the-fly AP-patching! Drag and drop your ROMs onto the SD card, and play, without any additional steps.
Line 42: Line 45:
*** SuperCard SD/MiniSD/MicroSD.
*** SuperCard SD/MiniSD/MicroSD.
*** EZ-Flash (before Omega) (Saving does not work).
*** EZ-Flash (before Omega) (Saving does not work).
* Play videos:
* Play videos: [https://gbatemp.net/threads/gbarunner2.451970/page-152#post-9189524 Using GBARunner2 or native GBA mode.]
** [https://gbatemp.net/threads/gbarunner2.451970/page-152#post-9189524 Using GBARunner2 or native GBA mode.]
* 3DS/2DS users: Play DS games in 16:10 widescreen! Not all games will work with this feature.
* 3DS/2DS users: Play DS games in 16:10 widescreen! Not all games will work with this feature.


==Installation==
==Installation==
===Installing on Flashcard (DS/DSi)===
* How to install on [https://wiki.ds-homebrew.com/twilightmenu/installing-3ds 3DS], [https://wiki.ds-homebrew.com/twilightmenu/installing-dsi DSi] and [https://wiki.ds-homebrew.com/twilightmenu/installing-flashcard Flashcard].
Download the latest version of TWiLightMenu-Flashcard.7z from the releases page.  
* How to update on [https://wiki.ds-homebrew.com/twilightmenu/updating-3ds.html 3DS], [https://wiki.ds-homebrew.com/twilightmenu/updating-dsi.html DSi] and [https://wiki.ds-homebrew.com/twilightmenu/updating-flashcard.html Flashcard].


Extract TWiLightMenu-Flashcard.7z and copy the _nds folder to your flashcard’s microSD card root.
Release includes [[nds-bootstrap]].


Copy the BOOT.NDS file to your flashcard’s microSD card root.
==User guide==
===Useful links===
* [https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/edit?usp=sharing TWiLight Menu++ DS Compatibility List].
* [https://wiki.ds-homebrew.com/twilightmenu TWiLight Menu++ official website].
* [https://www.cfwaifu.com/twilight-menu-3ds Tutorials from CFWaifu].
* [[TwilightBoxart]] (Box Art downloader for TWL++ by KirovAir) and [https://wiki.ds-homebrew.com/twilightmenu/how-to-get-box-art Manual].
* [https://wiki.ds-homebrew.com/ds-index/videoplayers Homebrew Video Players for the Nintendo DS(i)].


Copy the roms folder to your flashcard’s microSD card root.
===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).


If you already have save data, move your .sav files, which are in your DS ROM location, to a new folder called saves, which also goes in the DS ROM location.
{| class="wikitable sortable" style="width: 900px;"
!Format||Loader||Extensions||Save file
|-
|ARGV<sup>1</sup>||Native||.argv||
|-
|Atari 2600||[[StellaDS Phoenix Edition|StellaDS]]||.a26||
|-
|Atari 5200||[[A5200DS Phoenix Edition|A5200DS]]||.a52||
|-
|Atari 7800||[[A7800DS Phoenix Edition|A7800DS]]||.a78||
|-
|Atari XEGS||[[A8DS]] (XEGS-DS)||.xex, .atr||
|-
|ColecoVision||[[S8DS]], [[ColecoDS Phoenix Edition|ColecoDS]]||.col||
|-
|DS||[[nds-bootstrap]], flashcard kernel, native||.nds, .dsi, .ids, .srl, .app||saves/[rom name].sav<sup>2</sup>
|-
|DSiWare||[https://problemkaputt.de/unlaunch.htm Unlaunch], [[nds-bootstrap]]||.nds, .dsi, .ids, .srl, .app||saves/[rom name].pub, saves/[rom name].prv
|-
|DSTWO Plugin||DSTWO<sup>3</sup>||.plg||
|-
|Game Boy (Color)||[[GameYob DS]]||.gb, .sgb, .gbc||[rom name].sav
|-
|Game Boy Advance||[[GBARunner2 DS|GBARunner2]]<sup>4</sup>, native<sup>5</sup>||.agb, .gba, .mb||[rom name].sav
|-
|Game Gear||[[S8DS]]||.gg||[rom name].gg.sav
|-
|Genesis/Mega Drive||[[JEnesisDS|jEnesisDS]], [[PicoDrive TWL|PicoDriveTWL]]||.gen||[rom name].srm</sup>6</sup>
|-
|Intellivision||[[NINTV-DS|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_Player|FastVideoDS]]||.fv||
|-
|NES/Famicom||[[NesDS|nesDS]]||.nes, .fds||[rom name].sav
|-
|PC Engine/TurboGrafx-16||[[NitroGrafx]]||.pce||
|-
|Rocket Video||[[Rocket Video Player]]||.rvid||
|-
|SG-1000||[[S8DS]], [[ColecoDS Phoenix Edition|ColecoDS]]||.sg||
|-
|Sord M5||[[ColecoDS Phoenix Edition|ColecoDS]]||.m5||
|-
|SNES||[[SNEmulDS|SNEmulDS]]||.smc, .sfc||[rom name].srm
|-
|WonderSwan (Color)||[[NitroSwan DS|NitroSwan]]||.ws, .wsc||???
|-
| Xvid||[[Tuna-viDS|tuna-viDS]]||.avi||
|}


* '''DS Phat / Lite users''' - If booting BOOT.NDS causes a white screen lock-up, insert a DS Memory Expansion Pak, and try again.
# Text files containing the path to a DS homebrew app and arguments to launch it with, see [https://github.com/devkitPro/nds-hb-menu#passing-arguments nds-hb-menu’s README] for more info
* '''DSi / 3DS users''' - Run TWLMenu++ on the console’s SD card, and turn on SCFG access in Slot-1 and Slot-1: TWL touch mode.
# Only for retail ROMs, homebrew do not have specific save files
# Only works from a SuperCard DSTWO flashcard as it has additional processing power and RAM inside the flashcard
# When running in DSi Mode, it can use the DSP for better sound
# Requires a Slot-2 flashcart and thus only works on DS Phat and DS Lite
# jEnesis can only save when running from a flashcard, but PicoDriveTWL can save from SD and flashcard


This will let you use TWL clock speed and/or VRAM boost on your flashcard games, as well as both accessing the console’s SD card, and running DSi-Enhanced/DSi-Exclusive/DSiWare games in DSi mode from your 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 [https://wiki.ds-homebrew.com/twilightmenu/creating-ram-disks 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.


'''To run games using your flashcard firmware (Flashcard):'''
Comparison between PicoDriveTWL and jEnesisDS:
{| class="wikitable sortable"
!style="width: 50%;"|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.
|-
|}


Extract what’s in Flashcart Loader/(your flashcard) to the root of the flashcard’s microSD card.
===FAQ===
'''Q. How do I fix getting a white screen when booting TWiLight Menu++?'''


If you done so, continue to step 3. If not, follow the steps below the flashcard list below.
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.  


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


R4i-SDHC<br>
If that also doesn’t work, try a different SD card.
r4isdhc.com cards<br>
r4isdhc.hk cards<br>
R4i SDHC Upgrade Revolution<br>
R4DSiXL3D<br>
R4i Advance<br>
R4-IIIi<br>
R4 SDHC Revolution<br>
R4(i) Pocket<br>
R4i Gold (v1.4.1) (3DS)<br>
R4xDS<br>
DSTT(i)<br>


Install YSMenu following the [https://gbatemp.net/threads/retrogamefan-updates-releases.267243/ tutorial].
'''Q. Where is the Acekard/Wood UI theme?'''


Make sure you have YSMenu.nds (renamed from TTMenu.dat if there isn’t one) and the TTMenu folder on the flashcard microSD root.
The acekard (also called Wood UI) theme was removed due to its buggy behaviour and causing SD Card corruption. Please wait for a fix.  


Set Use nds-bootstrap to No, so the flashcard firmware will be used instead of nds-bootstrap.
Progress for the return of this theme can be found in this PR.


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


Extract the content(s) of Autoboot/(your flashcard) to the root of the flashcard’s microSD card. Skip this, if you don’t see your flashcard.
Go into TWLMenu++ Settings, and disable Update recently played list.


* '''DS Phat / DS Lite users''' - Go to settings in the DS menu, and turn on auto-start, so your flashcard will start on boot.
'''Q. Why do I get a white screen when trying to load a game from SD card?'''
* '''DSi / 3DS users''' - Run TWLMenu++ on the console’s SD card, and turn on Auto-start Slot-1.


===Installing on DSi===
First, check the nds-bootstrap compatibility list and make sure your game is compatible.  
Download the latest TWiLightMenu-DSi.7z from the releases page.


Extract TWiLightMenu-DSi.7z and copy the _nds folder to your SD card root.
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.  


Copy the BOOT.NDS file and the roms folder to your SD card root.
If it worked before, delete the fatTable and patchOffsetCache folders in sd:/_nds/nds-bootstrap/


* '''For hiyaCFW users''' - Copy the title folder to your SD card root.
'''Q. How do I use cheats?'''


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


Turn on your DSi while holding A and B.
The most updated cheat database is DeadSkullzJr’s.


In the Unlaunch menu, go to OPTIONS.
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.  


Set NO BUTTON or a button of your choice to the TWiLight Menu++ that says BOOT.NDS on the bottom screen.
Alternatively, you can use r4cce to create your own cheat DB.


==User guide==
'''Q. How do I show a custom picture on the top screen of the DSi theme?'''
DS game compatibility list can be found here:
[https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/edit?usp=sharing List of games that work from SD Card.]
 
For more details, please refer to the [https://wiki.ds-homebrew.com/twilightmenu/ official guide] and [https://gbatemp.net/threads/ds-i-3ds-twilight-menu-gui-for-ds-i-games-and-ds-i-menu-replacement.472200/ tutorials].
 
===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.
A random .png image in sd:/_nds/TWiLightMenu/dsimenu/photos/ will be shown each time the menu is loaded.  


'''Q. How do I show a custom picture on the top screen of the DSi theme?'''
The images(s) must be no bigger than 208x156.  


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.
If you have errors, it’s most likely an error with the image size. Please use [https://tinypng.com tinypng] to reduce the size.


'''Q. How do I get games?'''
'''Q. How do I get games?'''
Line 150: Line 202:
* On DS you can use [[GodMode9i|GodMode9i]] to dump your GBA games and, if you have a Slot-2 flashcard, DS games.
* On DS you can use [[GodMode9i|GodMode9i]] to dump your GBA games and, if you have a Slot-2 flashcard, DS games.
* On DSi you can use [[GodMode9i|GodMode9i]] to dump your DS games and DSiWare.
* On DSi you can use [[GodMode9i|GodMode9i]] to dump your DS games and DSiWare.
* On 3DS you can use GodMode9 to dump your DS games, DSiWare, and Virtual Console titles.
* On 3DS you can use [[GodMode9 3DS|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?'''
'''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.
Yes, you can use GodMode9i on DSi and 3DS or [[Checkpoint 3DS|Checkpoint]] on 3DS.


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


A. 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++.
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?'''
'''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).
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.  
 
'''Q. What systems does TWiLight Menu++ support?'''


{| class="wikitable"
The only consoles emulated are the past consoles, but partially for GBA (as some or all parts like graphics are ran natively).
|+
|-
! 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 ||
|-
| DS || nds-bootstrap, flashcard kernel, native || .nds, .dsi, .ids, .srl, .app || saves/[rom name].sav
|-
| DSiWare || Unlaunch, nds-bootstrap || .nds, .dsi, .ids, .srl, .app || [rom name].pub, [rom name].prv
|-
| DSTWO Plugin || DSTWO || .plg ||
|-
| Game Boy (Color) || GameYob || .gb, .sgb, .gbc || [rom name].sav
|-
| Game Boy Advance || GBARunner2, native || .agb, .gba, .mb || [rom name].sav
|-
| Game Gear || S8DS || .gg || [rom name].gg.sav
|-
| Genesis / Mega Drive || jEnesisDS, PicoDriveTWL || .gen || [rom name].srm
|-
| Master System || S8DS || .sms || [rom name].sms.sav
|-
| MPEG4 Video || MPEG4 Player || .mp4 ||
|-
| NES / Famicom || nesDS || .nes, .fds || [rom name].sav
|-
| PC Engine / TurboGrafx-16 || NitroGrafx || .pce ||
|-
| RVID Video || Rocket Video Player || .rvid ||
|-
| SNES || SNEmulDS || .smc, .sfc || [rom name].srm
|}


'''Q. Why isn’t touch input working on sudokuhax?'''
'''Q. Why isn’t touch input working on sudokuhax?'''
Line 217: Line 231:


==Controls==
==Controls==
'''DSi, 3DS Menu, SEGA Saturn, and Homebrew Launcher themes:'''
'''DSi, 3DS, SEGA Saturn, Homebrew Launcher themes:'''


Left/Right - Select a game/app
Left/Right - Select a game/app
Line 223: Line 237:
A/Start - Launch game/app
A/Start - Launch game/app


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


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


Select+Up/Down & release Select - Switch between the SD card and flashcard
X - Delete/hide game


Y - Per-game settings
Y - Per-game settings


Y+X - Cheat menu
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 - Delete/hide game
X - Save and exit cheat menu (in cheat menu)


'''DSi/Saturn/HB theme:'''
Y - Show cheat description (in cheat menu)


Select - Seelect menu or DS Classic Menu (Where system menu, TWLMenu++ Settings, and GBA Mode can be accessed)
L - Disable all cheats (in cheat menu)  


'''R4 theme:'''
'''R4 theme:'''
Line 249: Line 273:
Y - Per-game settings
Y - Per-game settings


Y+X - Cheat menu
'''Per-game setting:'''
 
X - Cheat menu
 
A - Toggle cheat (in cheat menu)
 
B - Exit cheat menu (in cheat menu)


'''With CFW: DS ROMs (on SD)/carts:'''
X - Save and exit cheat menu (in cheat menu)


L+R+Down+B (hold 2 seconds) - Return to TWiLight Menu++ (If using an O3DS, then it does not work on all models)
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==
==Media==
'''Video demonstration'''<br>
'''SRLoader (now TWiLight Menu++) - DS and (S)GB(C) from SD Card on DSi''' ([https://www.youtube.com/watch?v=fc9-TtALeA8 Rojelio Reyes]) <br>
<youtube>fc9-TtALeA8</youtube>
<youtube>fc9-TtALeA8</youtube>


'''Note:''' In this video, loading speed is slower than the current nds-bootstrap version.
==Changelog==
'''v27.11.1'''<br />
'''Bug fixes'''
* Fixed the support of 32KB DLDI drivers causing some homebrew apps (ex. dumpTool, Safe NAND Manager, GodMode9i, emulators, etc.) to not work correctly and/or not exit back to TWLMenu++.
* N-Card's DLDI driver is now compressed in the bootstub RAM space.
* Fixed bootstub not being preserved when booting a homebrew app in DS mode (switched from DSi mode) from flashcards.
* @lifehackerhansol: Autobooting is now supported for DSTT and it's clones with a non-SDHC microSD card inserted!
* Wood UI theme: Fixed crash when pressing D-Pad Right with 2 files/folders or less on-screen.


==Changelog==
[https://github.com/DS-Homebrew/TWiLightMenu/releases Release notes.]
[https://github.com/DS-Homebrew/TWiLightMenu/releases Release Notes.]


==Credits==
==Credits==
Main Developers:
Main Developers:
* [https://github.com/RocketRobz RocketRobz]: Lead Developer, implementing the auto-reset power button function used in NTR-mode.
 
* [https://github.com/chyyran chyyran]: Porting the akMenu/Wood UI to TWiLight Menu++ & adding the ability to load sub-themes off the SD card for DSi/3DS themes.
* [https://github.com/RocketRobz Rocket Robz]: Lead Developer.
* [https://github.com/Epicpkmn11 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.
* [https://github.com/chyyran chyyran]: Porting the akMenu/Wood UI to TWiLight Menu++ &amp; adding the ability to load sub-themes off the SD card for DSi/3DS themes.
* [https://github.com/Epicpkmn11 Pk11]: Adding the ability to load skins off the SD card for the R4 theme, implemented sorting &amp; made manuals use PNG, improved font rendering, providing a custom background for Unlaunch, managing translations, and various bug fixes.
 
Secondary Developers:
 
* [https://github.com/DieGo367 DieGo]: Adding support for custom ROM/folder icons and improvements for custom skins.
* [https://github.com/lifehackerhansol lifehackerhansol]: Improving support for flashcard autobooting and kernel loading.
* [https://github.com/NightScript370 NightScript]: Code cleanup, defining code standards, added flashcard functionality for Wood UI theme, manual pages.


App Launchers:
App Launchers:
* [https://github.com/ahezard ahezard] & [https://github.com/shutterbug2000 shutterbug2000]: nds-bootstrap (used to launch Nintendo DS ROMs off the SD card), and NDMA SD read code.
* [https://github.com/Drenn1 Drenn]: GameYob (used to launch Gameboy ROMs).
* [https://coto88.bitbucket.io/ 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).
* [https://github.com/Gericom Gericom]: GBARunner2 (used to launch GameBoy Advance ROMs outside of the DS Phat/lite's GBA mode).
* [https://gbatemp.net/members/flubba.19963/ 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:
* [https://github.com/ahezard ahezard], [https://github.com/shutterbug2000 shutterbug2000] and [https://github.com/RocketRobz Rocket Robz]: [https://github.com/ahezard/nds-bootstrap nds-bootstrap] (used for launching Nintendo DS(i) ROMs off the SD card).
* [https://gbatemp.net/members/spinal_cord.90607/ spinal_cord]: DSi4DS and DSision2 graphics.
* [https://github.com/alekmaul Alekmaul]: [https://www.gamebrew.org/wiki/AmeDS AmeDS] (used for launching Amstrad CPC ROMs).
* [https://github.com/alekmaul Alekmaul] &amp; [https://github.com/wavemotion-dave wavemotion]: [https://github.com/wavemotion-dave/StellaDS StellaDS], [https://github.com/wavemotion-dave/A5200DS A5200DS], [https://github.com/wavemotion-dave/A7800DS A7800DS], [https://github.com/wavemotion-dave/A8DS A8DS] (used for launching Atari 2600/5200/7800/XEGS ROMs), and [https://github.com/wavemotion-dave/ColecoDS ColecoDS] (used for launching ColecoVision, MSX, Sord M5, and Sega SG-1000/SC-3000 ROMs).
* archiede: [https://www.gamebrew.org/wiki/SNEmulDS SNEmulDS] (used for launching SNES ROMs).
** [https://coto88.bitbucket.io/ Coto]: [https://bitbucket.org/Coto88/snemulds SNEmulDS Revival].
* [https://github.com/chishm chishm]: [https://github.com/chishm/tuna-vids tuna-viDS] (used for playing Xvid videos)
* [https://github.com/Drenn1 Drenn]: [https://github.com/Drenn1/GameYob GameYob] (used for launching Gameboy ROMs).
* [https://github.com/FluBBaOfWard FluBBaOfWard]: [https://github.com/FluBBaOfWard/S8DS S8DS] (used for launching Sega Master System, Game Gear, SG-1000/SG-3000, and ColecoVision ROMs), [https://github.com/FluBBaOfWard/NitroGrafx NitroGrafx] (used for launching PC Engine/TurboGrafx-16 ROMs), [https://github.com/FluBBaOfWard/NitroSwan NitroSwan] (used for launching WonderSwan ROMs), and [https://github.com/FluBBaOfWard/NGPDS NGPDS] (used for launching Neo Geo Pocket ROMs).
* [https://github.com/FluBBaOfWard FluBBaOfWard], [https://coto88.bitbucket.io/ Coto], and Loopy: [https://github.com/DS-Homebrew/NesDS nesDS] (used for launching NES ROMs).
** [https://github.com/ApacheThunder Apache Thunder]: [https://github.com/ApacheThunder/NesDS TWL Edition] of nesDS.
* [https://github.com/Gericom Gericom]: [https://github.com/Gericom/FastVideoDSPlayer FastVideoDSPlayer] (used for launching FastVideoDS videos) &amp; [https://github.com/Gericom/GBARunner2 GBARunner2] (used for launching GameBoy Advance ROMs outside of the DS Phat/Lite's GBA mode).
** [https://github.com/therealteamplayer therealteamplayer]: [https://github.com/therealteamplayer/GBARunner2 Hicode+DSP] merged builds of GBARunner2 included for DSi/3DS.
** [https://github.com/unresolvedsymbol unresolvedsymbol]: [https://github.com/unresolvedsymbol/GBARunner2-DSL-Enhanced rom3M+master &quot;DSL-Enhanced&quot;] builds of GBARunner2 included for playing ''Pokémon: Emerald Version'' on flashcards.
* Lordus: [https://gamebrew.org/wiki/JEnesisDS jEnesisDS] (used for launching Sega Mega Drive/Genesis ROMs)
** [https://github.com/xonn83 xonn83]: GBMacro version of [https://github.com/xonn83/jEnesisDS_macro jEnesisDS].
* [https://github.com/redbug26 redbug26]: [https://github.com/redbug26/crocods-nds CrocoDS] (used for launching Amstrad CPC ROMs).
* Ryan FB, [https://github.com/RocketRobz Rocket Robz], and [https://github.com/xonn83 xonn83]: [https://github.com/DS-Homebrew/PicoDriveTWL PicoDriveTWL] (used for launching large Sega Mega Drive/Genesis ROMs).
* [https://github.com/wavemotion-dave wavemotion]: [https://github.com/wavemotion-dave/NINTV-DS Nintellivision/NINTV-DS] (used for launching Intellivision ROMs).
 
Graphics &amp; Themes:
 
* [http://pixeljoint.com/p/19283.htm Absent-Reality]: Intellivision icon.
* davi: Border for GBC theme (originally for GameYob).
* [https://github.com/fail0verflow/ fail0verflow], Fluto, and Arkhandar: Homebrew Channel/Launcher graphics.
* [https://github.com/FlameKat53 FlameKat53]: Manual icon for DSi theme's <code>SELECT</code> menu.
* [https://github.com/Arthur-Start Mr. Start]: Super Nintendo DS splash screen.
* [https://github.com/PW5190 PW5190]: Kirby-themed TWLMenu++ splash screen.
* [https://gbatemp.net/members/spinal_cord.90607/ spinal_cord]: [https://gbatemp.net/threads/dsi4ds.173617/ DSi4DS] and [https://gbatemp.net/threads/dsision2.92740/ DSision2] graphics.
* [https://www.deviantart.com/starvingartist/ StarvingArtist]: Game Console icons.
* [https://www.deviantart.com/starvingartist/ StarvingArtist]: Game Console icons.
* [https://github.com/FlameKat53 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).
* [https://github.com/NightYoshi370 NightScript]: Reworked Manual pages.


Music:
Music:
* IkaMusumeYiyaRoxie: General N64 MIDI Soundfont, used for the title splash fanfare.
 
* [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.
 
Sound
 
* [https://github.com/dbry dbry]: Xtreme Quality IMA-ADPCM decoder code from [https://github.com/dbry/adpcm-xq adpcm-xq]..
* [https://github.com/Firexploit Firexploit]: 3DS UI sounds for the 3DS theme, which some are also used in the DSi theme.
 
Others:
 
* [https://github.com/ahezard ahezard]: NDMA code from nds-bootstrap.
* Another World &amp; Yellow Wood Goblin: The original akMenu/Wood UI.
* [https://github.com/Arisotura Arisotura]: ROM list from melonDS, and BIOS dumper code from [https://github.com/Arisotura/dsibiosdumper dsibiosdumper].
* [https://github.com/Dartz150 Dartz150]: Provided fix for ''Iridion II'' &amp; ''Top Gun: Combat Zones'' GBA games.
* [https://github.com/devkitPro devkitPro]: Code used in nds-hb-menu, and the use of the bootloader, devkitARM, libnds, and libfat.
* [https://github.com/edo9300 edo9300]: DS Phat check code.
* [https://github.com/Gericom Gericom], TrolleyDave, and FAST6191: GBA SRAM-patching code, used in gbapatcher ([https://gbatemp.net/threads/reverse-engineering-gba-patching.60168/ SRAM patching thread at GBAtemp])
* [https://github.com/Gericom Gericom] &amp; [https://github.com/profi200 profi200]: GBA color correction code, used in [https://github.com/Gericom/GBARunner3 GBARunner3].
* Nikokaro: Found no-tilt patches for ''WarioWare: Twisted!'', and ''Yoshi Topsy-Turvy''. ([https://gbatemp.net/threads/gba-no-tilt-patches-for-ds-users.584128/ GBAtemp thread]).
* [https://github.com/profi200 profi200]: Improved SD code from fastboot3DS.
* RadDude McCoolguy, fintogive, KazoWAR, Vague Rant, [https://github.com/gamemasterplc gamemasterplc], [https://github.com/RocketRobz Rocket Robz], [https://github.com/ChampionLeake ChampionLeake], [https://github.com/DeadSkullzJr DeadSkullzJr], [https://github.com/spellboundtriangle spellboundtriangle], [https://github.com/LedyBacer LedyBacer]: Widescreen cheats.
* retrogamefan &amp; Rudolph: Included AP-patches for nds-bootstrap.
** [https://github.com/enler enler]: Fixing AP-patch for Pokemon Black 2 (Japan) for DS⁽ⁱ⁾ mode compatibility.
** [https://github.com/RocketRobz Rocket Robz]: Fixing some DS⁽ⁱ⁾-Enhanced game AP-patches for DS⁽ⁱ⁾ mode compatibility.
* [https://github.com/SNBeast SNBeast]: Unlaunch patches.
* Taiju Yamada: Code used to bypass R4i-SDHC boot file protection.
 
Translators:
 
* Arabic: [https://crowdin.com/profile/kenkenkenneth Ken Brown], [https://crowdin.com/profile/slg3 SLG3].
* Bulgarian: [https://github.com/Peter0x44 Peter0x44], [https://crowdin.com/profile/tescu48 Tescu].
* Catalan:
* Chinese Simplified: [https://crowdin.com/profile/cai_miao cai_miao], [https://crowdin.com/profile/z0287yyy Chris], [https://crowdin.com/profile/Origami Forbidden], [https://crowdin.com/profile/VCMOD55 James-Makoto], [https://github.com/R-YaTian R-YaTian], [https://crowdin.com/profile/ClassicOldSong Yukino Song], [https://crowdin.com/profile/notthingtosay 曾国立], [https://crowdin.com/profile/realworld 天天地地人人], [https://crowdin.com/profile/FIve201 百地 希留耶].
* Chinese Traditional: [https://crowdin.com/profile/cai_miao cai_miao], [https://crowdin.com/profile/ccccchoho ccccchoho], [https://crowdin.com/profile/VCMOD55 James-Makoto], [https://crowdin.com/profile/Rintim Rintim], [https://crowdin.com/profile/Counta6_233 奇诺比奥].
* Czech: [https://crowdin.com/profile/dolskystepa Štěpán Dolský].
* Danish: [https://github.com/Jonatan6 jonata], [https://crowdin.com/profile/duroluro Michael Millet], [https://crowdin.com/profile/nadiaholmquist Nadia Pedersen].
* Dutch: [https://crowdin.com/profile/arthurr2014.tl Arthur], [https://crowdin.com/profile/guusbuk guusbuk], [https://crowdin.com/profile/miko303 Mikosu], [https://crowdin.com/profile/minionguyjpro Minionguyjpro], [https://crowdin.com/profile/xtremegamer007 Xtremegamer007].
* French: [https://github.com/ArckyTV Arcky], [https://crowdin.com/profile/cooolgamer cooolgamer], [https://crowdin.com/profile/DHALiaN3630 Dhalian], [https://crowdin.com/profile/maximesharp maximesharp], [https://crowdin.com/profile/Ghost0159 Ghost0159], [https://crowdin.com/profile/leeo97one Léo], [https://github.com/LinUwUxCat LinuxCat], [https://github.com/flutterbrony Martinez], [https://github.com/NightScript370 NightScript], [https://crowdin.com/profile/slg3 SLG3], [https://crowdin.com/profile/sombrabsol SombrAbsol], [https://crowdin.com/profile/-tm- TM-47], [https://crowdin.com/profile/yolopix Yolopix].
* German: [https://crowdin.com/profile/ariebe9115 ariebe9115], [https://crowdin.com/profile/blurryknight Blurry Knight], [https://github.com/c-schuhmann Christian Schuhmann], [https://crowdin.com/profile/Bierjunge Dubsenbert Reaches], [https://crowdin.com/profile/paradox- Fırat Tay], [https://crowdin.com/profile/znime hehe], [https://crowdin.com/profile/ilkecan51 İlke Hür Eyiol], [https://crowdin.com/profile/nailujx86 Julian], [https://crowdin.com/profile/Marcmario Kazuto], [https://github.com/malekairmaroc7 malekairmaroc7], [https://crowdin.com/profile/xxmichibxx Michael Brey], [https://github.com/IRONKAGE Oleh Hatsenko], [https://github.com/SkilLP SkilLP], [https://github.com/SuperSaiyajinStackZ SuperSaiyajinStackZ], [https://github.com/Tcm0 Tcm0], [https://crowdin.com/profile/the6771 TheDude], [https://crowdin.com/profile/-tm- TM-47], [https://github.com/Uriki Uriki].
* Greek: [https://crowdin.com/profile/anestis1403 Anestis1403].
* Hebrew: [https://crowdin.com/profile/barawer Barawer], [https://crowdin.com/profile/y4niv Yaniv Levin].
* Hungarian: [http://github.com/vargaviktor Viktor Varga], [https://crowdin.com/profile/hatoving ハトヴィング -- ハット].
* Indonesian: [https://crowdin.com/profile/cyruzwings Cyruz Wings], [https://crowdin.com/profile/farid1991 Farid Irwan], [https://crowdin.com/profile/heydootdoot heydootdoot], [https://crowdin.com/profile/egoistamamono Shiori].
* Italian: [https://crowdin.com/profile/ale2197 Alessandro Tavolieri], [https://github.com/LeddaZ Leonardo Ledda], [https://crowdin.com/profile/mattiau59 Mattia], [https://crowdin.com/profile/-tm- TM-47], [https://crowdin.com/profile/vendicatorealato Vendicatorealato], [https://github.com/xavimel xavimel].
* Japanese: [https://crowdin.com/profile/knight-ryu12 Chromaryu], [https://crowdin.com/profile/inucat inucat], [https://github.com/Epicpkmn11 Pk11], [https://crowdin.com/profile/kuragehimekurara1 kuragehime], [https://crowdin.com/profile/rinrinrin2002 rinrinrin2002], [https://crowdin.com/profile/Rintim Rintim], [https://github.com/chyyran Ronny Chan], [https://github.com/Uriki Uriki].
* Korean: [https://crowdin.com/profile/ddinghoya DDinghoya], [https://github.com/lifehackerhansol lifehackerhansol], [https://crowdin.com/profile/cryental I'm Not Cry], [https://crowdin.com/profile/groovy-mint Myebyeol_NOTE], [https://github.com/IRONKAGE Oleh Hatsenko], [https://crowdin.com/profile/gigueguegue0803 그그기그].
* Norwegian: [https://crowdin.com/profile/elasderas123 Nullified Block].
* Polish: [https://crowdin.com/profile/avginike Avginike], [https://crowdin.com/profile/krystianbederz gierkowiec tv], [https://crowdin.com/profile/kipi000 Kipi000], [https://crowdin.com/profile/xfix Konrad Borowski], [https://crowdin.com/profile/makscrowdin0 MaksCROWDIN0], [https://crowdin.com/profile/tobiaszmateusz Mateusz Tobiasz], [https://crowdin.com/profile/badis_ Michał Słonina], [https://crowdin.com/profile/redstonekpl RedstonekPL], [https://crowdin.com/profile/thecasachii TheCasachii].
* Portuguese (Brazil): [https://crowdin.com/profile/blueo110 César Memère], [https://crowdin.com/profile/lordeilluminati Jeff Sousa], [https://crowdin.com/profile/themasterf themasterf], [https://crowdin.com/profile/raulcoronado Victor Coronado].
* Portuguese (Portugal): [https://crowdin.com/profile/bruwyvn bruwyvn], [https://crowdin.com/profile/chrismr197 Christopher Rodrigues], [https://crowdin.com/profile/connwcted Gabz Almeida], [https://crowdin.com/profile/hnrwx jim], [https://crowdin.com/profile/joyrv joyrv], [https://crowdin.com/profile/Leaqua21 leteka 1234], [https://crowdin.com/profile/rodrigodst Rodrigo Tavares], [https://crowdin.com/profile/TheGameratorT Tiago Silva], [https://crowdin.com/profile/CaptainCheep Wodson de Andrade], [https://crowdin.com/profile/WodsonKun Wodson de Andrade], [https://github.com/zekroman Zak].
* Romanian: [https://crowdin.com/profile/tescu48 Tescu].
* Russian: [https://crowdin.com/profile/lps Alexey Barsukov], [https://crowdin.com/profile/Ckau Ckau], [https://github.com/1upus manwithnoface], [https://github.com/mbhz mbhz], [https://crowdin.com/profile/bessmertnyi_mikhail MMR Marler], [https://crowdin.com/profile/bacer Nikita], [https://crowdin.com/profile/bessmertnyi_mikhail Молодая Кукуруза].
* Ryukyuan: [https://crowdin.com/profile/kuragehimekurara1 kuragehime].
* Spanish: [https://crowdin.com/profile/adiiramen Adrin Ramen], [https://crowdin.com/profile/ar9555997 Adrian Rodriguez], [https://crowdin.com/profile/allinxter Allinxter], [https://crowdin.com/profile/beta215 beta215], [https://github.com/ccccmark ccccmark], [https://crowdin.com/profile/dimateos dimateos], [https://crowdin.com/profile/daemo159 Kaede159], [https://crowdin.com/profile/KplyAsteroid KplyAsteroid], [https://crowdin.com/profile/mschifino mschifino], [https://crowdin.com/profile/noname141203 Nicolás Herrera Concha], [https://crowdin.com/profile/nintendor Nintendo R], [https://twitter.com/TimeLordJean nuxa17], [https://crowdin.com/profile/radriant Radriant], [https://crowdin.com/profile/sofyuchiha SofyUchiha], [https://crowdin.com/profile/-tm- TM-47], [https://github.com/Uriki Uriki], [https://github.com/XxPhoenix1996xX XxPhoenix1996xX].
* Swedish: [https://github.com/maxhambraeus Max Hambraeus], [https://crowdin.com/profile/elasderas123 Nullified Block], [https://crowdin.com/profile/-tm- TM-47], [https://crowdin.com/profile/VSwede Victor Ahlin], [https://crowdin.com/profile/walter.lindell Walter Lindell].
* Turkish: [https://crowdin.com/profile/alpcinar Alp], [https://crowdin.com/profile/egehan.twl Egehan.TWL], [https://crowdin.com/profile/dirt3009 Emir], [https://crowdin.com/profile/glideguy06 GlideGuy06], [https://crowdin.com/profile/grandmaquil Grandmaquil], [https://crowdin.com/profile/imbeegboi22 imbeegboi22], [https://crowdin.com/profile/ilkecan51 İlke Hür Eyiol], [https://crowdin.com/profile/rewix32 rewix32], [https://crowdin.com/profile/rewold20 rewold20], [https://crowdin.com/profile/FixingCarp Yağmur Celep].
* Ukrainian: [https://github.com/IRONKAGE Oleh Hatsenko], [https://crowdin.com/profile/sensetivity Mykola Pukhalskyi], [https://crowdin.com/profile/-tm- TM-47], [https://crowdin.com/profile/earedguitr вухаста гітара].
* Valencian: [https://crowdin.com/profile/tsolo tsolo].
* Vietnamese: [https://crowdin.com/profile/okabe_zero-link Chử Tiến Bình], [https://crowdin.com/profile/daicahuyoi daicahuyoi] [https://crowdin.com/profile/hieu2097 Đỗ Minh Hiếu], [https://crowdin.com/profile/hotungkhanh hotungkhanh], [https://crowdin.com/profile/truonghongson2005 Trương Hồng Sơn].


==External links==
==External links==
* GitHub - https://github.com/DS-Homebrew/TWiLightMenu
* Official website - https://wiki.ds-homebrew.com/twilightmenu
 
* GitHub (TWiLightMenu) - https://github.com/DS-Homebrew/TWiLightMenu
[[Category:DS homebrew applications]]
* GitHub (TWLBot) - https://github.com/TWLBot/Builds
[[Category:Utility homebrews on DS]]
* Manual - https://manual.ds-homebrew.com/
* GBAtemp - https://gbatemp.net/threads/ds-i-3ds-twilight-menu-gui-for-ds-i-games-and-ds-i-menu-replacement.472200

Latest revision as of 03:12, 3 November 2024

TWiLight Menu++
Twilightmenupp3.png
General
AuthorDS-Homebrew
TypeTitle Launchers
Version27.11.1
LicenseGPL-3.0
Last Updated2024/11/02
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, 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: Using GBARunner2 or native GBA mode.
  • 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.11.1
Bug fixes

  • Fixed the support of 32KB DLDI drivers causing some homebrew apps (ex. dumpTool, Safe NAND Manager, GodMode9i, emulators, etc.) to not work correctly and/or not exit back to TWLMenu++.
  • N-Card's DLDI driver is now compressed in the bootstub RAM space.
  • Fixed bootstub not being preserved when booting a homebrew app in DS mode (switched from DSi mode) from flashcards.
  • @lifehackerhansol: Autobooting is now supported for DSTT and it's clones with a non-SDHC microSD card inserted!
  • Wood UI theme: Fixed crash when pressing D-Pad Right with 2 files/folders or less on-screen.

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:

  • BlastoiseVeteran: Remastered version of Nintendo DSi Shop music.
  • IkaMusumeYiyaRoxie: General N64 MIDI Soundfont, used for the title splash fanfare on old versions.

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⁽ⁱ⁾ mode compatibility.
    • Rocket Robz: Fixing some DS⁽ⁱ⁾-Enhanced game AP-patches for DS⁽ⁱ⁾ mode compatibility.
  • SNBeast: Unlaunch patches.
  • Taiju Yamada: Code used to bypass R4i-SDHC boot file protection.

Translators:

External links

Advertising: