PUBG Mobile on GameLoop Beta: All Issues FixedThe latest EmuDesk Smart Tool update fixes all compatibility issues with GameLoop Beta including camera stuttering and delivers fully functional keymaps, including at 1080p and 2K.Get EmuDesk Smart Tool

How to Set Up melonDS — Complete Nintendo DS Emulator Guide 2026

Low4 solutions

I want to set up melonDS to play Nintendo DS games on my PC. I downloaded it but I'm getting a "BIOS not found" error and I'm not sure if I need real BIOS files or how to configure the graphics and dual-screen layout.

Last updated 8 weeks ago0 users reported this issue86
Sign in to interact

Solutions

Solution 1

download-bios-hle-and-game-formats (sortOrder=1, isMostHelpful)

Why melonDS instead of DeSmuME: melonDS has overtaken DeSmuME as the modern recommendation. It emulates both ARM processors more accurately (eliminating timing glitches and crashes), offers an OpenGL hardware renderer for upscaled 3D, supports DSi mode and DSiWare, and includes local Wi-Fi emulation for multiplayer. DeSmuME has had no significant updates in years.

Download melonDS:

Official source: melonds.kuribo64.net — the emulator's homepage. Download the latest stable release. Windows builds are zip files (portable, no installer). Linux builds are available as AppImages or distro packages. macOS builds are provided as .dmg disk images.

Extract the zip to a folder of your choice (e.g. C:\Emulation\melonDS\). Run melonDS.exe. No installation wizard needed.

BIOS setup — two paths:

Path 1 (HLE — recommended starting point):

melonDS includes built-in HLE firmware that boots the vast majority of DS games without any BIOS files from hardware.

  1. Config → Emu settings → DS-Mode.
  2. Enable "Use built-in HLE BIOS/firmware."
  3. Leave BIOS file paths blank (or clear them if they point to missing files — a broken path overrides HLE in some versions).
  4. Click OK and load a game.

With HLE active, melonDS skips the DS health/safety screen and boots directly into the game. This is expected — not a bug.

Path 2 (Real BIOS — most accurate):

Three files dumped from a Nintendo DS or DS Lite you own:

  • bios7.bin (16 KB) — ARM7 processor BIOS
  • bios9.bin (4 KB) — ARM9 processor BIOS
  • firmware.bin (131,072 or 262,144 bytes) — DS firmware

Place these in a dedicated folder (e.g. C:\Emulation\BIOS\NDS\). In melonDS → Config → Emu settings → DS-Mode, disable HLE and set each file path. With real BIOS active, melonDS shows the DS boot animation before the game — this confirms it loaded correctly.

See also: melonDS BIOS missing — NDS BIOS setup or HLE firmware

DSi mode: DSiWare and DSi-enhanced titles require a separate set of DSi BIOS files plus a NAND image from a DSi or 3DS you own. In melonDS → Config → Emu settings → DSi-Mode, configure the four DSi paths. To launch in DSi mode, right-click the ROM and choose "Launch in DSi mode." Regular DS-only games do not benefit from DSi mode.

Supported game formats:

  • .nds — standard NDS ROM image (most common)
  • .dsi — DSi-mode ROM image
  • .zip / .7z — compressed archives with a single .nds inside (melonDS loads these directly)

Solution 2

graphics-upscaling-and-screen-layout (sortOrder=2)

Rendering backends:

  • Software renderer (default): CPU-based, pixel-accurate. Matches original hardware output exactly. Best for 2D-heavy games and maximum accuracy.
  • OpenGL hardware renderer: GPU-accelerated. Allows 3D rendering at 2×, 4×, or 8× native 256×192 resolution — making 3D games look significantly sharper. Enable in Config → Video settings → 3D renderer → OpenGL. Set internal rendering resolution to 2× or 4× (4× is the most common recommendation; 8× is demanding and rarely necessary).

Note: The OpenGL renderer only upscales 3D geometry. 2D backgrounds and sprites still render at native resolution and will look slightly softer by comparison — this is normal; the NDS rendered 2D and 3D at different resolutions internally.

Screen filter: Config → Video settings → Screen filter:

  • Nearest — pixel-perfect, sharp. Recommended when using OpenGL upscaling.
  • Linear — smoothly interpolated, softer. Better for software-rendered native-resolution output.

Dual-screen layout: The Nintendo DS has two screens. melonDS gives full control over how they appear:

  • Vertical (default): top screen above bottom screen, stacked. Matches original hardware orientation.
  • Horizontal: both screens side by side. Better use of widescreen monitors.
  • Single screen: only the top screen or only the touch screen is shown. Useful for games where one screen is mostly static.
  • Hybrid: non-primary screen shown as a smaller inset.

Set via Config → Video settings → Screen layout.

Touch screen: Maps to mouse clicks by default. Click and drag on the bottom screen to simulate stylus input. You can also bind touch screen input to a gamepad analog stick (useful for rhythm games or Pokémon map panning) via the Joystick input tab in Config → Input.

Screen gap: Config → Video settings → Screen gap adjusts spacing between the two screens, matching the physical bezel of the original DS.

Solution 3

controller-saves-and-multiplayer (sortOrder=3)

Controller setup:

melonDS maps controllers via Config → Input and hotkeys.

  • Xbox / 8BitDo / generic XInput: melonDS uses SDL2 which handles XInput automatically. Config → Input and hotkeys → DS input → click each slot and press the corresponding button to assign.
  • Default Xbox mapping: A→A, B→B, X→X, Y→Y, L shoulder→LB, R shoulder→RB, Start→Menu, Select→View/Back, D-pad→D-pad. The NDS has no analog sticks — D-pad is the only directional input (games designed for digital input only).
  • DualSense / DualShock 4: detected as generic SDL2 gamepads. If buttons don't respond, check that no Steam overlay or DS4Windows is intercepting input at the OS level.
  • Touch screen as gamepad: bind the left analog stick to control the touch screen cursor in Config → Input → Joystick tab.

Save files:

  • melonDS writes in-game saves to .sav files alongside the ROM (e.g. Pokemon_Diamond.nds → Pokemon_Diamond.sav). These are compatible with other DS emulators.
  • Importing DeSmuME saves: DeSmuME .dsv files have a 32-byte header melonDS doesn't recognize. Open the file in a hex editor, delete the first 32 bytes, rename to .sav. Community utilities automate this — search "convert DeSmuME save to melonDS."
  • Save states: File → Save state. Save states are emulator-side snapshots, not compatible between different emulators or across major melonDS version changes. Always maintain in-game saves alongside save states for durable progress.

Local multiplayer (Wi-Fi):

  • Config → Wifi settings → enable "Enable Wi-Fi emulation" on both instances (or both PCs on a LAN).
  • Enables DS Download Play and local wireless multiplayer (Pokémon Diamond/Pearl trading, Mario Kart DS LAN).
  • For defunct Nintendo Wi-Fi Connection games (online service now closed), fans run private WFC servers — melonDS's Wi-Fi can be pointed at these (e.g. WiiLink's AltWFC).

RetroAchievements:

  1. Create a free account at retroachievements.org.
  2. Config → RetroAchievements → enter username and API token (from RA website under Settings → API Keys).
  3. Enable and restart melonDS. Achievements load automatically for supported games.

The NDS library has strong RA coverage — Pokémon, Mario, and Zelda titles all have achievement sets.

Solution 4

performance-tips-and-common-issues (sortOrder=4)

Performance tips:

  • Switch to the OpenGL renderer for 3D-heavy titles. Counter-intuitively, OpenGL is both faster and higher quality than the software renderer for 3D games.
  • Lower internal resolution if 4× OpenGL is slow — drop to 2×. Even 2× is a significant improvement over native 256×192.
  • Close background apps. melonDS is a dual-core emulator (ARM7 + ARM9) and benefits from two dedicated CPU cores. Anything competing for those cores introduces frame-timing jitter.
  • Check for turbo mode accidentally enabled: if games run too fast, check that Emulation → No speed limit is turned off (it's a toggle that can be hit accidentally via hotkey).

For GPU driver issues: GPU driver clean-install guide

For general emulator slowdown: Emulator running slow despite strong PC

Common issues:

  • Game won't start — "BIOS not found" — enable HLE firmware (Config → Emu settings → DS-Mode → Use built-in HLE) or add real BIOS files. See melonDS BIOS missing fix.
  • Black screen after melonDS logo — HLE and real BIOS paths both invalid. Clear all BIOS paths and re-enable HLE.
  • Touch screen not responding to mouse — melonDS window needs focus. Click the emulator window before using the bottom screen area.
  • 3D graphics look blurry — enable OpenGL renderer and set internal resolution to 2× or 4× in Config → Video settings.
  • Audio crackle / popping — change Audio interpolation to Cubic (Config → Audio settings). If still present, increase buffer size.
  • Controller not detected — check SDL device list in Config → Input. Close Steam Big Picture and DS4Windows before launching melonDS.
  • Pokémon save not working — NDS Pokémon titles use Flash save memory (auto-detected by melonDS). If save is lost after closing, confirm the .sav file was written in the same folder as the ROM.
  • DeSmuME save doesn't load — strip the 32-byte DeSmuME header with a hex editor to produce a valid .sav.
  • DSi game not launching — DSi mode requires separate DSi BIOS + NAND files. Right-click ROM → "Launch in DSi mode" only works after DSi BIOS is configured.
  • emulator running too fast — Emulation menu → check that "No speed limit" is off (may have been toggled by hotkey).

For 3DS emulation (post-Citra): Citra is shut down — best 3DS alternatives 2026

Quick-start summary:

  1. Download melonDS from melonds.kuribo64.net (portable zip)
  2. Config → Emu settings → DS-Mode → enable HLE firmware (no BIOS files needed to start)
  3. Load your .nds game file — it boots directly
  4. For sharper 3D: Config → Video settings → 3D renderer → OpenGL → set internal resolution to 4×
  5. Set screen layout to Horizontal for better use of a widescreen monitor
  6. For DSi games: configure DSi BIOS + NAND in Config → Emu settings → DSi-Mode, then right-click ROM → "Launch in DSi mode"
Experiencing a different problem?Report a new issue to help the community find solutions.

Comments (0)

No other comments yet. Be the first to share your thoughts.

Sign in to_leave_comment

On This Page