melonDS Multiplayer Setup: Trade Pokémon in 13 Steps [2026]

Nintendo shut down its original Wi-Fi Connection service for the Nintendo DS years ago, and the GTS and Union Room features that once let Pokémon trainers swap Pokémon over the internet have been dark ever since. That has not stopped a steady stream of players from asking the same question on Reddit and in the melonDS project’s own forum: can you still trade Pokémon between two copies of Diamond, Pearl, Platinum, HeartGold, or SoulSilver using an emulator. The answer is yes, and the tool most people land on is melonDS, the open-source Nintendo DS and DSi emulator that has quietly become the most accurate way to run Generation IV Pokémon games on a PC, Mac, Linux box, or Steam Deck.

This tutorial walks through the full process of setting up melonDS for local multiplayer trading: installing the emulator, sourcing the files it needs, running two separate instances with two separate save files, connecting them over a local network, and completing an actual trade inside the game’s Union Room. It is written for players who already own legitimate copies of their Pokémon DS games and want to move Pokémon between two saves, whether that is a personal second save file, a sibling’s cartridge dump, or a friend’s copy on another machine. By the end you will have a working two-instance melonDS setup, a backup routine for your save files, and a troubleshooting checklist for when the connection refuses to cooperate.

Google · Preferred Sources

Don't miss new tech stories on Google

Add Tech Insider once in the Google app and our stories appear in your news suggestions.

Add Now

What You Need Before You Start

melonDS multiplayer trading is not a one-click feature. It depends on a handful of files and settings lining up correctly across two separate emulator instances. Gather everything below before you open the emulator for the first time, because missing a single file is the single most common reason this setup fails on the first attempt.

  • melonDS, latest stable build. Download directly from the official project site rather than a third-party mirror. The team ships point releases regularly, so always grab whatever is currently listed as stable rather than reusing an old installer.
  • Two legally obtained .nds ROM dumps. These can be two different Generation IV titles (say, Pokémon Platinum and Pokémon SoulSilver) or two copies of the same title, as long as each has its own independent save file.
  • BIOS7.bin, BIOS9.bin, and firmware.bin. melonDS runs in DS mode using real console firmware and BIOS dumps. These must come from a DS or DSi console you own; the melonDS project does not and will not distribute them.
  • A desktop or laptop with a spare core or two. Running two melonDS windows simultaneously roughly doubles CPU and GPU draw compared with single-instance play, though DS-era emulation is light enough that most machines from the last decade handle it without issue.
  • A local network connection. Both instances need to see each other, either on the same machine, over Wi-Fi, or over a wired LAN. A router that allows device-to-device discovery works best; some public or “client isolation” Wi-Fi networks block this traffic outright.
  • Windows 10/11, macOS, or Linux. melonDS is cross-platform, and the Steam Deck is a popular target too, though multiplayer there currently requires switching into Desktop Mode rather than Gaming Mode.

One more thing worth stating plainly: back up every save file you plan to use before touching any of the steps below. A failed connection attempt, a mistyped save slot, or an emulator crash mid-trade can corrupt a save, and Generation IV saves do not forgive easily. Copy your .sav files to a separate folder now, before step one.

How melonDS Local Multiplayer Actually Works

The real Nintendo DS used two separate radios for wireless play: a local, short-range ad-hoc connection for things like the Union Room and the GTS kiosk at a Pokémon Center, and a separate Nintendo Wi-Fi Connection pathway for internet trading, which Nintendo discontinued years ago. melonDS recreates the local ad-hoc side of that picture. When you run two emulator instances on the same network, each instance opens a virtual wireless adapter, and the emulator’s networking layer passes packets between them the same way two physical DS consoles sitting next to each other would exchange them over actual radio.

Inside melonDS’s settings, this shows up as a Wi-Fi or multiplayer configuration panel where you pick a mode and, on some builds, a specific network adapter to bind to. One recurring piece of advice from the melonDS community’s own support forum is to open the Wi-Fi settings on the first instance and enable the option to bind the socket to any address, which widens how the emulator listens for the second instance rather than restricting it to one interface. A contributor on the official melonDS forum described the sequence directly: “2nd – Go to config > wifi settings on the first window and enable Bind socket to any address.” The same thread adds an important caveat worth keeping in mind going in: “Now local multiplayer should work, keep in mind that some games still not work.”

That caveat matters because melonDS’s local wireless support is still described by its own community as a work in progress rather than a finished, bulletproof feature. Expect occasional friction: a connection that drops mid-session, a game that refuses to see the second player, or a setting that behaves differently between the stable release and a nightly build. None of that means the feature is broken outright. It means you should treat this as an emulator feature still being refined, test early, and keep your expectations calibrated to “local trading between two melonDS instances,” not “a drop-in replacement for Nintendo’s original online service.”

Which Pokémon Games Actually Support This

Generation IV is the sweet spot for melonDS trading because every mainline title in that generation uses the same Union Room and Pal Park mechanics, and all five run well inside melonDS’s DS-mode emulation. The table below summarizes what to expect from each title when you set up a two-instance trade.

GamePlatformLocal Multiplayer TradingNotes
Pokémon DiamondNintendo DSSupportedUnion Room trade works between two melonDS instances with matching regions
Pokémon PearlNintendo DSSupportedSame engine as Diamond; trade compatible with Diamond, Platinum
Pokémon PlatinumNintendo DSSupportedMost frequently referenced title in community trading guides
Pokémon HeartGoldNintendo DSSupportedTrade-compatible with SoulSilver and Gen IV titles via Union Room
Pokémon SoulSilverNintendo DSSupportedSame engine as HeartGold
Pokémon Black / WhiteNintendo DSReported to work in some setupsGeneration V; community guides note it may work but is less thoroughly documented than Gen IV

Keep in mind that region matters. A US-region copy of Pokémon Platinum trading with a European-region copy of the same game is a common source of connection failures that has nothing to do with your network setup. Match regions and, where possible, match versions before you troubleshoot anything else.

System Performance Expectations for Running Two Instances

Nintendo DS emulation is light by modern standards, since the original hardware ran at roughly 67 MHz with a fraction of the memory and bandwidth of even a budget phone today. That headroom is exactly why melonDS can run two full instances side by side on hardware that would struggle with a single instance of a more demanding emulator for something like a GameCube or a PS3 title. Even so, two windows pulling from the same CPU and GPU is not free, and a machine that handles one instance flawlessly can occasionally stutter the moment a second window opens, particularly if both are rendering with upscaling filters or high internal resolution enabled.

SetupTwo-Instance PerformanceRecommended Settings
Budget laptop (dual/quad-core, integrated graphics)Generally smooth at native resolutionKeep internal resolution at 1x, disable heavy upscaling filters
Mid-range desktop (6+ cores, dedicated GPU)No noticeable slowdown even with upscaling enabledInternal resolution can be raised on both instances without issue
Steam Deck / handheld PC (Desktop Mode)Workable, but window management is tighter on a small displayResize windows to roughly half the screen each, keep filters off for clarity
Older machine (2015 or earlier CPU)May show frame pacing issues with two windows openClose other background applications; consider trading one save at a time on a single instance if performance is marginal

If you notice one instance running noticeably slower than the other even on matching settings, check that neither window is minimized or running in a background tab-like state, since some operating systems throttle unfocused application windows to save power, and that throttling can be mistaken for an emulation or networking problem when it is really just a power-saving setting fighting your two-window setup.

Step 1-3: Installing melonDS and Verifying Your ROM Dumps

Start by downloading melonDS from its official site and extracting it to its own folder. Do not install it to a shared “Emulators” directory where other programs might write to the same configuration path; melonDS stores its settings in a local ini file, and you will want two separate copies of that file for the two instances you are about to run.

  1. Step 1: Extract melonDS into two separate folders. Name them something obvious, such as melonDS-P1 and melonDS-P2. Running two fully separate folder copies, rather than one shared installation, is the simplest way to guarantee each instance gets its own settings file, its own save directory, and its own BIOS file paths without one overwriting the other.
  2. Step 2: Copy your BIOS and firmware files into both folders. Place bios7.bin, bios9.bin, and firmware.bin inside each folder (or wherever melonDS expects them per its settings menu). Both instances need their own copy, even though the files themselves are identical.
  3. Step 3: Confirm your ROM dumps open correctly in each instance. Launch melonDS-P1 first, load your first game, and let it boot to the title screen. Close it, then launch melonDS-P2 and load the second ROM the same way. If either ROM fails to boot, fix that before moving on to networking; a broken dump will never trade successfully no matter how the connection is configured.

On Windows, you can launch each copy from its own desktop shortcut. On macOS and Linux, a quick way to keep instances distinct is to point each one at a separate config directory from the terminal:

# Linux/macOS example: launch two melonDS instances with separate config paths
cd ~/Emulators/melonDS-P1
./melonDS --user-dir ./config-p1 PokemonPlatinum_P1.nds

# in a second terminal window
cd ~/Emulators/melonDS-P2
./melonDS --user-dir ./config-p2 PokemonSoulSilver_P2.nds

If your build of melonDS does not support a –user-dir flag, the folder-separation approach from Step 1 accomplishes the same isolation without needing a command-line argument at all.

Step 4-5: Dumping and Placing BIOS and Firmware Files

melonDS’s DS-mode emulation depends on legitimate console firmware, unlike some other DS emulators that ship with built-in HLE BIOS substitutes. If you already have these files from setting up another DS emulator such as DeSmuME, you can reuse them here; melonDS and DeSmuME expect the same three files.

  1. Step 4: Dump BIOS7.bin and BIOS9.bin from a DS or DSi console you own. These are small ARM7 and ARM9 boot ROMs. Dumping tools exist for flashcarts and homebrew-enabled consoles; the exact method depends on your hardware and is outside the scope of this tutorial, but the files themselves are tiny, typically a few kilobytes each.
  2. Step 5: Dump or export your firmware.bin and point both melonDS instances at their own copy. In melonDS’s settings menu, under the emulation or system paths section, browse to each file individually rather than relying on auto-detection. Firmware stores region and user settings data, so each instance should ideally use its own firmware dump rather than sharing a single file between two running processes, which can cause write conflicts.

A quick sanity check at this stage: boot each instance into the DS firmware menu itself (without loading a game) and confirm the “Nintendo DS” clock and user settings screen appears correctly. If melonDS instead shows a black screen or an error about missing BIOS files, stop here and re-verify your file paths before moving to networking.

Step 6-7: Creating Two Independent Save Profiles

This is the step most guides skim past, and it is the one most likely to cause a corrupted save if you rush it. Each melonDS instance needs its own save file sitting in its own folder, tied to its own ROM file, so that trading does not accidentally point both instances at the same .sav on disk.

  1. Step 6: Organize a clear folder structure before your first launch. A layout like the one below keeps every file traceable and makes backups trivial.
  2. Step 7: Confirm each instance writes to its own .sav file by checking file timestamps after a short play session on each side. Load each game, walk around for a minute, save in-game, then check that only the expected .sav file’s modified timestamp updated.
Emulators/
├── melonDS-P1/
│   ├── melonDS.exe
│   ├── bios7.bin
│   ├── bios9.bin
│   ├── firmware.bin
│   ├── roms/
│   │   └── PokemonPlatinum_P1.nds
│   └── saves/
│       └── PokemonPlatinum_P1.sav
├── melonDS-P2/
│   ├── melonDS.exe
│   ├── bios7.bin
│   ├── bios9.bin
│   ├── firmware.bin
│   ├── roms/
│   │   └── PokemonSoulSilver_P2.nds
│   └── saves/
│       └── PokemonSoulSilver_P2.sav
└── backups/
    ├── PokemonPlatinum_P1_backup.sav
    └── PokemonSoulSilver_P2_backup.sav

Once this structure is in place, copy both current .sav files into the backups folder immediately, before you attempt any multiplayer connection. This single habit prevents the most common disaster story in melonDS trading threads: a corrupted or wiped save after a connection attempt gone wrong.

Step 8-10: Configuring Local Multiplayer and Network Settings

With both instances booting cleanly into their own games and saves, it is time to configure the networking side. The exact menu wording can shift slightly between melonDS releases, so treat the steps below as a map rather than a pixel-perfect script, and expect to poke around the Wi-Fi or multiplayer settings panel in your specific build to find the equivalent options.

  1. Step 8: Open Config > Wi-Fi Settings on the first instance and set the connection type to local/direct mode. If a specific network adapter needs to be selected, choose the adapter that is actually connected to your network rather than a virtual or loopback adapter.
  2. Step 9: Enable “bind socket to any address” (or the equivalent option in your build) on the first instance. This setting widens the range of interfaces melonDS listens on for incoming connections from a second instance, and it is the single setting most frequently cited in community threads as the fix for connections that otherwise silently fail.
  3. Step 10: Repeat the same network configuration on the second instance, matching the connection type. Both instances should use the same mode; mixing a “direct” mode on one with an “indirect” or internet-style mode on the other is a common source of one-sided connections where one player sees the other but not vice versa.

If you are running both instances on the same Wi-Fi network but on two separate physical computers, make sure your router or access point allows device isolation to stay off. Many public networks, guest Wi-Fi networks, and some mesh router “IoT” bands intentionally block device-to-device traffic, which will silently prevent melonDS instances from ever seeing each other no matter how correctly the in-app settings are configured.

If you are running into a firewall blocking the connection on Windows or Linux, you may need to explicitly allow melonDS through it:

# Windows (run as Administrator)
netsh advfirewall firewall add rule name="melonDS" dir=in action=allow program="C:\Emulators\melonDS-P1\melonDS.exe" enable=yes
netsh advfirewall firewall add rule name="melonDS" dir=out action=allow program="C:\Emulators\melonDS-P1\melonDS.exe" enable=yes

# Linux (ufw)
sudo ufw allow from 192.168.1.0/24 to any app melonDS
sudo ufw reload

On macOS, a Reddit user troubleshooting this exact setup found success after adjusting the operating system’s own local network permissions rather than anything inside the emulator itself, writing that “I just needed to enable a setting on my Mac that allows devices to detect each other on the local network for MelonDS.” Check System Settings > Privacy & Security > Local Network and confirm melonDS has permission before assuming the emulator’s networking code is at fault.

Step 11: Hosting and Joining a Local Session

With networking configured on both sides, you are ready to actually launch a session. Order matters here more than most guides mention: start the game that will act as host first, get it into the in-game menu that exposes local wireless (the Nintendo Wi-Fi icon on the DS touch screen, or the in-game Union Room/communication menu), and only then start the second instance and connect.

  1. Step 11: Launch both melonDS windows side by side, load your save on each, and walk both characters into a Pokémon Center. If you want to save a few manual launches each session, a short script can start both instances at once.
#!/bin/bash
# launch_trade_session.sh — starts both melonDS instances for a trade session
cd ~/Emulators/melonDS-P1 && ./melonDS roms/PokemonPlatinum_P1.nds &
sleep 2
cd ~/Emulators/melonDS-P2 && ./melonDS roms/PokemonSoulSilver_P2.nds &
wait

On the Steam Deck specifically, this entire workflow needs Desktop Mode rather than Gaming Mode, since running two separate windows side by side is not something the console-style Gaming Mode interface supports. EmuDeck’s own setup documentation is explicit about this limitation, noting that “melonDS multiplayer on the Steam Deck can only be done in Desktop Mode,” and that the guidance it provides “is strictly referring to local multiplayer,” not Nintendo’s discontinued internet service. If you are setting this up on a Deck, switch to Desktop Mode before you start, resize both melonDS windows so you can see each one, and proceed exactly as you would on a standard desktop PC.

Step 12: Completing the Trade in the Union Room

Once both DS “consoles” can see each other at the network level, the actual trade happens entirely inside the game, exactly as it would on real hardware. In Diamond, Pearl, Platinum, HeartGold, and SoulSilver, this takes place through the Union Room, located on the second floor of any Pokémon Center, not through the basement-level Nintendo Wi-Fi room, which depended on Nintendo’s now-defunct online service and will not work regardless of your emulator setup.

  1. Step 12: Walk each character to the Union Room, open the local wireless communication menu on both instances, and have one player initiate a trade request while the other accepts it. Select the Pokémon to trade on each side, confirm, and watch the trade animation play out on both screens simultaneously, just as it would with two physical DS units.

If one instance detects the other in the Union Room’s player list but the trade screen never opens, double-check that both saves are not mid-battle, mid-cutscene, or otherwise locked out of the communication menu, which is a common false alarm that has nothing to do with networking at all. If neither instance sees the other in the player list in the first place, back up to the networking steps above rather than troubleshooting from inside the game.

Step 13: Verifying the Trade and Backing Up Your Saves

A successful trade updates both .sav files, so the final step is confirming the change actually stuck and creating a fresh backup before you close either instance.

  1. Step 13: Save in-game on both instances after the trade completes, close melonDS cleanly on each side, then copy both updated .sav files into your backups folder with a new timestamped name. Confirm the traded Pokémon shows up in the receiving party or PC box before you consider the session finished.

Treat every trading session the same way going forward: back up before, trade, verify, back up after. Generation IV save corruption is rare when BIOS, firmware, and networking are set up correctly, but it is not impossible, and a five-second file copy is far cheaper than redoing a hundred hours of progress.

Local Direct Mode vs. LAN vs. Experimental Online Play

melonDS exposes more than one way to connect two instances, and which one is right for you depends on where your two copies of the game physically sit.

Connection ModeBest ForSetup DifficultyKnown Limitations
Same-PC local modeTrading with yourself between two save files on one machineLowRequires enough CPU/GPU headroom to run two instances smoothly
LAN / same networkTrading with a friend or family member in the same houseMediumCan be blocked by router client/device isolation settings
Direct Wi-Fi adapter bindingFixing connections that fail with default settingsMediumRequires manually selecting the correct adapter and enabling socket binding
Community online relay toolsTrading across the internet without being on the same networkHighDepends on third-party, community-maintained tooling rather than official melonDS features; compatibility and support vary by tool and by game

For the vast majority of readers, the first two rows cover the use case this tutorial is built around. If you specifically want to trade over the open internet rather than a local network, that falls outside melonDS’s own built-in local wireless feature and into the territory of separate community projects, which carry their own setup requirements and are not interchangeable with the direct-mode steps above.

Common Pitfalls When Setting Up melonDS Multiplayer

Most melonDS trading failures trace back to one of a small handful of mistakes. Check this list before assuming the emulator itself is broken.

  • Sharing a single config folder between both instances. This causes one instance’s settings, or worse, one instance’s save file, to silently overwrite the other’s. Always use fully separate folders per instance.
  • Mismatched game regions or versions. A US cartridge dump and a European cartridge dump of the same title will frequently fail to see each other correctly in the Union Room, even when the network connection itself is perfectly healthy.
  • Forgetting that the basement Wi-Fi room is dead. Any guide, menu, or in-game prompt referencing Nintendo’s original Wi-Fi Connection service is pointing at infrastructure that no longer exists. Only the Union Room’s local wireless path works with this setup.
  • Running both instances on a guest or public Wi-Fi network with client isolation enabled. This blocks the device-to-device traffic melonDS relies on at the router level, before the emulator even has a chance to connect.
  • Skipping save backups before the first connection attempt. It is the single cheapest insurance step in this entire tutorial and the one most frequently skipped by players eager to get straight to trading.
  • Assuming every build’s settings menu uses identical wording. melonDS is actively developed, and menu labels for Wi-Fi and multiplayer options have shifted between releases. If a setting mentioned here is not where you expect it, check the current build’s own settings panel rather than assuming the feature was removed.

Troubleshooting melonDS Local Multiplayer and Trading Issues

Work through these in order when a connection or trade is not behaving.

  • Neither instance sees the other in the player list: Confirm both are set to the same connection mode and that “bind socket to any address” (or your build’s equivalent) is enabled on at least the hosting instance.
  • One instance sees the other, but not vice versa: This usually means the two instances are using different connection modes or different network adapters. Match both settings exactly.
  • Connection works on the same PC but fails across two machines: Check router client isolation settings first, then confirm both machines are actually on the same subnet using a basic network check.
  • Trade menu opens but freezes mid-animation: Close both instances, restart them fresh, and reconnect rather than trying to resume a stalled session; Generation IV trade code does not handle interrupted connections gracefully.
  • Steam Deck multiplayer will not launch at all: Confirm you are in Desktop Mode, not Gaming Mode; melonDS’s multiplayer feature is not currently supported through the Deck’s console-style interface.
  • Firewall or antivirus silently blocking the connection: Add explicit allow rules for melonDS on both machines, as shown in the firewall commands earlier in this guide.
  • Save file appears to have reverted after a session: Restore from your pre-session backup immediately and avoid reusing whatever setting caused the issue until you understand what went wrong; do not keep experimenting on a save with no backup.
  • Everything connects, but the specific game pairing (for example, a Gen IV and a Gen V title) will not trade: Union Room trading between different generations is more inconsistent than same-generation trading; stick to Gen IV-to-Gen IV pairings for the most reliable results.
  • Audio or video stutters when running two instances at once: Lower each instance’s resolution scaling or disable any heavy shader/filter options; DS-era games do not need high internal resolution to look sharp, and two instances compete for the same GPU.

A quick network-level sanity check, run from a terminal on either machine, confirms whether the two computers can even see each other before you blame the emulator:

# From Player 1's machine, replace with Player 2's local IP address
ping 192.168.1.42

# If this times out, the machines cannot reach each other on the network
# and melonDS will never connect regardless of in-app settings.

Advanced Tips for a More Reliable Setup

Once basic trading works reliably, a few extra habits make repeat sessions smoother and reduce the odds of a bad session wiping hours of progress.

  • Keep a dedicated “trading” save slot separate from your main playthrough save. If you trade frequently, cloning your main save into a secondary slot before each session means a corrupted trade save never touches your primary progress.
  • Wire both machines with Ethernet when possible instead of relying on Wi-Fi. Wired connections are far less likely to drop mid-trade, and DS-era netcode has essentially no tolerance for interrupted packets during a trade animation.
  • Watch the melonDS project’s own changelog before updating mid-project. Because local wireless is still actively being refined, an update that lands mid-trading-session testing can change menu layouts or default settings without warning. Update between sessions, not during one.
  • Document your exact working configuration once you find it. Screenshot or write down the specific settings, adapter choices, and folder layout that worked on your machine. Community reports show that correct settings vary meaningfully by operating system and by build, so what works for someone else’s guide may need small adjustments on your setup.
  • If you plan to trade regularly with the same person, standardize your setup together. Agree on which of you hosts, which connection mode you both use, and keep both of your melonDS builds on matching versions. Version mismatches between two players are a frequently overlooked source of one-sided connection failures.

The Complete Working Project: A Two-Instance Trading Setup

Pulling every step above together, here is the finished project structure and workflow for a melonDS trading setup you can reuse every time you want to trade.

  1. Two separate melonDS folders (melonDS-P1, melonDS-P2), each with its own BIOS, firmware, ROM, and save files.
  2. A backups folder holding timestamped copies of both .sav files, updated before and after every trading session.
  3. A launch script (or two desktop shortcuts) that starts both instances with matching network/Wi-Fi settings.
  4. Firewall rules on both machines explicitly allowing melonDS traffic, confirmed in advance rather than discovered mid-session.
  5. A documented, working settings profile (connection mode, adapter choice, socket binding) that you know works on your specific hardware.

With that structure in place, a typical trading session looks like this: run the launch script, wait for both instances to reach their title screens, load each save, walk both characters to a Pokémon Center’s Union Room, open the local wireless menu on each side, complete the trade, save on both instances, close cleanly, and copy the fresh .sav files into the backups folder. Once you have done this sequence once successfully, repeat sessions typically take under five minutes.

melonDS vs. Playing on Real DS Hardware

It is worth setting expectations against the original experience this setup is recreating. On real hardware, two DS consoles sitting a few feet apart would connect over their built-in wireless radios almost instantly, with no firewall rules, adapter selection, or BIOS file management required. melonDS reproduces the end result, a successful Union Room trade, but the path there involves more manual configuration because it is emulating consumer hardware rather than running as that hardware. That trade-off is the price of being able to run Generation IV Pokémon games, and trade between them, entirely from a modern PC, Mac, Linux desktop, or Steam Deck, years after the official Nintendo Wi-Fi Connection service that originally supported online trading went offline for good.

For players weighing melonDS against other DS-focused tools, a broader overview of how to trade Pokémon across different emulator setups is available from momoproxy’s rundown of trading on emulators, which covers the general landscape beyond melonDS specifically. The steps in this tutorial, however, are built and tested around melonDS’s own local multiplayer implementation rather than a generic cross-emulator approach, since BIOS handling, save file structure, and network configuration differ meaningfully between emulator projects.

Frequently Asked Questions About melonDS Multiplayer Trading

Do I need two separate computers to trade Pokémon on melonDS?

No. melonDS supports running two instances on the same machine using local mode, which is how most players trade between two of their own save files. Two computers are only necessary if you are trading with another person who owns their own copy of the game.

Can I trade over the internet instead of a local network?

melonDS’s built-in Wi-Fi feature is designed for local wireless connections, the same ad-hoc short-range system the original DS hardware used for Union Room trading. Trading over the open internet falls outside that built-in feature and depends on separate community tooling rather than anything covered in this local-setup tutorial.

Why does the basement Wi-Fi room in Pokémon Centers not work?

The basement Wi-Fi room depended on Nintendo’s original Wi-Fi Connection service, which Nintendo discontinued years ago. That infrastructure no longer exists for any device, emulated or real. Trading through melonDS works through the Union Room on the second floor instead, which uses local wireless rather than Nintendo’s defunct internet service.

Which Pokémon games work best with this melonDS trading setup?

Generation IV titles, Pokémon Diamond, Pearl, Platinum, HeartGold, and SoulSilver, are the most consistently reported to work well with melonDS’s local multiplayer trading, since they all share the same Union Room trading mechanics. Some Generation V titles have also been reported to work in community testing, though documentation and consistency are less thorough than for Generation IV.

Do I need BIOS files, or can melonDS run without them?

melonDS’s DS-mode emulation is designed around real console BIOS and firmware dumps (bios7.bin, bios9.bin, and firmware.bin), which you must source from a DS or DSi console you own. The project does not provide these files and running without correct BIOS files will prevent the emulator from booting properly in DS mode.

Can I use this same setup on a Steam Deck?

Yes, but the Steam Deck’s local multiplayer support for melonDS currently requires switching into Desktop Mode. EmuDeck’s setup documentation specifically notes that running two instances for local multiplayer is not currently supported through the Deck’s standard Gaming Mode interface.

What should I do if my connection worked once but stopped working after an update?

Check the current build’s Wi-Fi or multiplayer settings panel directly rather than assuming your old settings still apply. Because melonDS’s local wireless feature is still being actively refined, menu wording and default behavior have changed between releases, so a setting that worked on one version may need to be reconfigured, or may simply have moved, after updating.

Is it safe to trade using save files from ROM dumps I did not create myself?

This tutorial assumes you are working with legitimately owned game copies and your own dumps. Always back up any save file before connecting it to another instance for a trade, since a failed connection or interrupted trade animation can corrupt save data regardless of where the original dump came from.

Marcus Chen

Marcus Chen

Gaming & Consumer Tech Editor

Marcus Chen is a senior editor at Tech Insider, where he leads coverage of the US online gaming market, including sweepstakes and social casinos, alongside consumer technology. He evaluates operators on their published terms, licensing and RNG certifications, stated redemption policies, and corroborating independent reporting, and writes plainly about what the evidence supports. Tech Insider does not run first-party money tests and does not gamble with reader funds. Marcus has reported on the technology and online-gaming industries for more than a decade.

View all articles