TWiLight Menu++: Difference between revisions

From GameBrew
m (Pk11 moved page SRLoader to TWiLight Menu++: SRLoader was renamed to TWiLight Menu++ a while ago)
Line 1: Line 1:
{{Infobox DS Homebrews
{{Infobox homebrew
|title=TWiLight Menu++
| title       = TWiLight Menu++
|image=Twilightmenupp3.png
| image       = [[image:srloader.jpg|250px]]
|description=DSi Menu replacement for DS/DSi/3DS/2DS.
| type        = Homebrew Loaders
|author=DS-Homebrew
| version     = v12.0.0
|lastupdated=2024/04/09
| licence    = MIT
|type=Title Launchers
| author      = RocketRobz
|version=27.0.0
| website    = https://github.com/DS-Homebrew/TWiLightMenu
|license=GPL-3.0
| download    = https://github.com/DS-Homebrew/TWiLightMenu/releases/download/v12.0.0/TWiLightMenu.7z
|download=https://github.com/DS-Homebrew/TWiLightMenu/releases
| source     = https://github.com/DS-Homebrew/TWiLightMenu
|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/dshomebrew/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++, or TWLMenu++ for short, is a frontend for nds-bootstrap, for DS, DSi and 3DS.


==Features==
==Features==
* Launch DS, DS, and DS Ware ROMs from the SD card and/or flashcard, via [[nds-bootstrap]] (comes included with the app).
[[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.]]
* 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.
* Launch DS(i) ROMs from the SD card and/or flashcard, via [[nds-bootstrap]] (comes included with the app)!
* 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.
* For flashcards, the flashcard kernel/firmware can optionally be used to boot the games.
* Bring the DSi Menu to your DS Phat/lite, by putting TWLMenu++ on a flashcard.
* Automatic on-the-fly AP-patching! Drag and drop your ROMs onto the SD card, and play, without any additional steps!
* First DS flashcard UI to show animated icons from DS-Enhanced, DS-Exclusive, and DS Ware 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.
* 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:
** Atari XEGS, via XEGS-DS (.xex and .atr).
** (Super) GameBoy (Color), via GameYob
** Atari 2600, via StellaDS (.a26 only).
** NES/Famicom, via nesDS
** Atari 5200, via A5200DS (.a52 only).
** Sega Master System/Game Gear, via S8DS
** Atari 7800, via A7800DS (.a78 only).
** Sega MegaDrive/Genesis, via jEnesisDS
** NES/Famicom, via nesDS.
** Super Nintendo/Famicom, via SNEmulDS
** (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==
* 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].
===Non-CFW DSi/3DS/2DS users (Not recommended)===
* 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].
# 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.
# Put .gb/.gba/.gbc/.gen/.gg/.nes/.nds/.sms/.smc/.sfc ROMs anywhere on your SD card.
# 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.


Release includes [[nds-bootstrap]].
The following DSiWare exploits are compatible with nds-bootstrap without CFW:
* sudokuhax (uses GenericTWLPayload)
* fieldrunnerhax (uses GenericTWLPayload)
* grtpwn (uses GenericTWLPayload)
* ugopwn/Flipnote Lenny (only for v0.11.0 and v0.11.2)


==User guide==
----
===Useful links===
* [https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/edit?usp=sharing TWiLight Menu++ DS Compatability 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===
===DSi users with Unlaunch and/or HiyaCFW===
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).
# 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++!


{| 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
===CFW 3DS users, via Updater===
# Only for retail ROMs, homebrew do not have specific save files
# 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].
# Only works from a SuperCard DSTWO flashcard as it has additional processing power and RAM inside the flashcard
# Launch the updater.
# When running in DSi Mode, it can use the DSP for better sound
# Touch Release next to TWL Menu++. Extraction may take a while.
# Requires a Slot-2 flashcart and thus only works on DS Phat and DS Lite
# Do Step 3 again, but for nds-bootstrap.
# 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:
===CFW 3DS users, manual method===
{| class="wikitable sortable"
# 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.
!style="width: 50%;"|PicoDriveTWL||jEnesisDS
# 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.
|Made for DSi.||Made for DS.
# 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.
|Does not require RAM Disks.||Require RAM Disks.
# Launch TWiLight Menu++!
|-
|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.  
===Flashcard users===
# 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.


If that doesn’t work, format your SD card to FAT32 with 32 KB cluster/allocation size.
==Video demonstration==
 
<youtube>fc9-TtALeA8</youtube>
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.
NOTE: In this video, loading speed is slower than the current nds-bootstrap version.
 
'''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.
 
'''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==
==Controls==
'''DSi, 3DS, SEGA Saturn, Homebrew Launcher themes:'''
===DSi, 3DS, and SEGA Saturn themes===
 
* Left/Right: Select a game/app
Left/Right - Select a game/app
* A/START: Launch game/app
 
* B: Go up one directory
A/Start - Launch game/app
* L/R: Switch pages
 
* Y: Per-game settings
L/R/Select+Left/Right - Switch pages
** X: Cheat menu
 
* X: Delete/hide game
Select+Up/Down, then release Select (DSi/Saturn/HBL theme) - Switch between SD card and flashcard
* (DSi/Saturn theme) SELECT: DS Classic menu
 
** (Where TWLMenu++ Settings, the Slot-1 game, and the last ran game can be accessed)
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''' ([https://www.youtube.com/watch?v=fc9-TtALeA8 Rojelio Reyes]) <br>
<youtube>fc9-TtALeA8</youtube>
 
==Changelog==
'''v27.0.0'''<br>
* '''DSi-based themes:''' Startup time has been decreased by 2 seconds!
** Console icons are now only loaded when such ROMs are listed.
* '''R4 theme:''' Added support for the original <code>.bmp</code> skin files!
* Moved the <code>Game Loader</code> setting from the <code>nds-bootstrap settings</code> page to the <code>Games and Apps settings</code> page.
* File/Directory listings are now logged.
* Like with the rest of our April Fools features, the <code>.ntrb</code> format is now hidden on days except for April 1st!
* Fixed a long-standing bug where TWLMenu++ would crash if single-character files are found. (ex. <code>X.gb</code>)
* '''3DS theme:''' Fixed a returning bug (due to LTO), where the box art would appear behind the rotating cubes.
* Fix GBA <code>bios.bin</code> detection on flashcards.
* Re-compiled the included FastVideoDSPlayer build.
* The libnds sleep mode function is now fully disabled, in order for TWLMenu++ to properly boot with <code>SLEEP_MODE = 0</code> set in <code>sd:/_nds/TWiLightMenu/settings.ini</code> and on consoles which trigger sleep mode with the console lid opened.
* Other minor fixes and improvements.
'''v26.9.0'''<br>
* April Fools Feature: Added support for the new .ntrb format, made by Skylark and @rvtr. This is used for ShaberuSoft applications, discovered by them + @Kaisaan in NitroSDK.
* Applied link-time optimization in order to trim out unused code.
* N5 autoboot files have been discovered to work on R4-PLUS flashcards.
'''v26.8.0'''<br>
*What's new?
**Updated AP-fix for Pokémon: Refined Gold Overhaul (v3.2.2).
**@reddleak: Improved the DSi theme's dropdown startup animation to closely resemble the one in the original DSi Menu!
**@reddleak: Added the ability to set default starting directory by pressing Select + X buttons!
**@reddleak: Added show empty boxes option.
**Can be set to hide the empty boxes in the DSi theme.
**@lifehackerhansol: Autoboot file for Original R4SDHC is no longer out of date.
**@reddleak: Added delay to scrolling in the Saturn theme.
**Improved .md file detection for Genesis/MD ROMs.
**@reddleak: Asterisk is now displayed when a setting has been changed in TWLMenu++ Settings.
**@reddleak: Confirmation message is now displayed when exiting cheat menu without saving.
**roms folder has been re-added! This is useful for first-time users who may not know where to put ROMs and/or users who want to easily organize their ROMs.
*Bug fixes
**@reddleak: Fix HBL music looping issue.
**@reddleak: Error sound no longer plays when reaching the end of the page in the Saturn theme.
'''v26.7.0'''<br>
*What's new?
**@DeadSkullzJr: Updated AP-fix for Pokémon: Refined Gold Overhaul (v3.2).
**Moved color mode tables from NitroFS to sd:/_nds/colorLut/.
***This means custom tables can now be added (ex. redshift), as well as your own homebrew supporting color modes!
***To implement it into your homebrew, see this code for loading the LUT file: https://github.com/RocketRobz/SuperPhotoStudio/blob/master/nds/arm9/source/gui.cpp#L142
***Add something like palette[i] = colorTable[palette[i]]; into your palette and/or 16-bit image loading code(s) for the color LUT to take effect.
**Various: Updated translations and added (untested) Galician language!
**SEGA Genesis/Mega Drive ROMs with the .md extension are now supported!
**Genesis/Mega Drive and SNES ROMs are no longer displayed on flashcards, as the emulators (except for new SNEmulDS versions) which run them do not support arguments.
**If GBARunner3 is set to be used, the BIOS message is now displayed for all GBA games.
**DSiWare titles with NTRJ TID now launch on flashcards, regardless if compatible or not.
***Implemented because of some DSiWare prototypes using said TID, as well as some being supported by nds-bootstrap.
**On DSi/3DS, NDMA is now used to clear RAM slightly faster when transitioning between TWLMenu++ screen modes, as well as loading .nds files.
**SCSD string is now checked within the DLDI name for SuperCard MiniSD support as well.
**@DieGo367: Changed font palette of disabled buttons in DS Classic Menu.
**Added a setting to hide the Rocket Robz logo.
**As ROMs can be placed anywhere on the SD card (except for folders starting with _), the roms folder has been removed.
*Bug fixes
**Fixed GBA Fire Emblem games not booting when using the native GBA mode.
**Fixed Classic NES Series stuck on white screen when using the native GBA mode.
***Only early Famicom Mini games and the iQue collection are known to boot properly.
**Fixed Iridion II freeze bug when using the native GBA mode. (Patch by @Dartz150)
**Rapid presses now work again in the 3DS theme!
'''v26.6.0'''<br>
*What's new?
**@lifehackerhansol: Added autoboot support for r4dspro.com flashcards.
**Slightly sped up boot times when booting a GBA ROM using the native mode on DS or DS Lite.
*Bug fixes
**Tried again to fix the bug where the Unlaunch installer wouldn't boot with the 3DS theme.
**Fixed A5200DS not booting on DSi/3DS consoles in DSi mode.
'''v26.5.1'''<br>
* What's new?
** When using hiyaCFW to launch TWLMenu++, Unlaunch will no longer start it.
** This is done in case if the console's NAND chip no longer functions and you're starting hiyaCFW via ntrboot.
* Bug fixes
** Fixed attempting to use nds-bootstrap to run homebrew on flashcards.
** Updated last year text in the Rocket Robz screen.
'''v26.5.0'''<br>
*What's new?
**Added AP-fix for Spanish translation of Final Fantasy: The 4 Heroes of Light.
**After launch, a message for if FAT takes a while to init on DSi/3DS SD Card is now displayed.
**@DieGo367: Added show photo setting.
*Bug fixes
**Wario Land 4 will no longer launch without a GBA BIOS.
**Attempted to fix the bug where the Unlaunch installer wouldn't boot using the 3DS theme.
**@DieGo367: Fixed crash when missing pictochat/dlp/browser and cursor is over a folder.
*Known bug
**Year text in the Rocket Robz screen still displays 2023 as the last year.
'''v26.4.0'''<br>
*What's new?
**@DeadSkullzJr: Updated AP-fix for Pokémon: Refined Gold Overhaul (v3.1).
**Add RAM limitation message (no music) for Glory Days: Tactical Defense on DS flashcards.
**@DieGo367: DSi-based themes: Tweak startup jingle / music conditions.
**Various: Updated translations.
*Bug fixes
**Fixed DSi Sound not being auto-set as a donor ROM in order for DSi-Enhanced games to run in DSi mode in DSiWare exploits (such as Memory Pit, Flipnote Lenny, stylehax, etc.).
**Getting SysNAND region and launcher app settings works again.
**@DieGo367: Fixed Slot-1 not loading in DS Classic Menu.
**@DieGo367: DSi-based themes: Reworked box art clearing and missing box arts.
**@NightScript370: Theme is now the default music option.
**Fixed startup jingle not playing in 3DS theme with 3DS menu music set.
'''v26.3.1'''<br>
* What's new?
** Added AP-fix for Italian translation of Chrono Trigger.
* Bug fix
** nesDS is now in it's proper location of sd:/_nds/TWiLightMenu/emulators/ once again.
'''v26.3.0'''<br>
*What's new?
**@DeadSkullzJr: Updated AP-fix for Pokémon: Refined Gold Overhaul.
**Added DSi build of A5200DS to run Bosconian at full speed!
**Switched to the new version of nesDS!
**For nesDS to work, you need to move the .nds file out of the nesDS folder in sd:/_nds/TWiLightMenu/emulators/.
**@edo9300: Updated the DS Classic Menu to function more closely to the DS/DS Lite system menu!
**Various: Updated translations and add Kazakh language!
*Bug fixes
**GFX_STATUS register is now cleared before booting homebrew.
**@Dartz150: Added fix for Top Gun: Combat Zones when running in native GBA mode with Slot-2 flashcard.
*Known bug
**Some font characters are missing for the Kazakh language to properly display.
'''v26.2.0'''<br>
*What's new?
**Added GBA/DS Phat color mode!
**Box art/photo color de-banding is now useable on debug/dev DS consoles.
**@edo9300: Brightness level can now be changed on DS Phat consoles.
**@lifehackerhansol: Added autoboot files for the EZ-Flash Vi and r4i.cn carts.
**@R-YaTian: Added some AP and widescreen patches.
*Bug fixes
**@edo9300: Fixed detection of DS Phat or DS Lite console.
**@edo9300: Fixed buffer overflow in slot1launch.
**R4/GBC themes: Fixed file list not scrolling down to selected file, after selecting the Game icon.
'''v26.1.1'''<br>
*What's new?
**Added a new feature where you can test out the upcoming GBARunner3!
**To enable it, set GBARUNNER3_TEST to 1 in sd:/_nds/TWiLightMenu/settings.ini
**Build from source code here: https://github.com/Gericom/GBARunner3
**Copy bootstrap.nds to sd:/_nds/TWiLightMenu/emulators/, and rename to GBARunner3.nds
**Launch a GBA game, and report any issues you encounter to https://github.com/Gericom/GBARunner3/issues
**As of this TWLMenu++ release, GBARunner3 currently doesn't work on DS flashcards.
**If you want good compatibility when playing GBA games, please stick to GBARunner2 for now. Only use GBARunner3 for testing purposes.
**A message will now appear when attempting to launch Pictochat or Download Play in the 3DS theme if their .nds files don't exist in /_nds/.
*Bug fixes
**Fixed AP-fixes for
**Alice in Wonderland (Europe, Australia)
**Inazuma Eleven (All regions except Japan) (@DeadSkullzJr)
**Inazuma Eleven 2 (All regions except Japan) (@DeadSkullzJr)
**Tsukibito (RetroGameFan)
**Fixed internet browser not launching correctly in 3DS theme when not in the same location as the .nds file of the browser.
**RAM disk setting is now changeable again.
**Launching Mario & Luigi: Partners in Time on DS flashcards will no longer show the "known to not work" message when trying to run it with nds-bootstrap/B4DS.
'''v26.1.0'''<br>
*What's new?
**@DeadSkullzJr: Updated AP-fix for Pokémon: Refined Gold Overhaul to v2.0.
**Box art / Game cover display now supports transparency!
***Useful for if you want to use game logos in the 3DS theme instead of game covers.
**Removed broken AP-fix for Golden Sun: Dark Dawn, as nds-bootstrap now properly handles the patching.
**Added ESRB ratings for
***Asphalt Urban GT
***Asphalt Urban GT 2
***Black Sigil: Blade of the Exiled
*Improvement
**Various: Updated translations.
*Bug fixes
**Fixed wrong placement of wireless icon(s) in DS Classic Menu.
**Fixed a long-standing bug where a DSiWare title that doesn't use save data would get moved to the saves folder when re-opening TWLMenu++.
'''v26.0.1'''<br>
'''What's new?'''
*me, @Epicpkmn11, and various: Updated translations!
**Czech and Finnish have been added.
*Updating in TWLMenu++ Settings (flashcard required, if using the SD, or vice-versa) is now shown in 3 steps:
**Updating misc srldr files
**Updating *menu srldr files
**Updating nds-bootstrap
 
'''v26.0.0'''<br>
''' What's new? '''
* Added the following consoles to TWLMenu++ Virtual Console!
** MSX (via ColecoDS)
** Pokémon mini (via PokeMini)
** SEGA SC-3000 (via S8DS &amp; ColecoDS)
* [https://github.com/PW5190 @PW5190]: Added Kirby-themed TWLMenu++ splash screen which plays on the day of Kirby's anniversary!
* [https://github.com/DeadSkullzJr @DeadSkullzJr]: Added AP-fixes for
** Pokémon: Refined Gold (v3.2.1)
** Pokémon: Refined Gold Overhaul (v1.4.3)
** Pokémon: Silver Yellow Version (v1.18)
** Pokémon: Vintage White Version (20230727)
** Pokémon: Yin Black Version (v3.3)
** Pokémon: Yang White Version (v3.3)
* For the first time in years, the 3DS theme gets a new update! Pictochat, Download Play, and Internet Browser icons have been added!
** You can set either the DS or DSi Browser by selecting the ROM, then press Y button, and scroll down to select <code>Set as Internet Browser</code>.
** Based on a concept by <code>sag4</code> on Discord.
* Pictochat &amp; DS Download Play are now booted by nds-bootstrap.
** In DSiWarehax, TWLMenu++ will still reboot into Download Play due to locked SCFG.
* Unlaunch can now be set as a game loader for old DS homebrew on DSi SD Card.
* GBA &amp; GBC TIDs are now viewable in the per-game settings menu.
* DSL/rom3M build of GBARunner2 is now specifically used for ''Pokémon: Emerald Version'' on DS flashcards.
* ''Metroid Fusion'' &amp; ''Metroid: Zero Mission'' will no longer launch if no GBA BIOS is detected.
* [https://github.com/PW5190 @PW5190]: Added ESRB rating infos for multiple DS titles.
* Improved support for custom rvid files for the 3DS theme.
** Filesize limit is 7MB
** Any frame rate should work
** Maximum video height is 144px
 
''' Bug fixes '''
* Fixed every DS save file being made or expanded at 512KB.
* '''Also a regression:''' To fix a crash, cheats can no longer be used for ''Animal Crossing: Wild World'' on DS flashcards.
* Fixed reading GBA booter setting.
* Fixed flickers on the bottom screen outside of R4 and GBC themes.
* Other minor fixes and optimizations.
 
'''v25.11.0'''<br>
*What's new?
**@DeadSkullzJr: Added AP-fixes for
***Pokémon: Moon Black 2 (Beta v4.2.3)
***Pokémon: SoothingSilver Version (v1.3.2)
**Starting points for custom skin music are now supported!
***Audio file must be named bgm.start.wav, and goes in the same place as bgm.wav.
***If your custom skin still uses bgm.pcm.raw, it is recommended to switch over to bgm.wav. See this page for more information.
**The original DSi Menu music has been re-added!
***Quality is the same as in prior versions which contain the music.
**To celebrate the release of Sonic the Hedgehog on SEGA Genesis/MegaDrive, the TWLMenu++ splash screen now plays a jingle from the game!
***For this to take effect, TWiLight Menu++ must be booted on the release date of the game.
*Improvement
**TWLMenu++ has switched back to non-ADPCM versions of the DSi/3DS/HBL theme music files, in order to improve the quality.
***This also improves load times when using a specific music option for the first time.
*Bug fix
**Fixed image viewer not reading image from flashcards.
**Fixed the jingle playing a bit quiet when played in the Style Savvy variant of the TWLMenu++ splash screen.
 
'''v25.10.0'''<br>
*What's new?
**@DeadSkullzJr: Added AP-fixes for some Pokémon ROM hacks.
***Pokémon: Legacy - Sevii Islands (Demo v1.2)
***Pokémon: Blaze Black Version (v3.2)
***Pokémon: Blaze Black Version 2 (v1.2)
***Pokémon: Volt White Version (v3.2)
***Pokémon: Volt White Version 2 (v1.2)
***Pokémon: Pitch Black Version (v1.3)
***Pokémon: Pure White Version (v1.3)
***Pokémon: Special Adventures Edition (v1.3)
***Pokémon: Yin Black Version 2 (v1.1)
***Pokémon: Yang White Version 2 (v1.1)
*Improvement
**@lifehackerhansol: Updated DLDI submodule.
***Cheats have been confirmed to work on DSTT-based flashcards via nds-bootstrap.
*Bug fix
**@lifehackerhansol: Fixed autoboot for timebombed flashcards.
'''v25.9.6'''<br>
* What's new?
** To fully restore the look of the DSi Menu, the default fallback skin for the DSi theme is now the light skin instead of the dark one.
*** This was done because of some users apparently having bad first impressions with TWLMenu++ on DSi, and in addition, would end up making forwarders for the original DSi Menu (along with optionally installing hiyaCFW, a DSi CFW which is not needed nowadays).
*** You can still download the dark skin here: https://skins.ds-homebrew.com/nintendo-dsi/default-dark
**** In the dark.7z file, put the dark folder in sd:/_nds/TWiLightMenu/dsimenu/themes/, then open TWLMenu++ Settings, select Theme (set to Nintendo DSi), press A, then select dark.
* Improvement
** @lifehackerhansol: Updated GMP-Z003 autoboot to flashcard-bootstrap v1.2.3, with an open-source DLDI.
* Bug fix
** Fixed the DS/DSi splash jingle not playing and either no or glitched sound playing in place.
'''v25.9.5'''<br>
* What's new?
** Added a working AP-fix for The Legend of Zelda: Spirit Tracks (Europe, Rev 1)!
*** The fix comes from @DeadSkullzJr's cheat database.
* Improvement
** @lifehackerhansol: Updated some DLDI drivers.
* Bug fix
** Fixed a possible bug where a game wouldn't boot if it's placed on the SD root.
'''v25.9.4'''<br>
*Now applies to DS Classic Menu as well: Fixed an overlooked bug which made games not start.
**For DS(i) games, nds-bootstrap would either display error code -2 or white screens after launching a game.
'''v25.9.3'''<br>
*Fixed an overlooked bug which made games not start.
**For DS(i) games, nds-bootstrap would either display error code -2 or white screens after launching a game.
'''v25.9.2'''<br>
* Fixed white screen appearing on the top screen, if music is turned off.
* Fixed text flickering in TWLMenu++ Settings with Memory Expansion Pak inserted.
* Changed Use nds-bootstrap to Game Loader in the per-game settings menu to reflect the change in TWLMenu++ Settings.
'''v25.9.1a'''<br>
*Bug fix
**Fixed to no longer show white screens on boot (unless there's an actual SD or libfat issue).
'''v25.9.0'''<br>
''' What's new? '''
* [https://github.com/DeadSkullzJr @DeadSkullzJr]: Added AP-fix for ''Pokémon: SoothingSilver Version'' (v1.3.0)
* [https://github.com/DeadSkullzJr @DeadSkullzJr]: Added AP-fix for ''Pokemon: StormSilver Version'' (v1.10)
* [https://github.com/icup321 @icup321]: Added ''Rayman Raving Rabbids'' widescreen patch ([https://github.com/DS-Homebrew/TWiLightMenu/issues/2169 #2169])
* To recreate the look and feel more closely, the DSi &amp; 3DS themes now fade in after loading the current page of games.
* Increased file/folder limit from 320 to 512 (Flashcard) or 1024 (DSi/3DS).
* [https://github.com/PW5190 @PW5190]: Added ESRB Ratings for more DS games ([https://github.com/DS-Homebrew/TWiLightMenu/issues/2175 #2175])
* Changed the <code>Use nds-bootstrap</code> setting to <code>Game Loader</code> on flashcards.
** Default setting is <code>nds-bootstrap</code>.
 
''' Improvement '''
* [https://github.com/Epicpkmn11 @Epicpkmn11] and various: Updated translations.
 
''' Bug fixes '''
* To prevent some weird issues, TWLMenu++ no longer boots with a write-locked SD card.
* argv is no longer passed to <code>Unlaunch.dsi</code>, in hopes of fixing the bug where it doesn't boot for certain users.
* Fixed <code>sd:/hiya.dsi</code> not being detected, for when trying to open System Settings or the DSi Menu.
* Fixed DSiWare launched from flashcard not booting via nds-bootstrap when copied to a temp location on the SD card.
* [https://github.com/DieGo367 @DieGo367]: Fixed custom icons/banners on argv files ([https://github.com/DS-Homebrew/TWiLightMenu/issues/2166 #2166], [https://github.com/DS-Homebrew/TWiLightMenu/issues/2167 #2167])
* Fixed a long-standing bug where launching Pictochat or DLP using the DS Classic Menu doesn't work sometimes.
* [https://github.com/DieGo367 @DieGo367]: Added bounds checks for datetime/username font draws ([https://github.com/DS-Homebrew/TWiLightMenu/issues/2173 #2173])
* [https://github.com/DieGo367 @DieGo367]: Fixed font-related crash ([https://github.com/DS-Homebrew/TWiLightMenu/issues/2163 #2163])
* If an invalid user/favorite color is detected in the FW chip, it now defaults to gray (or red for the TWLMenu++ splash screen).
* Switched back to the FastVideoDSPlayer build with TWL WRAM check to allow video playback when using Memory Pit.
 
'''v25.8.1'''
*Improvement
**@Epicpkmn11 and various: Updated translations.
*Bug fix
**Fixed error message not appearing when launching via flashcard loader fails.
**@lifehackerhansol: Added missed INI setting for RTS-compatible flashcard loaders.
 
'''v25.8.0'''
* What's new?
** The new Digimon Story: Lost Evolution English translation is now AP-fixed instead of the old one.
** Corrected AP-fix for Alice in Wonderland (Europe).
*** Does not fix the AP issue.
** @DieGo367: Allow setting custom color palettes based on user profile color for all paletted graphics (#2137)
** @Epicpkmn11: Allow making the loading screen dark (#2134)
** @Epicpkmn11: Added option to disable alpha blending (#2141)
** @Epicpkmn11: Improved in-game menu hotkey setting menu (#2127)
** DSi/3DS: Added feature to swap SD cards before TWLMenu++ starts, by holding Right + A.
*** Useful if Unlaunch cannot display TWLMenu++ (as boot.nds), despite the SD card being formatted properly, and if you have another SD card which Unlaunch can display the boot.nds file just fine.
** @lifehackerhansol: Added M3i Zero (GMP-Z003) autoboot (#2138)
* Improvement
** @lifehackerhansol: Switched to open-source Ace3DS+ DLDI.


'''v25.7.0'''
----
*What's new?
** When started via flashcard, in order to use the settings from the console's SD card slot, a file called <code>primary</code> must now be created in <code>sd:/_nds/</code>.
** [https://github.com/quiple @quiple]: Updated font used in the DS Classic Menu.
** Updated AP-fix for ''Anpanman to Touch de Waku Waku Training'' in order to work properly with nds-bootstrap v0.68.0.
** Finally updated NitroGrafx to v0.9.0.
** Support for the EZ-Flash RAM is now disabled by default.
*** In order to use it again, <code>EZ_FLASH_RAM</code> must be set to <code>1</code> in <code>fat:/_nds/TWiLightMenu/settings.ini</code>.
*Improvement
** [https://github.com/Epicpkmn11 @Epicpkmn11] and various: Updated translations.
*Bug fixes*
** Fixed games not booting in widescreen, as well as all of DS(i) mode being stuck in widescreen after launching a game with widescreen.
*** If you've been affected by this bug prior to this version, delete <code>TwlBg.cxi</code> in <code>sd:/luma/sysmodules/</code>, and re-follow the widescreen guide.
*** This also fixes games from the console SD not booting after the flashcard is mounted via SCFG access.
** Fixed white screen crash caused by hiyaCFW (again).
*** Will not be reverted due to inevitable bugs related to NAND init/read code.


'''v25.6.01'''
===R4 theme===
*Fixed an overlooked bug which caused TWLMenu++ to not start via Memory Pit and/or when exiting from homebrew.
''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


'''v25.6.0'''
----
* What's new?
** The first 32KB of both the arm9 & arm7 DSi BIOS are now dumped to sd:/_nds/ for use by nds-bootstrap.
** TWiLight Menu++ is no longer required to be installed on your flashcard in order to access it's contents from DSi/3DS SD card with unlocked SCFG!
** It may still need to be installed there in order to run some retro games from the flashcard.
* Improvements
** Mr. Start: The Super Nintendo DS splash screen (only viewable with Slot-2 flashcards which aren't EZ-Flash) has been updated!
** @Epicpkmn11 and various: Updated translations.
* Bug fixes
** @Epicpkmn11: WAV header is now used for converted ADPCM music, in order to fix where the sample rate is wrong on second play of the music.
** The last 16KB of the DSi WRAM is no longer cleared in order for dsibiosdumper to work correctly.
** Fixed the SD removal check being tripped in DS Classic Menu (the result of the black screens with white text) depending on how much RAM is used.
** Fixed Slot-1 or some flashcards not booting with Slot-1 microSD access turned off.


'''v25.5.0'''
===Acekard theme===
*What's new?
* Up/Down: Select a game/app
** Updated halloween splash BG to add a jack-o-lantern pumpkin face!
* A: Launch game/app
** Added Super Nintendo DS logo for if a Slot-2 flashcard is detected!
* B/L: Go up one directory
** Added Kiosk mode, which disables access to any settings menu, and the hiding and deletion of titles.
* Y: Per-game settings
** Can only be enabled in sd:/_nds/TWiLightMenu/settings.ini by setting KIOSK_MODE to 1.
** X: Cheat menu
** If the console screens go black when starting via Unlaunch, sleep mode can now be disabled by setting SLEEP_MODE to 0 in sd:/_nds/TWiLightMenu/settings.ini.
* START: Options menu
** @SNBeast & @Epicpkmn11: Added new Unlaunch Launcher patch! (#2070)
* SELECT: Change list mode
*Improvement
**@Epicpkmn11 and various: Updated translations.
*Bug fix
**@Epicpkmn11: Restored alpha blending to top screen fonts in DSi-based themes.


'''v25.4.0'''
----
*What's new?
** FastVideoDSPlayer (by @Gericom) is now bundled! Play videos as high as 60FPS on DSi, 30FPS on DS, and with any length!
*** See this page for more information, as well as how to convert a video.
** Added logging! Open sd:/_nds/TWiLightMenu/log.txt to see what TWLMenu++ has printed out while it was running a certain theme.
*** Only very minimal information is printed out for now.
** nds-bootstrap pre-load settings are now bundled!
** @Epicpkmn11: Added extension blocking INI-only setting. (#2061)
** Box art is now turned off by default for first-time users.
*Improvement
** @Epicpkmn11 and various: Improved translations.
*Bug fixes
** Fixes a bug which caused DSi-based themes to crash on white screens during font loading, when running on CycloDS iEvolution in DSi mode.
** DSiWare booter per-game setting is no longer ignored when booting Last-run ROM.
** Fixed where pressing A, X, or Y would not work in DSi-based themes with box art turned off, if Left or Right aren't pressed on D-Pad.
** Loading screen is no longer shown when skipping to the end of a page in DSi-based themes.
** Fixed touch frame delay.


'''v25.3.1'''
===With CFW: DS ROMs on SD/carts===
*What's new?
* L+R+DOWN+B for 2 seconds: Return to TWiLight Menu++.
** Added Kirby Super Star Ultra menu softlock fix. (Code by @DeadSkullzJr)
** (If using an o3DS, then it does not work on all models)
** Cluster size warning is now shown for DSiWare on flashcards.
*Improvements
** @Epicpkmn11: DSi/R4 themes: Hidden file check is now faster. (#2035)
** Other minor improvements.
*Bug fix
**Fixed screen tearing before displaying box art.


'''v25.3.0: Labor Day Release'''
For DS game compatibility, please check this list:
*What's new?
[https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/edit?usp=sharing List of games that work from SD Card]
** @DieGo367: DSi Theme: Added macro-specific backgrounds (#2004)
** Due to some requests, the long version of the TWLMenu++ splash jingle has been re-added as an optional setting.
*Improvements
** @Epicpkmn11 and various: Updated translations and added Ryukyuan language.
** The TWLMenu++ splash screen now plays with no jitter on DS consoles from flashcard, and DSi consoles from SD card.
*Bug fixes
** @lifehackerhansol: Switched to open-source M3DS Real DLDI, fixing compatibility with nds-bootstrap's B4DS mode.
** @lifehackerhansol: Switched to open-source EZ-Flash V DLDI.
** Fixed manual not opening in 3DS theme on flashcards.
** Fixed the SD/Slot-1 icon not displaying on flashcards running with the SD/SCFG access settings.
** @Epicpkmn11: Fix residual text when printing small characters (#2012)
** @DieGo367: Some top text printing fixes (#2018)
** Other minor fixes.


'''v25.2.1'''
==FAQs==


Bug fix
'''Q: (3DS users) This is a DS(i) emulator, right?'''
*Fixed Async Card Read not showing in the per-game settings menu, if it's opened for a TWL ROM which can pre-load into RAM in DS mode on DSi consoles.


'''v25.2.0: TWL Summer Release #7'''
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>
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).


What's new?
'''Q: After installing the TWiLight Menu++ CIAs, I don't see the app on the 3DS HOME Menu. How can I fix this?'''
*The DS firmware proto version of the GBA splash (with white BG) is now used in macro mode instead of the DS(i) splash.
*@Epicpkmn11 and various: Added Catalan language.
**Only usable in nds-bootstrap.


Improvements
Reboot the console.
*Changed Use bottom screen to Display Screen: Top/Bottom in the GBARunner2 page of TWLMenu++ Settings.
*@Epicpkmn11 and various: Updated translations.


Bug fixes
'''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++?'''
* Fixed Screen Aspect Ratio per-game setting displaying if Widescreen.cxi didn't exist.
* @lifehackerhansol: Fixed DS Lite backlight info not being properly saved when launching a flashcard game with Wood FW.
* Fixed language and region selection screens for macro mode.
* Fixed always using Grayscale for the transparent parts of battery, volume, and date/time.
* Other minor fixes.


Known bug
A: TWL_FIRM might've somehow got corrupted.<br>
*The GBA splash for macro mode plays at half-speed.
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]


'''v25.1.0: TWL Summer Release #6 Latest'''
'''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?'''


What's new?
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".
* @DeadSkullzJr: Updated AP-fix for Pokémon: SoothingSilver Version (v1.2.1 to v1.2.2)
* If the WiFi setting is found to be off, it'll now be auto-set to on.
* This is done for those who have previously updated to the TWLMenu++ version which sets the WiFi setting off by default for 3DS/2DS users.
* If you still don't want to use wireless/WiFi features, you must manually turn it off again in TWLMenu++ Settings.
* A TWiLight Menu++ .nds/.srldr file can no longer be launched from within TWiLight Menu++ itself.
* 3DS theme: The rotating cubes are now displayed in B&W/Grayscale mode.


Bug fixes
'''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?'''
* @Epicpkmn11: Fixed volume icon, time text, and battery icon being placed over previous one(s) when updated.
* Fixed known bugs related to B&W/Grayscale mode.


Known bug
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".
* The HBL theme will now have the volume icon, time text, and battery icon show a gray background behind them.


'''v25.0.1 (hotfix)'''
'''Q: After launching a game in widescreen, the TWLMenu++ GUI is stretched in the top screen! How do I fix this?'''


Bug fixes
A: In FBI, delete both TWiLight Menu++ titles (in purple text) in the title list, then install both the latest TWLMenu++ CIAs.<br>
* Fixed music in .raw format from custom skins of DSi-based themes not playing.
Back in the title list, launch "TWiLight Menu++ Last-ran ROM".<br>
* The image viewer now reads the SD removal detection setting.
If this doesn't fix it, delete "TwlBg.cxi" at "sd:/luma/sysmodules/".


'''v25.0.0: More than just games! (TWL Summer Release #5)'''
'''Q: How do I get past Luma's exception screen when trying to soft-reset the game, or return to TWiLight Menu++?'''


What's new?
A: Enable game patching in Luma settings, or update Luma to v10.0 (or later).
* With a video player (tuna-viDS) being bundled, TWLMenu++ now has a feature to view image files as well!
* The addition of tuna-viDS and this feature brings TWiLight Menu++ close to it's goal to be the next Moonshell!
* .bmp, .gif, and .png files are supported.
* Trying to load an image containing a width larger than 256px and/or height larger than 192px will be displayed as a black screen instead.
* Listen to the menu music from Nintendo DSi Camera while viewing the image!
* @lifehackerhansol: The Acekard 2i, R4 Ultra and R4iTT flashcart loaders have been rolled into one!
* The BL2CK loader is now used.
* Improvement
* @lifehackerhansol: Updated ak2_sd.dldi to support R4iDSN/R4 Ultra as well.
* As a result, r4idsn_sd.dldi has been deleted.


Bug fixes
'''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?'''
* PPSEDS r11 now runs in DS mode by default.
* DSi-based themes: A non-ADPCM .wav file contained in a custom skin should now be read properly.
* Fixed not booting via hiyaCFW, depending on the SysNAND Region/Launcher settings.
* Other minor fixes.


Known bugs
A: Go into TWLMenu++ Settings, and disable "Update recently played list".
* Animated .gif files will appear static.
* 4-bit .bmp files are not supported. A black screen will be shown instead.
* Trying to launch a title stored on an Acekard 2(i) with Slot-1 microSD access enabled will still crash on white screens.
* The image viewer currently ignores the SD removal detection setting, so ejecting the SD card will trigger the SD removal screen regardless.


'''v24.12.1 (hotfix)'''
'''Q: Can The Biggest Loser boot TWiLight Menu++?'''


What's new?
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.
*@lifehackerhansol: The _BOOT_DS.NDS file has been removed for R4i-SDHC flashcard users, and loading TWLMenu++ now takes place in the R4.dat file.


Bug fix
'''Q: Why do I get a white screen when trying to load a game from SD Card, and how do I fix it?'''
* Fixed DS mode not being set if a certain launched title is blacklisted from using TWL clock speed, when launching the Last-run ROM title from hiyaCFW, or if soft-resetting in a DS game under a specific condition.


'''v24.12.0: TWL Summer Release #4'''
A1: You're using an incompatible DSiWare exploit. It should use GenericTWLPayload for DS ROMs to work.


What's new?
A2: nds-bootstrap shrinks the heap to fit it's own code for arm9, into cached memory. Shrinking the heap breaks some games.<br>
* DSiWarehax users: If a DSi donor ROM hasn't been set yet, one from TWLNAND (ex. Nintendo DSi Sound, and/or a valid title the exploit uses) will automatically be set when you start TWLMenu++!
To disable heap shrink, hold L immediately after pressing A/START to launch the game.
* Directly loading nds-bootstrap's HB bootloader is now an option. (Disabled by default to work around bugs.)
* @Epicpkmn11: Cheat names will now scroll in the R4/GBC themes!


Improvement
A3: Please note that not all games work from SD Card yet. Check the list above.<br>
*@Epicpkmn11 and various: Updated translations.
If it's listed as compatible, try again.


Bug fixes
If you're a DSi user, Please check the LED set in TWiLight Menu++ settings.
* The Run in setting is now hidden and defaults to DS mode, if TWL clock speed is blacklisted for a certain title.
* 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.
* Fixed DS homebrew showing VRAM boost as DSi mode if Run in is set to Default.
* 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.
* As a TWLNAND mount bug got fixed, Unlaunch is no longer used to reboot into TWLMenu++, when launched via hiyaCFW.
 
'''v24.11.0: TWL Summer Release #3 Latest'''
 
What's new?
*@DeadSkullzJr: Replaced AP-fix for v1.2.0 of Pokémon: SoothingSilver Version with one for v1.2.1.
*Replaced broken AP-fix for SD Gundam Sangoku Den - Brave Battle Warriors - Shin Militia Taisen with working cheat version.
 
Improvement
*@Epicpkmn11 and various: Added Valencian language, and updated translations.
 
Bug fixes
*The Ex. ROM space in RAM setting can no longer be changed if title is set to run in DSi mode.
*Fixed nds-bootstrap not found message not showing when loading DS homebrew, and if nds-bootstrap-hb doesn't exist in sd:/_nds/.
 
'''v24.10.0: TWL Summer Solstice Release'''
 
What's new?
*Added AP-fixes for Inazuma Eleven 3 and Ni no Kuni (Spanish translations).
*nds-bootstrap-hb's bootloader is now directly loaded, eliminating the middleman, so booting old DS homebrew is now 2 seconds faster!
**Currently only applies to DSi-based themes and the DS Classic Menu, the latter of which pre-loads the homebrew's ARM9 binary for a slightly faster boot.
*The Direct boot setting has been removed for console SD users.
**Pre-2009 DS homebrew will now always use nds-bootstrap, and 2009 or later homebrew will use nds-bootstrap if either DS mode or a RAM disk is set.
*For homebrew with large ARM9 binaries (ex. SM64DSi), all per-game settings except Language and Region are now hidden.
*With FastVideoDS still to come in the future, an old obscure video player, tuna-viDS (by @chishm), has been added for Xvid (.avi) video playback!
**See this guide for how to convert a video, starting from Step 2.
*SNEmulDS has been reverted to the legacy pre-TGDS build to work around a few bugs.
**As the TGDS build is still bundled, you can switch to it by setting NEW_SNES_EMU_VER to 1 in sd:/_nds/TWiLightMenu/settings.ini.
*The VRAM mode setting can now be changed for when running NTR games in DSi mode.
'''v24.9.1'''
 
Bug fix
* Fixed TWLMenu++ not starting via hiyaCFW, by having Unlaunch start it instead. (For real, this time.)
* It is still not recommended to have hiyaCFW autostart TWLMenu++, as it takes more time than usual. If you're looking to autoboot TWLMenu++, then set NO BUTTON to TWiLight Menu++ (boot.nds) in Unlaunch options.
 
'''v24.9.0'''
 
What's new?
* Added AP-fixes for Pokemon HeartGold & SoulSilver (Latin Spanish translation).
* When detecting rumble, it no longer checks for TIDs of GBA games, in order for custom GBA carts with rumble to work as well.
* Updated ESRB game list to add more games. (c0645f6)
* The External FIRMs and modules setting in Luma config is now checked before rebooting to widescreen.
** Make sure Luma is on v11 or later for this to work.
* The brightness can now be changed in the DS Classic Menu on DS lite consoles!
 
Improvement:
* @Epicpkmn11 and various: Improved translations.
 
Bug fixes:
* Fixed a long-standing bug where sleep mode would not work and/or cause a crash (with a glitched top screen) after exiting.
** This is achieved by implementing a custom sleep mode handler, as the one in libnds is bugged.
* Fixed another long-standing bug where a certain area of RAM gets cleared while using Memory Pit.
** This allows the complete font set to be loaded without issues in Memory Pit.
* @lifehackerhansol: The flashcard kernel (Wood, in this case) now uses the correct save file extension (being .sav instead of .nds.sav).
* The brightness level on DS lite no longer self-changes while using the flashcard kernel (Wood, in this case) to run games!
* Fixed AP warning not shown for Mario & Luigi RPG: Siganui Partner (Korea), if AP-fix doesn't exist.
* DSi-based themes: Fixed crash when opening per-game settings for a DS(i) ROM with no icon.
* Fixed TWLMenu++ not starting via hiyaCFW, by having Unlaunch start it instead.
 
'''v24.8.0'''
 
What's new?
* @DeadSkullzJr: Added AP-fix for Pokémon: SoothingSilver Version (v1.2.0).
* DSi theme: Added support for rumble, when moving the cursor!
* Requires the DS Rumble Pak, Drill Dozer, or WarioWare: Twisted.
* A message will now appear when attempting to launch a DSiWare title from a flashcard in DS mode on DSi or 3DS consoles.
* The donor ROM message can no longer be skipped without viewing the second page of it.
* 3DS theme: Message box now pops up instead of sliding in.
 
Bug fixes
* Save files are now checked before the per-game settings are shown, instead of selecting a save slot.
* Fixed reverting to DSi theme after rebooting with GBC theme set.
* Fixed donor ROM message not appearing if nds-bootstrap setting (for DS games) is disabled when launching DSiWare titles from flashcard.
* Tried fixing autoboot with hiyaCFW not working (thus, untested).
* Icon is now not animated in hiyaCFW.
 
'''v24.7.0'''
 
* Reminder: If you get a white screen crash instead of the ROM menu being shown, hold SELECT during the splash screen or after you launched TWLMenu++, to open TWLMenu++ Settings, and change the DSi/3DS Theme Music setting to something other than Theme.
 
What's new?
*Updated B4DS DSiWare whitelist to accommodate for the included nds-bootstrap version.
*Added warning messages when launching Art Style: Aquia, Flipper, and Mighty Milky Way on flashcards in DS mode.
*(@Epicpkmn11) Allowed skins to set username/date/time X/Y and override settings for macro mode.
 
Improvement:
*(@Epicpkmn11 and various) Updated translations.
 
Bug fixes:
*R4/GBC themes: Fixed recent console icon additions not being displayed.
*Fixed trying to read custom skin BGM, if no custom skin is found.
*Slot-1 is now inited properly, regardless of the Slot-1 microSD access setting.
**This allows certain flashcards to be launched (ex. Gateway Blue Card).
*Fixed Set as Donor ROM option not showing on flashcards if nds-bootstrap is off.
*(@DieGo367) Various grayscale color mode fixes.
*Fixed bugged sounds in Pictochat and DLP, if not using DSiWarehax.
 
'''v24.6.0'''
 
What's new?
*Updated B4DS DSiWare whitelist to accommodate for the included nds-bootstrap version.
*(@spellboundtriangle) Added widescreen patch for beebzDS (Demon Turf DS).
*(@Epicpkmn11) Added setting nds-bootstrap game manual!
*(@DieGo367) Themes can now use multiple font palettes! (#1894)
*(@DieGo367) Themes can now have fonts bundled! (#1895)
*(@DieGo367 & @Epicpkmn11) Added Use skin font setting! (#1896)
 
'''v24.5.0'''
What's new?
* (@lifehackerhansol) The icon is now animated again!
** 3DS: For this to take effect, delete TWiLight Menu++ in System Settings, before updating. (Using FBI to delete it will work as well, but make sure TWLMenu++ is gone from the HOME Menu, before updating.)
* (@DeadSkullzJr) Added AP-fixes for:
** Metal Max 2: Reloaded (English translation)
** Nora to Toki no Koubou: Kiri no Mori no Majo (English translation v0.3c)
** Pokémon: Moon Black 2
** SaGa 2: Hihou Densetsu: Goddess of Destiny (English translation)
* Deleted AP-fixes for randomized Pokémon ROMs, as each one have varying headers.
* (@Epicpkmn11) Launcher App & SysNAND Region are now autodetected from DSi NAND.
* When launching a GBA ROM using the Native feature on DS Phat/Lite, holding D-Pad Left & R shoulder buttons will now activate a feature hidden in the console, which swaps green intensity between every two pixels.
** As this is not a visible feature in TWLMenu++ Settings, it should only be used for testing purposes.
** Will not work with EZ-Flash 3 in 1.
 
Improvement:
* (@Epicpkmn11 and various) Updated translations.
 
Bug fixes:
* (@Epicpkmn11) Fixed DSi icon palettes in DSi-based themes. (See #1884 for more info.)
* (@Epicpkmn11) ROM folder is now reset if missing.
* (@DeadSkullzJr) Fixed AP-fix for Metal Max 2: Reloaded.
 
'''v24.4.0'''
 
What's new?
* (@DeadSkullzJr) Added AP-fixes for Pokémon: Blaze Black 2 & Pokémon: Volt White 2 (v1.2).
* Added four new splash screen variants for April Fools and the release dates of the Virtual Boy console, Super Mario 64 DS, and Style Savvy.
* The Virtual Boy variant of the DS(i) splash screen will now also be shown on the release date of the Virtual Boy console.
* (@xonn83) Added GBMacro version of jEnesisDS for use with Macro Mode.
 
Bug fix:
* Fixed TWL clock speed being used by default when launching Slot-1 cartridges.
 
'''v24.3.1'''
 
What's new?
* (@DeadSkullzJr) Added AP-fix for English translation of Nora to Toki no Koubou: Kiri no Mori no Majo v0.1a.
* (@Epicpkmn11) DSiWare Booter and nds-bootstrap have been added as per-game settings (the latter of which only appears on flashcards).
* (@Epicpkmn11) * is now shown next to existing save numbers.
* (@Yrouel) nds-bootstrap .ver files are now read outside of the TWiLightMenu folder.
 
Bug fix:
* Fixed white screen / guru error crash when using the DSi theme in Memory Pit.
 
'''v24.3.0'''
 
What's new?
* (@lmazet) Added Amstrad CPC to TWLMenu++ Virtual Console!
** This has only been tested on flashcards.
* The DSi binary message is now displayed before the Donor ROM message, when running via DSiWarehax (such as Memory Pit, Flipnote Lenny, etc.), and if the DSi binaries are missing from a DSi-Enhanced ROM.
* (@Epicpkmn11) Swapped 1st and 2nd banner lines, in order for Unlaunch to display which .srldr files are which, without looking at the bottom screen.
* (@Epicpkmn11) To save a couple of MB (megabytes), all bundled skins has been removed.
** They can still be downloaded from the [https://skins.ds-homebrew.com/ TWiLight Menu++ Skins] site.
 
Improvement:
* With the release of Pokémon Blaze Black 2 Redux & Pokémon Volt White 2 Redux, which cannot boot in DSi mode, the DSi binary check has been improved further.
 
Bug fixes:
* RTC fix has been ported from nds-bootstrap, when running Slot-1 cartridges.
* Fixed Error 1 when launching Slot-1 game in widescreen or through the Last-run ROM title.
* (@lifehackerhansol) Fixed R4iDSN autoboot and flashcart loaders.
* (@lifehackerhansol) Fixed Ace3DS+ autoboot.
* 3DS theme: Fixed rotating cubes sometimes not disappearing before displaying box art.
* Fixed SD writes causing random lockups.
** This has not been fully tested, so there's a very low chance that lockups will still occur.
* Fixed nds-bootstrap-specific per-game settings not saving for DSi-Enhanced/Exclusive titles, if nds-bootstrap is turned off for flashcards.
* Fixed nds-bootstrap settings not saving, if running from flashcard with SCFG enabled.
* Photo/box art color de-band has been defaulted to off to fix black lines appearing.
** If you installed a TWLMenu++ version before this one, you'll need to manually turn it off, if you want to remove the black lines.
 
'''v24.2.1'''
 
Improvement:
* (@Epicpkmn11 and various) Updated translations.
 
'''v24.2.0'''
 
What's new?
* TWLMenu++ Splash Screen: Mario-themed splash variant has been added for MAR10 Day.
* Progress bar is now shown when creating save data.
* Replaced broken GoldenEye 007 AP-fix with working cheat version.
* (@R-YaTian) Replaced AP-fix for Chinese translation of Kyokugen Dasshutsu: 9-jikan, 9-nin, 9 no Tobira.
* (@spellboundtriangle) ramdisks folder is now hidden.
 
Bug fixes:
* (@Epicpkmn11) Custom icons under 32x32 are now allowed.
* DSi: Fixed backlight change not working in DS Classic Menu.
* Fixed save not being created/used for Super Mario 256 (for real, this time).
* (@spellboundtriangle) Rune Factory games are now unable to use TWL clock speed, due to bugs.
* Fixed System Settings not launching on EUR/AUS consoles, when selected in TWLMenu++ Settings.
 
'''v24.1.1'''
 
What's new?
* (@DieGo367) Added custom icons for folders. (#1819)
 
Bug fixes:
* Save data is now created for DS ROMs containing NTRJ as the TID.
* Should fix saving not working in Super Mario 256.
* Fixed WiFi being off by default on 3DS consoles.
* Note: If you've previously updated to v24.0.0 or v24.1.0, please make sure WiFi is set to On in TWLMenu++ Settings, if you want to use wireless features.
* Settings: Fixed System Settings not launching.
 
'''v24.1.0'''
 
What's new?
* (@R-YaTian) Added some AP-fixes:
* Fire Emblem: Shin Monshou no Nazo Hikari to Kage no Eiyuu (v3.01 English translation With Update Beta2) (Revision to fix DSi binary file)
* Fushigi no Dungeon: Fuurai no Shiren 5: Fortune Tower to Unmei no Dice (Chinese translation)
* Kyokugen Dasshutsu: 9-jikan, 9-nin, 9 no Tobira (Chinese translation)
* RPG Tkool DS (Chinese translation) (Revision to fix DSi binary file)
* To prevent potential issues, the leftover AP-fix file of opposite format is now deleted when launching a DS(i) game containing AP.
* (@DieGo367) Added loading custom icons from PNG files (works on non-DS ROMs). (#1800)
* (@Epicpkmn11) banner.bin can be used as well.
* (@Epicpkmn11) Removed Chinese/Korean bundled fonts.
* Switched Chinese font to WenQuanYi.
* Falls back to default, if not found.
* Card Read DMA setting is now shown for DSi-Exclusive games as well.
* Removed various games from the card read DMA blacklist.
 
Bug fixes:
* Fixed the AP-fixes for Dragon Quest V (JAP) & Hotel Dusk: Room 215 (KOR), by using fixes based on the cheat versions.
* Fixed settings menu and manual crashing when exiting (which the SD write code wasn't causing it most of the time, but can still cause it sometimes).
* Fixed Expand ROM space in RAM being shown for DSi-Exclusives.
* DSi/Saturn/HBL theme: Fix SD switch missing from SELECT menu, when running from flashcard with unlocked SCFG.
* Fixed DSi power LED briefly blinking purple if set to Blue/Red in TWLMenu++ Settings.
* DSiWare Booter setting is no longer shown on 3DS consoles, as only nds-bootstrap is used to boot DSiWare.
* On 3DS, SysNAND Region setting is now only shown, if running via DSiWarehax.
* Corrected ESRB rating for Bangai-O Spirits.
 
'''v24.0.0'''
 
What's new?
* (@spellboundtriangle) Added Ermii Kart DS: Legacy Edition and CTGP Nitro 1.0.0 widescreen patches.
* New valentine-themed background for the TWLMenu++ splash screen!
* The WiFi setting is now shown on 3DS consoles.
* DSi consoles: You can now change the Power LED color to purple!
** In addition, depending on the theme, the battery icon color will change as well.
* To cut down on wait times, the maximum limit of found files/folders (even those not displayed) is now 320.
* DSi(Ware) SDK5.0 Donor ROM is now set separate from the SDK5.x one.
** SDK5.0 ROM is required for Nintendo DSi Camera to run in general DSiWarehax.
* The .ngc (Neo-Geo Color) filetype is now supported.
* SNEmulDS is now updated. An on-the-fly generated RAM disk by nds-bootstrap is no longer used to run SNES games.
* (@Epicpkmn11) Added GBA game detection in DS Classic Menu.
* (@Epicpkmn11) DSi/3DS/HBL themes: Progress bar is now shown while preparing music.
* (@lifehackerhansol) Added Ace3DS+ and R4iTT 3DS (and clones) flashcart loaders.
* (@lifehackerhansol) Added iTouchDS autoboot.
* In order to free up some space, the DS Classic music has been removed.
** In case you miss it later on, it can be re-added to the DSi theme's folder as a custom music option. [https://github.com/DS-Homebrew/TWiLightMenu/blob/d638c3245f47fc8301f48aee06cd700108f1f848/romsel_dsimenutheme/nitrofiles/sound/classicbg.wav Download].
 
Improvement:
* Donor ROM messages have been reworked.
 
Bug fixes:
* Disabling the WiFi setting should now work properly, with the console unable to search for internet access points, as well as fixing the communication error in Gen 4 Pokemon games, for those with a broken or incorrectly-seated WiFi card.
* Fixed Use ROM Region setting not being overridden if region is set in per-game settings.
* OpenLara now boots in native GBA mode.
* (@Epicpkmn11) If music conversion failed, it will now be redone on reboot.
* (@lifehackerhansol) Fixed booter_fc poweroff fail on DS.
* (@Epicpkmn11) Fixed SD inserted check.
* In the per-game settings, USA text is now shown, if TID ends with O.
 
[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/RocketRobz Rocket Robz]: Lead Developer.
* [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/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 sub-themes off the SD card for the R4 theme.
* [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.
===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.
Secondary Developers:
* [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]] ([https://github.com/ApacheThunder/NesDS TWL Edition] by [https://github.com/ApacheThunder Apache Thunder]) (used to launch NES ROMs).
* [https://github.com/DieGo367 DieGo]: Adding support for custom ROM/folder icons and improvements for custom skins.
* Lordus: [[jEnesisDS]] (used to launch Sega Mega Drive/Genesis ROMs)
* [https://github.com/lifehackerhansol lifehackerhansol]: Improving support for flashcard autobooting and kernel loading.
* [https://github.com/Gericom Gericom]: [[GBARunner2]] (used to load GameBoy Advance ROMs)
* [https://github.com/NightScript370 NightScript]: Code cleanup, defining code standards, added flashcard functionality for Wood UI theme, manual pages.
* [https://gbatemp.net/members/flubba.19963/ FluBBa]: [[S8DS]] (used to launch Sega Master System/Game Gear ROMs)
 
===Graphics & Themes===
App Launchers:
* [https://gbatemp.net/members/spinal_cord.90607/ spinal_cord]: [[DSi4DS]] and [[DSision2]] graphics.
 
* [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.
Music:
===Others===
 
* [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.
* 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.
* [https://github.com/devkitPro devkitPro]: Code used in [[nds-hb-menu]], and the use of the bootloader, [[devkitARM]], [[libnds]], and [[libfat]].
* retrogamefan &amp; Rudolph: Included AP-patches for nds-bootstrap.
* Another World and Yellow Wood Goblin: The original akMenu/[[Wood Firmwares|Wood]] UI.
** [https://github.com/enler enler]: Fixing AP-patch for Pokemon Black 2 (Japan) for DS⁽ⁱ⁾ mode compatibility.
* [https://github.com/NightYoshi370 NightYoshi370]: Code cleanup
** [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
* GBAtemp - https://gbatemp.net/threads/ds-i-3ds-twilight-menu-gui-for-ds-i-games-and-ds-i-menu-replacement.472200
 
[[Category:DS homebrew applications]]
[[Category:DS homebrew loaders]]
[[Category:3DS homebrew applications]]
[[Category:3DS homebrew loaders]]
[[Category:Homebrew title launchers on 3DS]]
[[Category:Support the author]]

Revision as of 12:38, 27 April 2024

TWiLight Menu++
File:Srloader.jpg
General
Author(s)RocketRobz
TypeHomebrew Loaders
Versionv12.0.0
LicenceMIT
Links
Download
Website
Source
Advertisements

<htmlet>adsense</htmlet>


TWiLight Menu++, or TWLMenu++ for short, is a frontend for nds-bootstrap, for DS, DSi and 3DS.

Features

File:Widescreen comparison.jpg
Super Mario 64 DS being run in multiplayer via nds-bootstrap on DSi and 3DS, with the 3DS running in widescreen.
  • Launch DS(i) 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.
  • 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 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.
  • Run the last played ROM on TWiLight Menu++ startup.
  • Play retro games from these consoles:
    • (Super) GameBoy (Color), via GameYob
    • NES/Famicom, via nesDS
    • Sega Master System/Game Gear, via S8DS
    • Sega MegaDrive/Genesis, via jEnesisDS
    • Super Nintendo/Famicom, via SNEmulDS
  • 3DS/2DS users: Play DS games in 16:10 widescreen! Not all games will work with this feature.

Installation

Non-CFW DSi/3DS/2DS users (Not recommended)

  1. 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.
  2. Extract the "boot.nds" file from the "DSi&3DS - SD card users" folder, to the SD Card root.
  3. Put .gb/.gba/.gbc/.gen/.gg/.nes/.nds/.sms/.smc/.sfc ROMs anywhere on your SD card.
  4. 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.

The following DSiWare exploits are compatible with nds-bootstrap without CFW:

  • sudokuhax (uses GenericTWLPayload)
  • fieldrunnerhax (uses GenericTWLPayload)
  • grtpwn (uses GenericTWLPayload)
  • ugopwn/Flipnote Lenny (only for v0.11.0 and v0.11.2)

DSi users with Unlaunch and/or HiyaCFW

  1. 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.
  2. Extract the "boot.nds" file from the "DSi&3DS - SD card users" folder, to the SD Card root.
  3. Extract what's in "DSi - CFW users/SDNAND root" to the root of your SD card.
  4. Put .gb/.gba/.gbc/.gen/.gg/.nes/.nds/.sms/.smc/.sfc ROMs anywhere on your SD card.
  5. (Unlaunch users) In Unlaunch menu, go to options, and set the "No button" option to "TWLMENUPP".
  6. Launch TWiLight Menu++!

CFW 3DS users, via Updater

  1. Use FBI to install the TWiLight Menu++ Updater. You can download it here, or with this QR code.
  2. Launch the updater.
  3. Touch Release next to TWL Menu++. Extraction may take a while.
  4. Do Step 3 again, but for nds-bootstrap.

CFW 3DS users, manual method

  1. 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.
  2. Extract the "boot.nds" file from the "DSi&3DS - SD card users" folder, to the SD Card root.
  3. Extract the .cia files from the "3DS - CFW users" folder, to anywhere on the SD Card.
  4. Put .gb/.gba/.gbc/.gen/.gg/.nes/.nds/.sms/.smc/.sfc ROMs anywhere on your SD card.
  5. Install the .cia files you extracted.
    NOTE: If you're using EmuNAND, then install them to SysNAND as well.
  6. Launch TWiLight Menu++!

Flashcard users

  1. 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.
  2. Extract the "boot.nds" file from the "Flashcard users" folder, to the flashcard's microSD card root.
  3. Put .gb/.gba/.gbc/.gen/.gg/.nes/.nds/.sms/.smc/.sfc ROMs anywhere on your flashcard's microSD card.
  4. (Optional) Using your flashcard firmware to load retail/commercial ROMs instead of nds-bootstrap.
    1. Download a pack for your flashcard (skip to step 4, if your flashcard is not listed):
    2. Extract what's in "for Slot-1 microSD" to the root of the flashcard's microSD card.
    3. 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.
  5. (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.)
  6. 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

NOTE: In this video, loading speed is slower than the current nds-bootstrap version.

Controls

DSi, 3DS, and SEGA Saturn 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)

R4 theme

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

Acekard theme

  • 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

With CFW: DS ROMs on SD/carts

  • 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: List of games that work from SD Card

FAQs

Q: (3DS users) This is a DS(i) emulator, right?

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

Reboot the console.

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++?

A: TWL_FIRM might've somehow got corrupted.
Follow this guide to fix the issue: 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?

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

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?

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

Q: After launching a game in widescreen, the TWLMenu++ GUI is stretched in the top screen! How do I fix this?

A: In FBI, delete both TWiLight Menu++ titles (in purple text) in the title list, then install both the latest TWLMenu++ CIAs.
Back in the title list, launch "TWiLight Menu++ Last-ran ROM".
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++?

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

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: Go into TWLMenu++ Settings, and disable "Update recently played list".

Q: Can The Biggest Loser boot TWiLight 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.

Q: Why do I get a white screen when trying to load a game from SD Card, and how do I fix it?

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

A2: nds-bootstrap shrinks the heap to fit it's own code for arm9, into cached memory. Shrinking the heap breaks some games.
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.
If it's listed as compatible, try again.

If you're a DSi user, Please check the LED set in 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.

Credits

Main Developers

  • RocketRobz: Lead Developer, implementing the auto-reset power button function used in NTR-mode.
  • chyyran: Porting the akMenu/Wood UI to TWiLight Menu++ & adding the ability to load sub-themes off the SD card for DSi/3DS themes.
  • Pk11: Adding the ability to load sub-themes off the SD card for the R4 theme.

App Launchers

Graphics & Themes

Others

Advertising: