View attachment 174328*Games are ran by nds-bootstrap
TWiLight Menu++ (or TWLMenu++, for short)
GUI for DS(i) games, and DSi Menu replacement for DS/DSi/3DS/2DS
View attachment 176367
View attachment 174327
Features
- 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 flashcard's microSD card, and switch to and from there anytime! (Only applies to the flashcards listed right below the instructions.)
- Set the language to your preference.
- Run the last played ROM on TWiLight Menu++ startup.
- Play retro games from these consoles:
NES/Famicom, via nesDS
(Super) GameBoy (Color), via GameYob
Sega Master System/Game Gear, via S8DS
Sega MegaDrive/Genesis, via jEnesisDS
Super Nintendo/Famicom, via SNEmulDS
GameBoy Advance, via GBARunner2
- 3DS/2DS users: Play DS games in 16:10 widescreen! Not all games will work with this feature.
(Find the tab "3DS/2DS: Playing in Widescreen" for how to use this feature.)
Boot Demo (by Alex S):
(Old video with the SRLoader name)
WARNING
When using this with SD cards that are 64GB or above, make sure "Save FAT table cache" is disabled. Your SD card may become corrupt, due to an issue with saved FAT tables by nds-bootstrap.
If it's already turned off when corruption happened, then it's due to an issue with either libnds or libfat.
Download
If you have a DSi, or a 3DS/2DS without CFW, you'll need a DSiWare exploit to run TWiLight Menu++.
Also works with flashcards. Please check the instructions for flashcard users.
NOTE: If you have any issues happening in the DS games themselves on the SD card, please post the issue in the nds-bootstrap thread.
Compatible DSiWare exploits for 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)
Instructions
Set-up (Non-CFW DSi/3DS/2DS users) (Not recommended!)Set-up (DSi users with Unlaunch and/or HiyaCFW)Set-up (CFW 3DS/2DS users, via Universal-Updater)Set-up (CFW 3DS/2DS users, Manual method)Set-up (Flashcard users, including DS Phat/DS lite)3DS/2DS: Playing in WidescreenEnabling DS Download Play and Pictochat in Quick MenuCreating a RAM disk for homebrewBox art/game cover displayCustom top screen image in DSi themeDSi: Getting your DSiWare as .nds files
NOTE for DSi users: If you're using exploits such as Memory Pit, ugopwn, Flipnote Lenny, or 4swordshax, or if you're not using HiyaCFW and/or Unlaunch to boot TWiLight Menu++, some DS ROMs will not play sound properly, as well as wireless not working.
- 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!
- 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++!
- Setup Universal-Updater for your system (via either installing the 3dsx or cia).
- Download the NTR/TWL Script. Do so via following the on screen prompts.
- Go into the list of scripts, select the script you just downloaded and select what you'd like to update.
- In the 7z file, extract the "_nds" folder from both the 7z root and the "DSi&3DS - SD card users" folder, to the SD Card root. Merge folders, when asked to.
- Extract the "boot.nds" file from the "DSi&3DS - SD card users" folder, to the SD Card root.
- Extract the .cia files from the "3DS - CFW users" folder, to anywhere on the SD Card.
- Put .gb/.gba/.gbc/.gen/.gg/.nes/.nds/.sms/.smc/.sfc ROMs anywhere on your SD card.
- Install the .cia files you extracted.
NOTE: If you're using EmuNAND, then install them to SysNAND as well.- Launch TWiLight Menu++!
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. 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.)If you want to use your flashcard firmware instead of nds-bootstrap to load retail/commercial ROMs, then proceed below.
Download a pack for your flashcard (skip to step 4, if your flashcard is not listed):
R4iDSN/R4 Ultra
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.
5. DS Phat/DS lite users: Go to settings in the DS menu, and turn on auto-start, so your flashcard will start on boot.
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.)
7. 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.
Preparation
- Make sure Luma's "boot.firm" is on the SD root for this to work.
- Get TWPatch here.
- Install the CIA.
- Launch the CIA.
- Press X+START to generate a "TwlBg.cxi" file with widescreen.
- When it's done, move "TwlBg.cxi" from "sd:/luma/sysmodules/" to "sd:/_nds/TWiLightMenu/TwlBg/".
- Rename "TwlBg.cxi" to "Widescreen.cxi".
- In Luma config, enable external FIRMs and modules.
- In TWLMenu++ settings, switch the page to "Games/Apps settings", and set "Screen Aspect Ratio" to "16:10".
This can be done per-game as well.
You're all done! Enjoy your DS games in widescreen!
NOTE:
When launching a game in widescreen, the horizontal pixels will not have a filter applied. This is normal (at least for now).
Also, Do not hold START or SELECT when launching TWLMenu++, if you don't want widescreen to look glitched.
If you're using a DSi console, you should already be able to launch those apps.
Otherwise, proceed below.
- Find CIAs of DS Download Play and Pictochat around the internet, and download them.
- Open a hex editor, and open the CIAs in the hex editor.
- Select a block of 0x3900, then delete.
Do this for both CIAs.
- Make sure these are written at offset C:
Download Play: HNDA
Pictochat: HNEA
Doing this will fix communication errors.
- Save DLP as "dlplay.nds", and Pictochat as "pictochat.nds", both at "sd:/_nds/".
NOTE: You do not need to follow this if you're using a flashcard.
To make a RAM disk, download this tool (click "Download Software"), and follow the instructions below.
Instructions by @Dakkon7, modified by me:
- Run RAMDisk
- Click View -> Advanced
- For Disk Size, type "12" for DSi, or "28" for 3DS, above Max 1023 MB.
- Un-mark Create TEMP Directory, if it's already marked.
- Click Load/Save
- Click "Start RAMDisk", and a new window for your .img should appear.
- Place any file and/or folder the homebrew expects there, and/or file(s) you want to use.
- In the RAMDisk program, click "Save Disk Image Now".
- Save "romname.img" to a folder called "ramdisks" in the .nds file location.
- Click "Stop RAMDisk" when you're done.
- In TWiLight Menu++, open per-game settings for your homebrew.
- Set RAM disk to 0.
- Launch your homebrew, and it should read your RAM disk.
To add your own box art:
- Make sure box art/game cover is set to be shown in TWiLight Menu++ settings.
- Download a png box art pack from here.
- Extract the .png files to "sd:/_nds/TWiLightMenu/boxart".
- Your DS game's box art/game cover will now be shown!
Place them in "sd:/_nds/TWiLightMenu/boxart".
Can either have the game's TID (ex. ASME.png), or the filename (ex. SM64DS.nds.png).
Must be in .png format, with the following sizes:
NDS/DSi: 128x115
GBA/FDS/GBC/GB: 115x115
NES/GEN/MD/SFC/MS/GG: 84x115
SNES: 158x115
Individual box art can also be downloaded from GameTDB, under the S Covers (png) category.
The custom image(s) goes in "sd:/_nds/TWiLightMenu/dsimenu/photos/", must be 208x156, and must end in the .png format.
This requires a DSi console with Unlaunch 0.9 or later.
This will not work if you're using a 3DS or 2DS console.
- Download appgen (by jerbear64) (If your computer says it's a virus, it is a false positive).
- Place it in "/title/00030004".
- Run appgen.
- Move your .nds, .pub, and .prv files into "sd:/roms/dsiware".
- Launch your DSiWare .nds from TWiLight Menu++, and enjoy!
Flashcards supported with direct access, if running on the console's SD card:
- Acekard 2i (Games cannot be booted)
- R4 Ultra (regular, not R4i) (r4ultra.com)
NOTES:
- Please check this list for what games work and do not work from the SD card.
If you're running the game from a flashcard, then you won't need this, unless if you're running B4DS (nds-bootstrap for flashcards).- DSi-Enhanced games currently won't work in DSi mode.
Controls
DSi, 3DS Menu, and SEGA Saturn theme
R4 theme
- Left/Right: Select a game/app.
- A/START: Launch game/app
- L/R: Switch pages.
- Y: Per-game settings
- Y+X: Cheat menu
- X: Delete/hide game
- (DSi/Saturn theme) SELECT: SELECT menu (Where system menu, TWLMenu++ Settings, and GBARunner2/GBA Mode can be accessed)
With CFW: DS ROMs (on SD)/carts
- Up/Down: Select a game/app.
- A: Launch game/app
- Y: Per-game settings
- Y+X: Cheat menu
- L+R+DOWN+B for 2 seconds: Return to TWiLight Menu++.
(If using an O3DS, then it does not work on all models)
Credits
- @retrogamefan, Rudolph: Included AP-patches.
- @ahezard: nds-bootstrap
- @Gericom: GBARunner2
- @Drenn: GameYob
- @Coto: nesDS
- Lordus: jEnesisDS
- archeid (Loopy): SNEmulDS
- @FluBBa: S8DS
- @Sono: Widescreen patch for TWL_FIRM. The widescreen feature wouldn't have been possible without it.
- @fintogive, @RadDude McCoolguy, @KazoWAR, me, @Vague Rant, @gamemasterplc, and @ChampionLeake: Various widescreen cheat codes.
- @Apache Thunder: Providing the Miku theme (not made by him) for Acekard theme, nesDS TWL Edition, and the DSi splash from NTR Launcher.
- @Vulpes-Vulpeos: TWiLight Menu++ logo (v4.3.0-v6.2.1, and for the launcher, after v1.0.0).
- @Joom: Original TWLoader logo.
- me: For implementing the auto-reset power button function used in NTR-mode, volume button control, fixed sound, and LED functions, to nds-bootstrap.
- @shutterbug2000: For the muted sound/touchscreen fix for nds-bootstrap, and the GB icon.
- @nocash123: For the touchscreen mode switch log. Without it, the sound/touchscreen fix code wouldn't exist.
- @spinal_cord: DSi4DS and DSision2 graphics.
- devkitPro: Code used in nds-hb-menu, and the use of the bootloader, devkitARM, libnds, and libfat.
- FlameKat53: First photo featuring the DS/DSi/3DS consoles, with me removing some distracting reflections on the 3DS and DSi consoles.
FAQs
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).Reboot the console.TWL_FIRM might've somehow got corrupted.
Follow this guide to fix the issue: https://3ds.hacks.guide/troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guideTry 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".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".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/".Enable game patching in Luma settings, or update Luma to v10.0 (or later).Go into TWLMenu++ Settings, and disable "Update recently played list".No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards.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.
How do I get my own DSi Wallpaper background for the DSi Theme? (The one that says "No Photo" and has a camera symbol)
And what folder do I put it in?