Skip to content

melonDS is a Nintendo DS emulator.

Website: https://melonds.kuribo64.net/

melonDS' FAQ: https://melonds.kuribo64.net/faq.php

GitHub: https://github.com/melonDS-emu/melonDS

Compatibility List: https://melonds.kuribo64.net/board/forum.php?id=3

This page is for melonDS, a standalone NDS emulator. This page is not for the melonDS RetroArch core. For more information on RetroArch and the melonDS RetroArch core, visit the RetroArch Page.


melonDS Table of Contents

  1. Getting Started with melonDS

  2. melonDS Tips and Tricks


Getting Started with melonDS

Back to the Top

melonDS is a fairly straight-forward emulator to set up. Place your ROMs in Emulation/roms/nds. No additional setup is required. Read the Configuration section to learn more about melonDS and its folder locations. BIOS are optional for both the Nintendo DS and Nintendo DSI.

To launch your ROMs in game mode, use Steam ROM Manager and use one of the following parsers to play your NDS ROMs:

  • ES-DE
  • Nintendo DS - melonDS
  • Emulators

melonDS Configuration

Back to the Top

  • Type of Emulator: Flatpak
  • Config Location: /home/deck/.var/app/net.kuribo64.melonDS
  • ROM Location: Emulation/roms/nds
  • BIOS Location: Emulation/bios
    • Optional BIOS (Nintendo DS): bios7.bin, bios9.bin, firmware.bin
    • Optional BIOS (Nintendo DSI): dsi_bios9.bin, dsi_bios7.bin, dsi_firmware.bin, dsi_nand.bin
  • Saves: Emulation/saves/melonds/saves
  • Save States: Emulation/saves/melonds/states
  • Cheats Location: Emulation/storage/melonds/cheats

Note: ~/.var is an invisible folder by default. In Dolphin (file manager), click the hamburger menu in the top right, click Show hidden files to see these folders.

Works With

  • Steam ROM Manager
  • ES-DE

melonDS Folder Locations

Back to the Top

These file locations apply regardless of where you chose to install EmuDeck (to your internal SSD, to your SD Card, or elsewhere). Some emulator configuration files will be located on the internal SSD as listed below.

$HOME refers to your home folder. If you are on a Steam Deck, this folder will be named /home/deck (you will likely not see deck in the file path when navigating using the file manager).

Paths beginning with Emulation/.. correspond to your EmuDeck install location. If you installed on an SD Card, your path may be /run/media/mmcblk0p1/Emulation/roms/... If you installed on your internal SSD, your path may be /home/deck/Emulation/roms/..

Note: Folders with a . (.var, .local, .config, etc.) at the beginning are hidden by default. In Dolphin (file manager), click the hamburger menu in the top right, click Show Hidden Files to see these folders.

$HOME/.var/app/net.kuribo64.melonDS

net.kuribo64.melonDS
├── cache
├── config
│   ├── kdeglobals
│   ├── melonDS
│   │   ├── melonDS.ini
│   │   ├── melonDS.ini.bak
│   │   ├── timewarp.mln
│   │   └── wfcsettings.bin
│   ├── pulse
│   │   └── cookie
│   ├── QtProject.conf
│   └── user-dirs.dirs
└── data
    ├── user-places.xbel
    ├── user-places.xbel.bak
    └── user-places.xbel.tbcache

How to Download melonDS (Standalone)

Back to the Top

  1. In Desktop Mode, open the EmuDeck application
  2. Click the Manage Emulators button
  3. Click melonDS
  4. Click Install
  5. melonDS (Standalone) will be installed

To use melonDS (Standalone) to launch your ROMs in Game Mode:

  • Use Steam ROM Manager and select the Nintendo DS - melonDS parser
    • The RetroArch parser is named: Nintendo DS - Retroarch - melonDS
    • The melonDS (Standalone) parser is named: Nintendo DS - melonDS
  • Use Steam ROM Manager and select the ES-DE parser

No additional setup is required with Steam ROM Manager and ES-DE. If you do not have the latest Steam ROM Manager configurations, either run a Custom Reset or click the Reset configuration button on the Steam ROM Manager page within the EmuDeck application.


How to Update melonDS

Back to the Top

How to Update melonDS

  • Update through Discover (Shopping bag icon)
  • Through the Update your Emulators & Tools section on the Manage Emulators page in the EmuDeck application

How to Launch melonDS in Desktop Mode

Back to the Top

How to Launch melonDS in Desktop Mode

  • Launch melonDS from the Applications Launcher (Steam Deck icon in the bottom left of the taskbar)
  • Launch the script from Emulation/tools/launchers, melonds.sh
  • Launch the emulator from Steam after adding it via the Emulators parser in Steam ROM Manager

melonDS File Formats

Back to the Top

  • .nds
  • .app

melonDS Hotkeys

Back to the Top

melonDS comes with a Steam Input profile for Hotkeys. When playing melonDS ROM shortcuts through Steam, the EmuDeck - Controller Hotkeys profile will automatically be applied so you may use the below hotkeys. For more info, see Emulator Button Combinations Profile.

When using a frontend (ES-DE, Pegasus, or the emulator itself), the EmuDeck - Frontend Controller Hotkeys will automatically be applied. Hold Start for a few seconds to switch to the action set required to use the below hotkeys. For more info, see Emulator Frontends Button Combinations Profile.

Hotkey melonDS
Toggle Full Screen Select + R3
Save State Select + R1
Load State Select + L1
Fast Forward Select + R2
Pause/Play Select + A
Reset Emulation Select + L3
Stop Emulation Select + Start or hold L5 or hold R5
Close/Open Lid Start + DPad Up
Swap Screens L4 or R4 or Start + DPad Left or Select + Y
Toggle FPS Limit Start + DPad Right

Note


melonDS Tips and Tricks

Back to the Top


How to Configure Multiplayer

Back to the Top

This section is strictly referring to local multiplayer. melonDS multiplayer on the Steam Deck can only be done in Desktop Mode.

  1. In Desktop Mode, open melonDS
  2. Click System, click Multiplayer, Launch new instance
  3. On each window of melonDS, click Config, Input and hotkeys
  4. In the drop-down menu to the right of Joystick, select your controller
    • Steam Deck/Player 1: Microsoft X-Box 360 pad 0
    • Player 2: Microsoft X-Box 360 pad 1
    • Player 3: Microsoft X-Box 360 pad 2
    • Player 4: Microsoft X-Box 360 pad 3
  5. Open the game in each melonDS window and you will be able to play multiplayer

You can determine which melonDS window corresponds to what player by looking at the menu bar at the top. Each new melonDS window will have a corresponding (#).


How to Use Cheats

Back to the Top

Note: melonDS does not currently support importing cheats from a database file.

How to Enable Cheats in melonDS

  1. Open melonDS
  2. Click System at the top
  3. Check Enable cheats

How to Download the Cheats Database

  1. Open https://db.universal-team.net/ds/ndsi-cheat-databases, right click cheats.xml, and click Save As
  2. Place it in Emulation/storage/melonds/cheats
    • This folder placement is optional, you may place it wherever you want
  3. To view, right click cheats.xml, open with a text editor of your choice

How to Use the Cheats Database

Note: It's recommended you do this in Desktop mode so you can easily copy from the cheats database into MelonDS. After adding cheats, you can use MelonDS in Game Mode.

  1. Open the cheats.xml you downloaded from the How to Download the Cheats Database section
  2. CTRL + F the game you are adding cheats to
  3. Copy the blocks of alphanumerical strings between the two <codes> <codes> for your respective cheat
    • Example:
  4. Open MelonDS
  5. Open a ROM
  6. Click System at the top
  7. Click Setup cheat codes
  8. Create a New Category, you may name it whatever you would like
  9. Click New AR Code
  10. Match the name of the AR Code to the cheat you located in Step 3 * The name is flexible, you may name it whatever you would like
  11. Paste the code you copied from Step 3, it will appear as red text
  12. Format the cheat so there are two blocks of code per line
    • Original:
    • Corrected:
  13. Some cheats are automatically activated, others will require a button combo. Look at the cheats.xml file to see if a button combo is required to activate your cheat

How to Set Up DSIWare

Back to the Top

The Nintendo DSI requires DSI specific BIOS. Place all of the files from the list below directly in Emulation/bios.

  • dsi_bios9.bin
  • dsi_bios7.bin
  • dsi_firmware.bin
  • dsi_nand.bin

Note:

  • The BIOS must be named exactly as above. BIOS with any deviations from the above will not work. Make sure you have the proper casing, characters, and spelling.
  • BIOS must be placed in Emulation/bios. If you create a sub-folder, the BIOS will not be picked up and Nintendo DSI games will not work.

Preface: Generally, DSIWare games are named 00000000 with no file extension. This section assumes you have these types of DSIWare ROMs.

  1. Place your DSI BIOS in Emulation/bios
  2. Place your DSIWare ROMs in Emulation/roms/nds
  3. Right click the DSIWare ROM in Emulation/roms/nds, click Rename, rename it from 00000000 to GAMENAME.app
    • Replace GAMENAME with the name of the DSIWare game
    • For example:
      • Original file name: 00000000
      • Updated file name: X-Scape.app
  4. In Desktop Mode, open melonDS
  5. At the top, select Config, Emu Settings
  6. On the General tab, change the Console type to DSi (experimental)
    • How to Set Up DSIWare 1
  7. On the DS-mode tab, check Use external BIOS/firmware files, close out of this menu
    • How to Set Up DSIWare 2
  8. At the top, select System, Manage DSi titles
  9. On the DSi Title Manager screen, select Import title
  10. Select your GAMENAME.app as the Executable
  11. Under Metadata, select Download from NUS, close out of this menu
  12. Select File, Boot Firmware
  13. Select your newly-installed DSiWare game and start playing

Steam ROM Manager and ES-DE

Both EmuDeck's Steam ROM Manager parser for melonDS (Standalone) and ES-DE support the .app file extension. As long as your DSIWare ROMs are in Emulation/roms/nds, you may use either option to play your DSIWare ROMs in Game Mode.

Do note that your ROM may not have art on SteamGridDB or metadata on ES-DE's scraping websites. Follow the links below if you would like to add art or metadata to one of these websites.


How to Play Nintendo DS Games in Book Mode

Back to the Top

A handful of Nintendo DS games require portrait orientation. For these games, you will need to rotate the Steam Deck screen in order to play them. Fortunately, it's a simple process.

Here's How

  1. In Game Mode, select the EmuDeck - Controller Hotkeys profile if you are playing a game directly from Game Mode or the EmuDeck - Frontend Controller Hotkeys profile if you are playing through ES-DE or Pegasus
  2. Open the game, use the Steam Input profile and select the Fullscreen hotkey
  3. At the top, press Config, Screen Rotation, 270

Original:

Rotated:


How to Customize the Screen Layout

By default, EmuDeck configures melonDS' screens to use a hybrid layout, meaning there is a large top screen on the left side of the screen and a mini top and bottom screen of the Nintendo DS on the right. If you would rather a different layout, it is fairly easy to customize.

Here's How

  1. In Game Mode, select the EmuDeck - Controller Hotkeys profile if you are playing a game directly from Game Mode or the EmuDeck - Frontend Controller Hotkeys profile if you are playing through ES-DE or Pegasus
  2. Open the game, use the Steam Input profile and select the Fullscreen hotkey
  3. At the top, press Config, and use Screen size, Screen rotation, Screen layout, Screen sizing, and Aspect Ratio to customize your layout

The Screen layout is where you can find the Hybrid layout option. Here, you can swap to Natural, Vertical, Horizontal, and Hybrid.

How to Reset to EmuDeck Defaults

If you configured the settings and you decide you would like to reset to EmuDeck's defaults, you can do so by following the below:

  1. Open the EmuDeck application in Desktop Mode
  2. Click the Manage Emulators page
  3. Click melonDS and click Reset Configurations

How to Back Up your Screen Layout Configuration

  1. In Desktop Mode, open /home/deck/.var/app/net.kuribo64.melonDS/config/melonDS
    • ~/.var is an invisible folder by default. In Dolphin (file manager), click the hamburger menu in the top right, click Show hidden files to see these folders
  2. Open melonDS.ini in Kate or a text editor of your choice
  3. Copy the following section to another file:

        WindowWidth=1280
        WindowHeight=771
        WindowMax=0
        ScreenRotation=0
        ScreenGap=0
        ScreenLayout=3
        ScreenSwap=0
        ScreenSizing=3
        IntegerScaling=0
        ScreenAspectTop=4
        ScreenAspectBot=4
    
  4. Back up this file to a secure location. If/when your melonDS configs are reset on an EmuDeck update, you may paste this section into the melonDS.ini to restore your custom layout


How to Roll Back melonDS to an Older Version

Back to the Top

If you do not have access to a mouse and keyboard for the below section, use L2 to right click and R2 to left click. Alternatively, remote into your Steam Deck using one of the methods found in the FAQ, How do I remotely control my Steam Deck?.

  1. In Desktop Mode, open Konsole
  2. To see a list of prior versions of the emulator, type:
    • flatpak remote-info --log flathub net.kuribo64.melonDS
  3. If Konsole prompts you to select system or user, enter 2 to select user
  4. Konsole will list a list of previous versions for the flatpak. The important line for each version is the Commit: line. The Commit: line will have a long accompanying alphanumeric string (the “commit” code). Copy the string for the version you want to downgrade to.
    • Using Citra as an example:
      • How to Roll Back Flatpaks: 1
  5. To downgrade to the version you want:
    • flatpak update --commit=put_commit_code_here net.kuribo64.melonDS
    • Replace put_commit_code_here with the actual code you located in Step 2.
      • Using Citra as an example:
        • How to Roll Back Flatpaks: 2

If the above steps did not work and you are getting an error message along the lines of Flatpak not installed, your Flatpak is likely installed at the system level instead. Select one of the below solutions:

Solution 1: Open the EmuDeck application, click the Manage Emulators page, select the emulator in question, and click Reinstall / Update.

Solution 2: Add sudo in front of the commands written in Step 2 and Step 5. In Step 2, write sudo flatpak remote-info --log flathub net.kuribo64.melonDS and in Step 5, write sudo flatpak update --commit=put_commit_code_here net.kuribo64.melonDS.


How to Configure Language Settings

Back to the Top

In-Game

Some games may not have language options. For a full list of which games have language options, download the DS Database from GamesTDB, https://www.gametdb.com/DS/Downloads and open it in a text editor of your choice.

Before proceeding with the below section, you will need to place Nintendo DS BIOS in the Emulation/bios folder.

  1. In Desktop Mode, open melonDS
  2. At the top, click Config
  3. Click Emu settings
  4. Click DS-Mode, check Use external BIOS/firmware files
  5. Close out of the Emu settings window
  6. Click File, click Boot firmware
  7. Click the DS icon at the bottom of the screen
  8. Click the gear icon
  9. Click the globe icon
  10. Select your preferred language