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
 
(156 intermediate revisions by 4 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     = v13.1.0
|author=DS-Homebrew
| licence    = MIT
|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.rar
|license=GPL-3.0
| source     = https://dlhb.gamebrew.org/3dshomebrew/TWiLightMenu.rar
|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-->
<youtube>BLyZbdWtQIs</youtube>
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++, or TWLMenu++ for short, is a frontend for nds-bootstrap, for DS, DSi and 3DS.


==Features==
==Features==
[[File:Widescreen comparison.jpg|thumb|right|Super Mario 64 DS being run in multiplayer via [[nds-bootstrap]] on DSi and 3DS, with the 3DS running in widescreen.]]
* 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.
* Launch DS(i) ROMs from the SD card and/or flashcard, via [[nds-bootstrap]] (comes included with the app)!
* Automatic on-the-fly AP-patching! Drag and drop your ROMs onto the SD card, and play, without any additional steps.
* For flashcards, the flashcard kernel/firmware can optionally be used to boot the games.
* 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.
* Automatic on-the-fly AP-patching! Drag and drop your ROMs onto the SD card, and play, without any additional steps!
* Bring the DSi Menu to your DS Phat/lite, by putting TWLMenu++ on a flashcard.
** 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.
* First DS flashcard UI to show animated icons from DS-Enhanced, DS-Exclusive, and DS Ware games.
* Bring the DSi Menu to your DS Phat/lite, by putting TWLMenu++ on a flashcard!
* First DS flashcard UI to show animated icons from DSi-Enhanced, DSi-Exclusive, and DSiWare games!
* 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 following flashcards' microSD cards, and switch to and from there anytime!
** Acekard 2i (Games cannot be booted)
** R4 Ultra (regular, not R4i) (r4ultra.com)
* Set the language to your preference.
* 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.
* Run the last played ROM on TWiLight Menu++ startup.
* Play retro games from these consoles:
* Play retro games from these consoles:
** (Super) GameBoy (Color), via GameYob
** Atari XEGS, via XEGS-DS (.xex and .atr).
** NES/Famicom, via nesDS
** Atari 2600, via StellaDS (.a26 only).
** Sega Master System/Game Gear, via S8DS
** Atari 5200, via A5200DS (.a52 only).
** Sega MegaDrive/Genesis, via jEnesisDS
** Atari 7800, via A7800DS (.a78 only).
** Super Nintendo/Famicom, via SNEmulDS
** 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: [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==
===Non-CFW DSi/3DS/2DS users (Not recommended)===
* 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].
# In the 7z file, extract the "_nds" folder from both the 7z root and the "DSi&3DS - SD card users" folder, to the SD Card root. Merge folders, when asked to.
* 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 the "boot.nds" file from the "DSi&3DS - SD card users" folder, to the SD Card root.
 
# Put .gb/.gba/.gbc/.gen/.gg/.nes/.nds/.sms/.smc/.sfc ROMs anywhere on your SD card.
Release includes [[nds-bootstrap]].
# Launch your exploted DSiWare game, and TWiLight Menu++ will load!
 
'''NOTE for DSi users:''' If you're using exploits such as Memory Pit, ugopwn, Flipnote Lenny, or 4swordshax to boot TWiLight Menu++ some DS ROMs will not play sound properly.
==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)].
 
===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).
 
{| 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||
|}
 
# 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
# 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
 
===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.
 
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.
|-
|}
 
===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 [https://tinypng.com 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|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 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?'''
 
Yes, you can use GodMode9i on DSi and 3DS or [[Checkpoint 3DS|Checkpoint]] on 3DS.


The following DSiWare exploits are compatible with nds-bootstrap without CFW:
'''Q. How do I change TWiLight Menu++’s language?'''
* sudokuhax (uses GenericTWLPayload)
* fieldrunnerhax (uses GenericTWLPayload)
* grtpwn (uses GenericTWLPayload)
* ugopwn/Flipnote Lenny (only for v0.11.0 and v0.11.2)


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


===DSi users with Unlaunch and/or HiyaCFW===
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.  
# In the 7z file, extract the "_nds" folder from both the 7z root and the "DSi&3DS - SD card users" folder, to the SD Card root. Merge folders, when asked to.
# Extract the "boot.nds" file from the "DSi&3DS - SD card users" folder, to the SD Card root.
# Extract what's in "DSi - CFW users/SDNAND root" to the root of your SD card.
# Put .gb/.gba/.gbc/.gen/.gg/.nes/.nds/.sms/.smc/.sfc ROMs anywhere on your SD card.
# (Unlaunch users) In Unlaunch menu, go to options, and set the "No button" option to "TWLMENUPP".
# Launch TWiLight Menu++!


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


===CFW 3DS users, via Updater===
'''Q. Is this a DS(i) emulator?'''
# Use [[FBI]] to install the [[TWiLight Menu++ Updater]]. You can download it [https://github.com/RocketRobz/TWiLightMenu-Updater/releases here], or with this [https://gbatemp.b-cdn.net/attachments/twlmupdater-qrcode-png.187568/ QR code].
# Launch the updater.
# Touch Release next to TWL Menu++. Extraction may take a while.
# Do Step 3 again, but for nds-bootstrap.


----
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.


===CFW 3DS users, manual method===
The only consoles emulated are the past consoles, but partially for GBA (as some or all parts like graphics are ran natively).
# In the 7z file, extract the "_nds" folder from both the 7z root and the "DSi&3DS - SD card users" folder, to the SD Card root. Merge folders, when asked to.
# Extract the "boot.nds" file from the "DSi&3DS - SD card users" folder, to the SD Card root.
# Extract the .cia files from the "3DS - CFW users" folder, to anywhere on the SD Card.
# Put .gb/.gba/.gbc/.gen/.gg/.nes/.nds/.sms/.smc/.sfc ROMs anywhere on your SD card.
# Install the .cia files you extracted. <br> '''NOTE:''' If you're using EmuNAND, then install them to SysNAND as well.
# Launch TWiLight Menu++!


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


===Flashcard users===
Depending on the save file of sudokuhax, the touch screen inputs may not work.
# In the 7z file, extract the "_nds" folder from both the 7z root and the "Flashcard users" folder, to the flashcard's microSD card root. Merge folders, when asked to.
# Extract the "boot.nds" file from the "Flashcard users" folder, to the flashcard's microSD card root.
# Put .gb/.gba/.gbc/.gen/.gg/.nes/.nds/.sms/.smc/.sfc ROMs anywhere on your flashcard's microSD card.
# (Optional) Using your flashcard firmware to load retail/commercial ROMs instead of nds-bootstrap.
## Download a pack for your flashcard (skip to step 4, if your flashcard is not listed):
##* [[Media:DS Game Forwarder pack (R4iDSN, R4i Gold RTS, R4 Ultra).7z|R4iDSN/R4 Ultra]]
##* [[Media:DS Game Forwarder pack (SC DSTWO).7z|SuperCard DSTWO]]
## Extract what's in "for Slot-1 microSD" to the root of the flashcard's microSD card.
## After this and setting up TWiLight Menu++ on your flashcard, set "Use nds-bootstrap" to "No" so the flashcard firmware will be used instead of nds-bootstrap.
# (Optional) Autobooting to TWiLight Menu++
#* Extract what's in "Flashcard users/Autoboot/(your flashcard)" to the root of the flashcard's microSD card. (Skip this, if you don't see your flashcard.)
# You're good to go! Launch your flashcard, and TWiLight Menu++ will load! (Load "boot.nds", if you're in the regular flashcard menu, or if autobooting doesn't work.)
* You can also set your preferred sound/mic frequency, if you're using a DSi, 3DS, or 2DS.
* If you want to use TWL clock speed and/or VRAM boost on your flashcard games, launch your flashcard using TWiLight Menu++ on the console's SD card, with the "SCFG access in Slot-1" setting turned on.


==Video demonstration==
'''Q. Can The Biggest Loser boot TWiLight Menu++?'''
<youtube>fc9-TtALeA8</youtube>


NOTE: In this video, loading speed is slower than the current nds-bootstrap version.
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==
==Controls==
===DSi, 3DS, and SEGA Saturn themes===
'''DSi, 3DS, SEGA Saturn, Homebrew Launcher themes:'''
* Left/Right: Select a game/app
* A/START: Launch game/app
* B: Go up one directory
* L/R: Switch pages
* Y: Per-game settings
** X: Cheat menu
* X: Delete/hide game
* (DSi/Saturn theme) SELECT: DS Classic menu
** (Where TWLMenu++ Settings, the Slot-1 game, and the last ran game can be accessed)


----
Left/Right - Select a game/app


===R4 theme===
A/Start - Launch game/app
''On R4 theme main menu:''
* Left/Right: Select game list, lanch Slot-1, or launch GBARunner2
* A: Open game list, launch Slot-1, or launch GBARunner2
* START/SELECT: Open TWLMenu++ Settings
''In game list:''
* Up/Down: Select a game/app
* A: Launch game/app
* B: Go up one directory
* Y: Per-game settings
** X: Cheat menu
* X: Delete/hide game
* START: Return to R4 theme main menu


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


===Acekard theme===
Select+Up/Down, then release Select (DSi/Saturn/HBL theme) - Switch between SD card and flashcard
* Up/Down: Select a game/app
* A: Launch game/app
* B/L: Go up one directory
* Y: Per-game settings
** X: Cheat menu
* START: Options menu
* SELECT: Change list mode


----
X - Delete/hide game


===With CFW: DS ROMs on SD/carts===
Y - Per-game settings
* L+R+DOWN+B for 2 seconds: Return to TWiLight Menu++.
** (If using an o3DS, then it does not work on all models)


For DS game compatibility, please check this list:
Select (DSi/Saturn/HBL theme) - The Select menu or DS Classic Menu (Where system menu, TWiLight Menu++ Settings, and GBA Mode can be accessed)
[https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/edit?usp=sharing List of games that work from SD Card]


==FAQs==
Select+X - Set default starting directory


'''Q: (3DS users) This is a DS(i) emulator, right?'''
'''Per-game setting:'''


A: 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.<br>
X - Cheat menu
The only consoles emulated are NES, Sega MS/GG, GB(C), Sega Gen/MD, SNES, and GBA (but partially, as some parts (such as graphics) are ran natively).


'''Q: After installing the TWiLight Menu++ CIAs, I don't see the app on the 3DS HOME Menu. How can I fix this?'''
A - Toggle cheat (in cheat menu)


Reboot the console.
B - Exit cheat menu (in cheat menu)


'''Q: Why is my 3DS/2DS stuck on black screen when launching TWiLight Menu++? Why is my 3DS/2DS powering off when launching TWiLight Menu++?'''
X - Save and exit cheat menu (in cheat menu)


A: TWL_FIRM might've somehow got corrupted.<br>
Y - Show cheat description (in cheat menu)
Follow this guide to fix the issue: [https://3ds.hacks.guide/troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guide DSi / DS functionality is broken after completing the guide]


'''Q: I followed all the steps on how to play in widescreen, but the supported games are still running in 4:3, but with glitchiness on the right side. How do I fix this?'''
L - Disable all cheats (in cheat menu)


A: Try re-downloading the patcher, and run "wide.bat" again, and copy the remade/updated .cxi file to "sd:/_nds/TWiLightMenu/TwlBg/", and rename it to "Widescreen.cxi".
'''R4 theme:'''


'''Q: I followed all the steps on how to play in widescreen, but the supported games are still running in 4:3, but with hex numbers on the right side. How do I fix this?'''
Up/Down - Select a game/app


A: You did not make and/or run "wide.bat". Please do that, and then copy the remade/updated .cxi file to "sd:/_nds/TWiLightMenu/TwlBg/", and rename it to "Widescreen.cxi".
A - Launch game/app


'''Q: After launching a game in widescreen, the TWLMenu++ GUI is stretched in the top screen! How do I fix this?'''
L - Switch between the SD card and flashcard


A: In FBI, delete both TWiLight Menu++ titles (in purple text) in the title list, then install both the latest TWLMenu++ CIAs.<br>
Y - Per-game settings
Back in the title list, launch "TWiLight Menu++ Last-ran ROM".<br>
If this doesn't fix it, delete "TwlBg.cxi" at "sd:/luma/sysmodules/".


'''Q: How do I get past Luma's exception screen when trying to soft-reset the game, or return to TWiLight Menu++?'''
'''Per-game setting:'''


A: Enable game patching in Luma settings, or update Luma to v10.0 (or later).
X - Cheat menu


'''Q: How do I fix TWiLight Menu++ restarting when launching a game? How do I fix TWiLight Menu++ giving a Guru Meditation Error when launching a game?'''
A - Toggle cheat (in cheat menu)


A: Go into TWLMenu++ Settings, and disable "Update recently played list".
B - Exit cheat menu (in cheat menu)


'''Q: Can The Biggest Loser boot TWiLight Menu++?'''
X - Save and exit cheat menu (in cheat menu)


A: No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards.
Y - Show cheat description (in cheat menu)


'''Q: Why do I get a white screen when trying to load a game from SD Card, and how do I fix it?'''
L - Disable all cheats (in cheat menu)


A1: You're using an incompatible DSiWare exploit. It should use GenericTWLPayload for DS ROMs to work.
'''Boot shortcuts:'''


A2: nds-bootstrap shrinks the heap to fit it's own code for arm9, into cached memory. Shrinking the heap breaks some games.<br>
These should be pressed on the TWiLight Menu++ splash screen/right after the Nintendo DSi splash screen.
To disable heap shrink, hold L immediately after pressing A/START to launch the game.


A3: Please note that not all games work from SD Card yet. Check the list above.<br>
Select - Open settings
If it's listed as compatible, try again.


If you're a DSi user, Please check the LED set in TWiLight Menu++ settings.
A+B+X+Y - Reset all TWiLight Menu++ settings
* WiFi/Camera: If it's on, that means it's loading from the ROM. If it's off for a while, and the screen is still white, that means the game is unsupported.
 
* Power: If it's purple, that means it's loading from the ROM. If it's blue (or red) for a while, and the screen is still white, that means the game is unsupported.
B - Boot the last ran ROM
 
==Media==
'''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>
 
==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.
 
[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.
* [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.
===App Launchers===
* [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.
* [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)
Secondary Developers:
* [https://coto88.bitbucket.io/ Coto]: Working on [[SNEmulDS]] with acheid/Loopy (used to launch SNES ROMs) & [[nesDS]] ([https://github.com/ApacheThunder/NesDS TWL Edition] by [https://github.com/ApacheThunder Apache Thunder]) (used to launch NES ROMs).
 
* Lordus: [[jEnesisDS]] (used to launch Sega Mega Drive/Genesis ROMs)
* [https://github.com/DieGo367 DieGo]: Adding support for custom ROM/folder icons and improvements for custom skins.
* [https://github.com/Gericom Gericom]: [[GBARunner2]] (used to load GameBoy Advance ROMs)
* [https://github.com/lifehackerhansol lifehackerhansol]: Improving support for flashcard autobooting and kernel loading.
* [https://gbatemp.net/members/flubba.19963/ FluBBa]: [[S8DS]] (used to launch Sega Master System/Game Gear ROMs)
* [https://github.com/NightScript370 NightScript]: Code cleanup, defining code standards, added flashcard functionality for Wood UI theme, manual pages.
===Graphics & Themes===
 
* [https://gbatemp.net/members/spinal_cord.90607/ spinal_cord]: [[DSi4DS]] and [[DSision2]] graphics.
App Launchers:
 
* [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://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.
 
===Others===
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.
 
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.
* [https://github.com/profi200 profi200]: Improved SD code from fastboot3DS.
* [https://github.com/devkitPro devkitPro]: Code used in [[nds-hb-menu]], and the use of the bootloader, [[devkitARM]], [[libnds]], and [[libfat]].
* 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.
* Another World and Yellow Wood Goblin: The original akMenu/[[Wood Firmwares|Wood]] UI.
* retrogamefan &amp; Rudolph: Included AP-patches for nds-bootstrap.
* [https://github.com/NightYoshi370 NightYoshi370]: Code cleanup
** [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==
* Official website - https://wiki.ds-homebrew.com/twilightmenu
* GitHub (TWiLightMenu) - https://github.com/DS-Homebrew/TWiLightMenu
* GitHub (TWLBot) - https://github.com/TWLBot/Builds
* 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: