Guide

melonDS Setup Guide: Best Settings, Screen Layouts, and Controls

Cole StubblefieldBy Cole Stubblefield 2026-03-30 Updated 2026-09-14
melonDS Setup Guide: Best Settings, Screen Layouts, and Controls — Emulator Setup guide for retro handhelds | Held Games

Affiliate disclosure: This guide contains affiliate links. As an Amazon Associate, we earn from qualifying purchases at no extra cost to you. Learn more.

Nintendo DS emulation has a challenge no other system shares: two screens. The DS ran two 256×192 displays simultaneously — one for gameplay, one for maps, menus, inventory, or touch input — and any emulator that wants to replicate it faithfully has to solve the problem of showing both at once on a single modern screen. MelonDS solves this well, and on the right hardware it's the best DS emulator available. This MelonDS setup guide covers everything from first install to a fully dialed-in Nintendo DS emulation experience for 2025 and beyond.

Affiliate disclosure: As an Amazon Associate I earn from qualifying purchases. Links in this guide help support the site at no extra cost to you.


What DS Emulation Actually Needs

Before picking an emulator or device, it's worth understanding what makes DS emulation distinct from emulating other handhelds.

The Nintendo DS runs two ARM processors simultaneously — a 66 MHz ARM9 and a 33 MHz ARM7 — and renders graphics to two separate 256×192 LCDs. The bottom screen is a resistive touchscreen used for everything from Nintendogs puppy-petting to map navigation in The Legend of Zelda: Phantom Hourglass. Getting all of this right in emulation requires:

  • Dual-screen rendering — both displays shown simultaneously, in a layout that fits your device's screen
  • Touch input emulation — either a real touchscreen, or the DS touchscreen mapped to a joystick or button combination
  • BIOS and firmware files — dumped from a real DS (more on this below)
  • Reasonable CPU headroom — DS emulation is not demanding by modern standards, but the dual-CPU architecture means weaker devices can still hit limits on demanding titles

The good news: DS emulation is one of the most accessible targets in the emulation world. Almost any modern handheld handles it at full speed.


Devices That Handle DS Emulation Well

DS emulation runs on almost everything, but the dual-screen requirement means your experience varies significantly by device type.

Retroid Pocket 5 is the best Android handheld for DS emulation handheld play. Its large display gives you room to run both DS screens at a comfortable size — either stacked vertically or side-by-side — without either becoming too small to read. MelonDS standalone and the RetroArch core both run flawlessly. Its touchscreen also works directly as DS bottom-screen input when needed. See our Retroid Pocket 5 vs RG40XXV comparison for a full hardware breakdown.

Anbernic RG35XX / RG40XX series handles DS emulation well in terms of raw CPU performance — the Allwinner H700 chip runs the DS dual-processor architecture without slowdown on virtually every title in the library. The tradeoff is screen size: on smaller devices like the RG35XX (3.5" display), running both DS screens stacked means each one occupies a fairly small area. Single-screen mode with a swap button is worth considering on these devices. See our Anbernic RG40XXV review for display size context.

Miyoo A30 is a capable DS emulation device. The A30's vertical form factor and 4" display make the stacked dual-screen layout feel natural — the tall aspect ratio matches how the DS itself oriented its two screens when held normally.

Android phones are excellent DS emulation devices for anyone who already has one. A phone's touchscreen handles DS bottom-screen touch input natively, which eliminates the single hardest input-mapping problem. MelonDS on Android supports direct touchscreen input out of the box.

Touchscreen note: If your device has a touchscreen (Retroid Pocket 5, most Android phones), MelonDS can use it directly for DS touch input with no extra configuration. If your device does not have a touchscreen (most Anbernic and Miyoo devices), you will need to map the DS touchscreen to a joystick or button combination — covered in the touch input section below.

Technical Specifications

Retroid Pocket 5 SoCMediaTek Dimensity 1100 (4× A78 + 4× A55)
RP5 DS performanceExcellent — full speed, large screen, native touchscreen input
Anbernic RG40XXV SoCAllwinner H700 (4× Cortex-A53 @ 1.8 GHz)
RG40XXV DS performanceFull speed on all titles; no touchscreen
Miyoo A30 SoCAllwinner A133P
A30 DS performanceFull speed; vertical form factor suits stacked layout
Android phonesGenerally excellent; touchscreen input works natively

MelonDS vs. DraStic: Which Should You Use?

Two emulators dominate DS emulation: MelonDS and DraStic. They serve different audiences.

✓ Pros

  • • MelonDS: fully open-source (GPL v3) — auditable, forkable, community-maintained
  • • MelonDS: available on Windows, macOS, Linux, Android, and as a RetroArch core
  • • MelonDS: excellent accuracy — cycle-accurate CPU emulation catches edge cases DraStic misses
  • • MelonDS: actively developed with frequent updates
  • • MelonDS: JIT recompiler on Android delivers strong performance
  • • DraStic: extremely polished Android app with a long track record
  • • DraStic: fast and highly compatible on older or weaker Android hardware
  • • DraStic: intuitive built-in layout editor

✗ Cons

  • • MelonDS: slightly more setup work for BIOS files and screen layout configuration
  • • DraStic: closed-source — no Linux or CFW desktop builds available
  • • DraStic: paid app ($4.99) — not an option on Linux-based CFW handhelds
  • • DraStic: no RetroArch core — can't use RetroAchievements or a unified interface

The recommendation:

  • Use MelonDS on desktop (Windows/macOS/Linux), on Linux-based CFW handhelds (KNULLI, muOS), or via RetroArch on any device where you want a unified emulation setup.
  • Use DraStic on Android if you want a zero-configuration experience and don't mind a paid app. It's genuinely excellent for casual Android DS play.
  • Use MelonDS on Android if you're already using RetroArch for other systems, want open-source software, or want RetroAchievements support.

This guide focuses on MelonDS. If you're on Android and prefer DraStic, setup is minimal — install from the Play Store, point it at your ROMs folder, and play.


Installing MelonDS

Standalone (Windows, macOS, Linux)

  1. Go to melonds.kuribo64.net and download the latest stable release for your platform.
  2. Extract the archive to a folder of your choice — MelonDS is portable and doesn't install anything system-wide.
  3. Launch melonDS.exe (Windows) or the melonDS binary (macOS/Linux).
  4. On first launch, MelonDS will prompt for BIOS and firmware files. You can skip this and configure them later under Config → Emu Settings → DS-mode.

Linux note: MelonDS is available in many distribution package managers (apt, flatpak, pacman). Installing via Flatpak is often the easiest path on desktop Linux.

MelonDS Android

Install MelonDS from the Google Play Store, or sideload the APK from the official GitHub releases page at github.com/melonDS-emu/melonDS. The Android build includes JIT compilation and full touchscreen input support.

Via RetroArch (melonDS DS Core)

The RetroArch core is called melonDS DS — a more recent, enhanced fork of the original melonDS core with better per-game configuration support.

  1. Open RetroArch and navigate to Online Updater → Core Downloader.
  2. Find Nintendo DS → melonDS DS and press A to download.
  3. Load a .nds ROM via Main Menu → Load Content and select the melonDS DS core.

For a full RetroArch setup walkthrough, see our RetroArch setup guide. BIOS files for the RetroArch core go in your RetroArch system/ folder — the exact same files, same filenames, as standalone MelonDS.


BIOS Files: What They Are and How to Get Them

The Nintendo DS requires three firmware files to run games accurately:

FileDescription
bios7.binARM7 processor BIOS (16 KB)
bios9.binARM9 processor BIOS (4 KB)
firmware.binDS firmware / settings chip (256 KB)

Why they matter: The DS BIOS handles the boot sequence, system initialization, and a set of hardware subroutines that games call directly. The firmware chip stores your DS username, language, and other settings — MelonDS reads these at boot. Without proper BIOS files, some games won't boot at all, and others will show incorrect behavior or missing intro screens.

MelonDS can run without BIOS files using a built-in HLE (high-level emulation) fallback, but accuracy and compatibility are lower. Games that call BIOS functions directly may fail or behave incorrectly. For the best experience, provide the real files.

How to obtain BIOS files legally: The only legal source for DS BIOS and firmware files is a Nintendo DS or DS Lite that you own. You dump them from your own hardware using a BIOS-dumping homebrew application. This requires a way to run homebrew on your DS — typically a DS flashcart. Search for "DS BIOS dumper homebrew" to find current open-source tools that output the three required files.

If you own DS cartridges and want to dump them to .nds files for use in emulation, a dedicated cartridge dumper is the right tool. These USB devices connect to your PC and read the ROM data from your physical cartridges — the legally sound approach to building a DS library from games you own:

Where to place BIOS files in MelonDS standalone:

  • Go to Config → Emu Settings → DS-mode
  • Set the path for each of the three files: bios7.bin, bios9.bin, and firmware.bin

Where to place BIOS files in RetroArch:

  • Drop all three files into your RetroArch system/ folder
  • Filenames are case-sensitive on Linux and Android — use lowercase exactly as listed above

Dual-Screen Layout Options

This is the most important MelonDS configuration decision for handheld use. You have three main options.

Stacked (Vertical)

Both screens are displayed one above the other — top screen on top, bottom (touch) screen below. This matches how the DS itself looked when held normally and is the most natural layout on tall or square screens.

  • Best for: Miyoo A30 (vertical form factor), phones in portrait mode, square-ish displays
  • In MelonDS standalone: Config → Video Settings → Screen layout → Vertical
  • In RetroArch core: Quick Menu → Core Options → Screen layout → Top/Bottom

Side-by-Side (Horizontal)

Both screens are shown next to each other on a single wide display. Each screen is roughly half the total display width.

  • Best for: wide-screen handhelds with large displays, like the Retroid Pocket 5
  • Each screen is smaller than in stacked mode, but the layout uses widescreen real estate well
  • In MelonDS standalone: Config → Video Settings → Screen layout → Horizontal
  • In RetroArch core: Quick Menu → Core Options → Screen layout → Left/Right

Single Screen with Swap

Show only one screen at a time and toggle between the two with a button press. You see the top screen during normal gameplay and switch to the bottom screen when you need to interact with the touch layer.

  • Best for: devices with small displays (RG35XX series), or games where the second screen is primarily a static map
  • Loses the ability to see both screens simultaneously — not ideal for games that require constant reference to both
  • In MelonDS standalone: Config → Video Settings → Screen layout → Single screen, then assign a hotkey to Screen Swap under Config → Input Config → Hotkeys
  • In RetroArch core: Quick Menu → Core Options → Screen layout → Single screen, map Screen Swap to a button under Controls

Screen Gap and Sizing

In stacked or side-by-side mode, you can add a gap between the screens (to visually separate them) and independently resize each. For most games the default sizing is fine. If a game relies heavily on the bottom screen, shrink the top screen and enlarge the bottom to give it more display area.


Widescreen and Aspect Ratio

DS games were drawn for a 4:3 screen, and most modern handhelds are 16:9 or wider. That mismatch leaves black bars at the sides, and there are two different ways to deal with it. They are not the same thing and mixing them up is the usual source of frustration here.

The Built-In Aspect Ratio Setting Stretches, It Does Not Widen

MelonDS has an aspect ratio option under View → Video Settings, where you can pick 4:3 or 16:9.

Be clear about what 16:9 does there. It stretches the existing picture sideways to fill the space. You do not see any more of the game world. You see exactly the same image pulled wider, which makes characters look short and wide. Circles become ovals.

For most people the answer is to leave this on 4:3 and accept the black bars. A correctly proportioned image with bars beside it looks better than a distorted image that fills the screen. Our integer scaling guide explains why, and why whole number multiples of 256×192 matter more than filling the panel.

Widescreen Cheat Codes Actually Widen the View

The real solution is a per game widescreen code. These are AR codes written by the community, and instead of stretching the output they tell the game itself to render with a wider field of view. Combine one with the 16:9 aspect ratio setting and you get a genuinely wider picture with correct proportions.

Three things to know before you go looking.

A code has to exist for your game. These are written by hand, one game at a time, and for most of the DS library nobody has made one. The fully 3D games are where the effort has gone, because those are the ones with a real 3D camera to widen.

They are entered as cheats, not set as a preference. That means the code applies while it is enabled, and you have to remember to turn it off before loading a normal game. There is no per game toggle that handles this for you.

They widen everything the game draws. The DS rendered its 2D layers at 256×192, and those were never designed to move. So a widescreen code that fixes the 3D camera can also stretch or misplace the HUD, text boxes and menus sitting on top of it.

Sprite Based Games Cannot Benefit

Worth stating plainly, because it saves time. If a game has no 3D scene, there is nothing to widen. A 2D RPG draws a fixed grid of tiles and sprites, and no code can invent more world at the sides. Widescreen is a 3D game feature. For everything else, 4:3 with correct proportions is the best it gets.

The Fork That Splits the Two Jobs

A melonDS fork called WideMelon appeared in September 2026 that takes a different approach. It widens the 3D render target while compositing the 2D layers and touchscreen over the middle at native size, which is the problem the cheat code route handles badly.

It is worth knowing about, with one caveat for handheld owners. It ships x86-64 and aarch64 Linux builds, Windows and macOS, but no Android APK, so it applies to a PC, a Steam Deck and an ARM Linux handheld, and not to a Retroid or an Android Anbernic. We covered what WideMelon does and does not run on separately.

For now, on an ARM handheld, the cheat code route is the only way to get a true widescreen DS picture.


Touch Input Mapping (For Devices Without a Touchscreen)

If your handheld doesn't have a touchscreen, you need a way to move the cursor around the DS bottom screen and register taps. MelonDS gives you two approaches.

This is the best solution for any handheld with a second analog stick. The right stick moves a cursor around the DS touchscreen, and a button (typically R3 or a face button) registers a tap.

In MelonDS standalone:

  1. Go to Config → Input Config
  2. Under DS touch screen, find Touch cursor X axis and Touch cursor Y axis
  3. Map these to your right stick X and Y axes
  4. Map Touch (the tap action) to a convenient button — R3 (right stick click) is a natural choice

In RetroArch core (melonDS DS):

  1. Open the Quick Menu while a game is running
  2. Go to Core Options → Touch mode → Joystick
  3. The right analog stick will now control the touch cursor
  4. The configured touch button (default: right stick click) registers taps

If cursor movement feels too fast or too slow, adjust the touch cursor speed under Core Options (RetroArch) or in the input config (standalone).

Map to D-Pad or Face Buttons

For devices with no second analog stick, you can map touch cursor movement to the d-pad or face buttons. This is less precise but works for menus, maps, and inventory screens that don't require fine positioning.

Keep in mind that games which use the stylus for primary input — like The Legend of Zelda: Phantom Hourglass, which controls entirely through stylus drawing — are genuinely difficult without an analog stick cursor. For those titles, consider playing on a touchscreen device instead.

Keyboard Mapping (Desktop)

On Windows, macOS, and Linux, standalone melonDS maps the DS buttons to the keyboard under Config, then Input and hotkeys. The defaults put the d-pad on the arrow keys and A/B/X/Y on a cluster of letter keys, and the mouse acts as the stylus, which is the most natural touch input melonDS offers on any platform. Two mapping tips: assign Fast Forward and Pause to keys you can reach without looking, and if a key press does not register during mapping, click the melonDS window first so it has focus. Every binding can be reassigned by clicking the button name and pressing the new key.


Performance Settings

DS emulation is not demanding on modern handheld hardware, but a few settings are worth knowing.

Renderer

MelonDS offers two renderers:

  • Software renderer — accurate, runs on any hardware, uses CPU only. This is the safe default and handles nearly all games correctly.
  • OpenGL / hardware renderer — offloads rendering to the GPU, enables higher internal resolutions (2×, 4×), but has occasional compatibility issues with a small number of titles.

Start with the software renderer. If you want higher-resolution output and your device supports OpenGL, switch to the hardware renderer and try 2× internal resolution. On Android, the OpenGL renderer generally gives better performance.

In MelonDS standalone: Config → Video Settings → 3D renderer In RetroArch core: Quick Menu → Core Options → Renderer

Frameskip

DS games run at a locked 60 fps. If your device can't hit full speed (unlikely on most modern handhelds), enable frameskip as a last resort.

  • Auto frameskip in the RetroArch core handles this automatically
  • In standalone: Config → Emu Settings → Frameskip
  • Set to 1 only if needed. Higher values make games feel choppy.

Audio Sync

If you hear audio crackling or popping, try toggling audio sync:

  • In RetroArch: Settings → Audio → Synchronization — try toggling off on faster devices
  • In standalone: Config → Audio Settings → Audio sync — try both on and off

JIT Recompiler

MelonDS includes a JIT (just-in-time) recompiler that dramatically speeds up emulation on supported platforms. It's on by default on x86/x64 desktop and Android. If you're seeing unexpectedly poor performance, verify it's enabled under Config → Emu Settings → JIT Recompiler Enable.


Save Compatibility: Save States vs. In-Game Saves

MelonDS has two save systems. Understanding the difference matters, especially if you plan to move saves between standalone and the RetroArch core.

In-Game Saves (.sav files)

When a DS game saves to its cartridge via the in-game save menu, MelonDS writes a .sav file alongside the ROM. These are the correct format to use:

  • Compatible across MelonDS versions
  • Compatible between MelonDS standalone and the RetroArch melonDS DS core
  • Portable to real DS hardware (with the right flashcart)
  • Will survive emulator updates indefinitely

Save file location:

  • MelonDS standalone: same folder as your ROM by default, or set a custom path under Config → Emu Settings → Saves
  • RetroArch core: in your RetroArch saves/ folder, named <romname>.sav

Save States

Save states capture the entire emulator state at a specific moment. They're powerful but fragile:

  • Save states from MelonDS standalone will not load in the RetroArch core (and vice versa)
  • Save states may break after emulator version updates
  • A save state only works with the exact core/emulator version that created it

Use in-game saves as your primary save method. Use save states as a quick suspend feature during a session, not for long-term storage.

Tip: If you want to move a playthrough from standalone to the RetroArch core (or vice versa), use an in-game save first, close the game, then open it in the other emulator. The .sav file is cross-compatible — your progress will be there.



Frequently Asked Questions

Is melonDS better than DraStic?

For accuracy, yes. melonDS is actively developed and handles the awkward games correctly. DraStic is faster on weak hardware and still a reasonable choice on older devices, but melonDS is the better default on anything modern.

Do I need BIOS files for melonDS?

melonDS can run with its built-in replacements, but real DS BIOS and firmware files dumped from a console you own improve accuracy and are needed for some features. We only cover dumping from your own hardware.

What screen layout should I use for DS games?

Depends on the game. Stacked keeps both screens usable and suits most of the library. Games that barely touch the bottom screen are more enjoyable with the top screen enlarged. It is worth setting this per game rather than globally.

How do I play DS games without a touchscreen?

Map the touch cursor to an analog stick and lower the sensitivity, since default speeds feel unpleasant. Games built entirely around stylus input remain awkward whatever you do.

Why will my DS game not save?

Save type detection, usually. The game plays fine and progress disappears. Check the save type setting, and back up your save files separately from your save states.

What resolution should I use for DS games?

The DS renders at 256x192 per screen, so whole number multiples keep the image clean. 4x gives 1024x768, which sits comfortably on a 1080p handheld.

Can I play DS games in widescreen?

Sort of, and it depends on the game. The 16:9 option in Video Settings only stretches the picture, so proportions get distorted and you see no more of the game. A real widescreen view needs a per game widescreen cheat code, which tells the game to render with a wider field of view. Those only exist for some games, mostly the fully 3D ones, and they can distort the 2D HUD as a side effect.

Why does 16:9 make my DS game look wrong?

Because that setting stretches rather than widens. The DS drew a 4:3 image, and forcing it into 16:9 pulls it sideways, so characters look short and wide. Leave it on 4:3 and accept the black bars unless you are also using a widescreen cheat code for that specific game.

Does WideMelon work on my handheld?

Probably not. WideMelon is a melonDS fork that widens the 3D view while keeping 2D layers and the touchscreen at native size, but it only ships x86-64 desktop builds plus an Apple Silicon Mac build. There is no Android build and no ARM Linux build, so it applies to a PC or a Steam Deck rather than a Retroid or an Anbernic.

Related reading