Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesiTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
The simplest cross-platform starting point is melonDS. Its official download page provides builds for Windows, macOS, Linux, and Android: https://melonds.org/download/. Download the build for your device, install or extract it, choose a folder containing your legally obtained Nintendo DS game dumps, configure controls, and supply BIOS and firmware dumps from your own DS hardware if the emulator requests them.
This guide covers the complete first-run setup on each operating system, external BIOS and firmware files, keyboard and controller mapping, Android-specific cautions, and the fixes for the problems most often mistaken for emulator incompatibility.
What you need before installing
Prepare these items before opening an emulator:
- A computer or Android device running one of the supported operating systems.
- An emulator build that matches your operating system and, where applicable, its CPU architecture.
- A folder containing valid
.ndsgame dumps made from cartridges you own or are otherwise legally entitled to use. - BIOS and firmware dumps from your own Nintendo DS hardware when the selected emulator requires external system files.
- A keyboard, touchscreen, or optional USB/Bluetooth controller. Desktop joystick support is documented for melonDS; Android controller compatibility can vary by release.
Do not download commercial ROM collections, Nintendo BIOS files, or firmware from an unlicensed site. The emulator is software; it does not provide games or copyrighted system files.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Which Nintendo DS emulator should you use?
melonDS as the cross-platform starting point
melonDS is the practical first choice when you want one setup approach across several devices. The project’s official download page lists Windows, macOS, Linux, and Android builds. It supports joystick input, save states, microphone and lid controls, and has work-in-progress Wi-Fi or local-multiplayer and DSi-emulation features. Those unfinished or version-sensitive features should be checked against the release you install rather than treated as guaranteed.
#1 Best Overall
- With broad game support, the Logitech Gamepad F310 works with old standbys to today's biggest titles, so it's easy to set up and use with your favorite games.
- Profiler software allows the gamepad to be programmed to perform keyboard and mouse commands for games without gamepad support.* * Requires software installation.
- A familiar control layout that doesn't require a learning curve to be able to use, with all the same buttons as on an Xbox 360.
- The unique floating D-pad rests on four switches-instead of a single pivot point-making it responsive to quick changes in direction.
- The six-foot cord lets you lean back and play a comfortable distance from your PC monitor.
Download only from the project’s official page, then follow the package’s instructions. A Windows or Linux archive may need to be extracted; a macOS download is normally opened as an application; an Android build must come from the project’s current distribution channel. Verify who maintains an Android package before granting it storage access.
DeSmuME as a documented desktop alternative
DeSmuME is another documented option for Windows, macOS, and Linux. Its FAQ describes loading external BIOS files on all three desktop platforms, while external firmware loading is supported on Windows and Mac but not Linux according to that documentation. Therefore, do not copy a Windows BIOS or firmware path into a Linux installation and assume it will work. Use the current instructions for the build you selected.
Install melonDS on Windows
- Open the official download page at https://melonds.org/download/ and download the Windows build.
- If the download is an archive, extract it to a folder you control, such as a dedicated emulator folder. Do not run an executable while it is still inside a compressed archive.
- Start the melonDS executable. If Windows displays a security warning, verify that the file came from the official project download before allowing it to run.
- Create a separate games directory and copy only your legally obtained
.ndsdumps into it. In melonDS, use the game or directory browser to select that folder. - Open the input configuration. Map the Nintendo DS buttons to keyboard keys, then test every direction and face button. If you have a USB gamepad, connect it and map its controls as an optional second profile.
- If melonDS asks for system files, open its BIOS and firmware settings and select dumps made from your own Nintendo DS hardware. Check each filename and path carefully, then restart the emulator if it requires a reload.
- Open a known-good game dump and confirm that the title reaches its main menu before changing graphics or advanced settings.
Windows-specific checks
- Use a build intended for your Windows and CPU architecture; an incompatible executable can fail before the emulator displays an error.
- Keep the emulator, BIOS files, firmware, and game directory in locations where your account has read permission. A protected or disconnected drive can look like a bad ROM.
- If a gamepad is not detected, test the keyboard mapping first. This separates an input-driver problem from an emulator or game problem.
Install melonDS on macOS
- Download the macOS build from https://melonds.org/download/.
- Open the application. macOS may show a security prompt for an application downloaded from the internet. Approve it only when you verified that the file came from the official project source.
- When melonDS starts, select a directory containing your legally obtained
.ndsfiles. Keep game dumps in a normal user folder so the emulator can read them consistently. - Open input settings and map the keyboard. Add a controller profile if you use a USB or compatible gamepad.
- Map microphone and lid-related inputs if a title needs them. These are separate from ordinary button mapping and may be unassigned in a fresh profile.
- If prompted for external system files, select your own DS BIOS and firmware dumps. The DeSmuME documentation also describes external BIOS loading on macOS and external firmware support on Mac, but paths and filenames depend on the emulator and release.
- Launch a known-good
.ndsdump and test both screens, sound, buttons, microphone input, and any lid action required by the game.
When macOS blocks the application
Do not bypass macOS security by downloading a second copy from an unknown mirror. First confirm the package came from the official project source, then use the normal macOS approval flow. If the application still will not open, download the correct macOS build again and check that the archive was fully extracted.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Rank #2
- Platform Compatibility: This PC controller is designed for Windows PC, Steam, Switch, Android, and iOS. Xbox-style asymmetric stick layout for PC gamers. Three modes cover all your devices. Please check your device compatibility before purchase
- Three Connection Modes: 2.4G wireless, Bluetooth, wired USB-C. PC gets native XInput/DirectInput. Switch pairs via Bluetooth, no adapter. This gaming PC controller switches devices seamlessly. Stable wireless minimizes random disconnects during gaming
- Hall Effect Precision: Hall effect joysticks and triggers eliminate stick drift. This gaming controller for PC delivers smooth, responsive input with no dead zones. Built for FPS, racing, and action games. Long-term precision for competitive PC gaming
- Back Buttons & Battery: Two programmable back buttons map combos and shortcuts. Textured grips with dual vibration. 1000mAh battery delivers up to 20H playtime. RGB can be turned off. A solid PC controller for gaming with custom back buttons
- ABXY Layout Switch: Press B + Minus + Plus to swap between PC and Switch modes. Features: 1000Hz polling rate, RGB lighting, turbo. Note: designed without mic jack or gyro sensor
Install melonDS on Linux
- Download the Linux build from https://melonds.org/download/, or use a distribution package when one is appropriate for your distribution.
- Extract the archive if necessary and launch the emulator using the executable supplied by the package. A distribution package may create its own desktop entry.
- Choose a games directory containing your legally obtained
.ndsdumps. - Open input configuration and map a keyboard or joystick. Test keyboard input before troubleshooting a gamepad.
- If the emulator requests BIOS or firmware files, follow the selected emulator’s current Linux instructions. The DeSmuME FAQ documents external BIOS loading on Linux but says external firmware loading is not supported there.
- Start a known-good game dump and verify that the emulator can read the file and create saves in a writable location.
Linux package and permission pitfalls
Distribution packages can lag behind the project’s newest release or use different default directories. Record which package and version you installed before changing paths. If a game list is empty, check that the directory is mounted, that your user can read it, and that the files really end in .nds. Avoid copying Windows paths or configuration files into Linux; platform-specific instructions and permissions differ.
Install melonDS on Android
- Identify the current Android distribution channel and its maintainer, then obtain the build from that channel. The melonDS FAQ notes that unofficial Android ports are not developed or supported by that FAQ’s project, so do not assume every package labeled “melonDS” has the same features or support.
- Install the package and grant file access only when Android requests it and only if the package came from a source you trust.
- Choose a directory containing your legally obtained
.ndsdumps. Android may require you to select the folder through its system file picker rather than entering a path manually. - Open touch-control settings and place the virtual D-pad, buttons, and screen controls where your hands can reach them without covering important game action.
- You may try a Bluetooth gamepad, but Android-specific controller compatibility is not established by the cited documentation. Pair the controller, map each button, and keep touch controls available while testing.
- If the Android build asks for BIOS or firmware, select dumps made from your own DS hardware. Storage-provider behavior and required filenames can differ between ports, so use that release’s instructions.
- Launch a known-good game dump and test touch input, audio, screen orientation, saves, microphone input, and any lid control the title uses.
Android cautions
Android ports can differ in maintainer, release channel, feature set, and update activity. A setting described for a desktop build may not exist in an Android port. Treat Wi-Fi, DSi emulation, controller support, and file-access behavior as version-sensitive, and consult the port’s current release notes or FAQ before diagnosing a feature as broken.
BIOS, firmware, and game files
What the files do
BIOS and firmware are Nintendo DS system software, not game files. The melonDS FAQ states that melonDS requires BIOS and firmware dumps from a DS. A game dump is normally a file ending in .nds; it is separate from those system files.
Rank #3
- COMPATIBILITY: Support PC Computer, Laptop, Notebook. Windows XP/7/8/10/11, Steam, PS 3
- COMPATIBILITY FOR ANDROID: Support Android Mobile Phone/Tablet/TV/Box(system version 4.0 or above, and the device must fully support OTG function). Need to purchase a OTG adapter or cable for the Android device with Type-C or Micro-USB port.
- PLUG AND PLAY: Only for PC games supporting Xinput mode / Android mobile games supporting Android mode / PS 3. No need to install drivers except for Windows XP.
- PRODUCT FEATURE: Multi-mode: Xinput & Dinput & Android & PS 3 / Vibration Feedback Function / JD-SWTICH Function / TURBO Function
- NOTICE: This USB Wired PC Controller Gamepad does not support the Xbox 360 / Xbox One / Mac OS / PS4
How to obtain them lawfully
Make dumps from Nintendo DS hardware you own or are authorized to use. The melonDS FAQ also says cartridges can be dumped with a DSi or 3DS and copied to a computer. This guide does not provide Nintendo BIOS, firmware, or commercial ROM downloads.
Recommended Free Tools
Where to point the emulator
Use the emulator’s own BIOS and firmware settings rather than guessing a universal folder. Select the exact files, check that the path is readable, and confirm that the filename and extension match what the build expects. If the emulator reports a missing file after you selected it, recheck permissions and whether the file is a genuine dump instead of a renamed archive.
Configure controls and DS-specific inputs
Keyboard
Start with a simple, memorable layout: map the D-pad to four adjacent keys, the A and B buttons to nearby keys, and Start and Select above or below them. Map shoulder buttons separately and test every input in the emulator’s configuration screen before launching a game. Save the profile if the emulator offers that option.
Rank #4
- Wide Compatibility: VOYEE wired 360 controller compatible with Microsoft Xbox 360 & Slim/ PC (Windows 11/10/8.1/8/7). Just plug and play, not for FPS games
- Enhanced Game Controller: Upgraded PC 360 controller with new left and right trigger buttons and more sensitive joysticks and buttons - Respond quickly to player commands without delay
- Astonishing Gaming Experience: VOYEE wired pc controller provides rumble control and according to the game automatic vibration feedback to enhanced game experience and match your personal preference
- Ergonomic Design: Grips's contours have been designed to fit your hands more comfortably to hold for a long time and 7.2ft cord allows greater
- What You Get: VOYEE wired 360/PC Controller, 45 Days Money Back, 365 Days Guarantee Against quality defect and 24 Hours Friendly Customer Support
USB or Bluetooth controllers
Desktop joystick support is documented for melonDS, making a USB gamepad an optional accessory rather than a requirement. Connect it before opening the input dialog, select the detected device, and bind each control manually. If a button does nothing, remove that binding and assign it again rather than adding multiple conflicting actions.
Touchscreen, microphone, and lid
On Android, arrange touch controls around the two DS screens and leave enough space to see the game. On desktop, map microphone and lid actions when a game requires blowing, speaking, closing the lid, or opening it. These controls are not automatically equivalent to ordinary face buttons, so test them in the title that needs them.
First-launch verification checklist
- The emulator opens without an architecture or permission error.
- The selected games directory displays a valid
.ndsdump. - BIOS and firmware paths are set when the build requires external files.
- Both DS screens render and the game reaches its menu.
- Every mapped button works, including Start, Select, shoulder buttons, microphone, and lid actions where applicable.
- A save can be created and loaded from a writable location.
- Any controller works only after keyboard or touch input has been confirmed.
Save states, multiplayer, and version-sensitive features
melonDS lists save-state support, so you can create an emulator snapshot in addition to using the game’s own save system. Keep normal in-game saves as your primary recovery method; save states are tied to emulator state and can become unreliable after changing builds or settings.
Best Value
- Support PC Windows XP / 7 / 8 / 10 / 11 & PS3 & Steam
- Support Android (version 4.0 or above, and the device must fully support OTG function). Not inlciud a OTG adapter in the package.
- Support Plug and Play, only for PC games supporting Xinput mode / PS3
- Feature: Multi-mode: Xinput & DirectInput / Vibration Feedback Function / JD-SWTICH Function (exchange the functions of D-pad and Left-Stick in Xinput mode)
- USB Wired Gamepad (PS architecture) - Does not support the Xbox 360 / Xbox One / Mac OS
melonDS describes Wi-Fi or local multiplayer and DSi emulation as work in progress. Do not assume that a feature available in one release, platform build, or Android port will behave identically in another. Check current release notes and test the exact version you installed before planning a multiplayer session or a DSi-dependent game.
Troubleshoot a game that will not start
- Confirm the file type. Verify that the game is a valid
.ndsdump, not an unrelated 3DS image or another archive format. - Check the build. Make sure you installed the build for your operating system and CPU architecture. An Android package and a desktop executable are not interchangeable.
- Recheck system files. Confirm BIOS and firmware paths, filenames, extensions, and read permissions. On Linux, do not assume that firmware loading works the same way as on Windows or Mac.
- Try a known-good dump. Open another legally obtained game dump. If it works, the original file is more likely incomplete, corrupted, or incompatible with the selected build.
- Reset input mappings. Test the keyboard or touchscreen with a clean profile before diagnosing a USB or Bluetooth controller.
- Review current documentation. Check the emulator’s current release notes or FAQ for version-specific fixes. An old FAQ may not describe a current Android port.
If the game list is empty
Reopen the directory selector and choose the folder itself, not a compressed archive. Confirm that files have the .nds extension, that external storage is mounted, and that Android or your desktop account granted the emulator read access.
If controls work in menus but not in a game
Check whether the title expects microphone, lid, touch, or stylus input rather than a standard button. Rebind that special input and test it in the game’s required sequence. A functioning D-pad does not prove that microphone or lid emulation is configured.
Platform comparison
| Platform | melonDS availability | Typical first step | Important caveat |
|---|---|---|---|
| Windows | Official build listed | Download, extract if archived, run the executable | Use matching architecture and verify BIOS or firmware paths |
| macOS | Official build listed | Open the application and approve the normal security prompt only for an official download | Map microphone and lid inputs when needed |
| Linux | Official build listed; a distribution package may also be available | Launch the extracted build or package and select the games directory | DeSmuME documentation says external firmware loading is not supported on Linux |
| Android | Official download page lists an Android build | Install from the current, identified distribution channel and grant file access | Ports, controller behavior, and feature support vary by maintainer and release |
Keeping the setup reliable
- Keep the emulator in a stable folder and back up configuration and in-game save files before upgrading.
- Do not replace a working BIOS or firmware dump with a file from an untrusted download site.
- When updating, note the old version and test one known-good game before changing several settings at once.
- Keep separate folders for game dumps, system dumps, saves, and emulator binaries so a reinstall does not accidentally remove personal data.
- For Android, record the package maintainer and release channel. If an update changes file permissions or controller behavior, consult that port’s documentation rather than desktop instructions.
Bottom line
Download melonDS from its official page, select the build for your operating system, point it at legally obtained .nds dumps, and configure keyboard, touch, or joystick controls. Supply BIOS and firmware dumps from your own DS hardware when required. Windows, macOS, and Linux offer the most established desktop workflow; Android can work well but requires extra care because unofficial ports and their features differ. When something fails, verify the file type, build architecture, system-file paths, permissions, and input mappings in that order.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

