Running New Super Mario Bros. Online on Your Computer
If you are looking to play New Super Mario Bros. with friends over the internet, you are likely dealing with a mix of emulator software, network configuration, and a lot of trial and error. The situation is messier than it sounds. Nintendo has never released an official online version of New Super Mario Bros. for the DS, so everything out there is community-made or ROM-based. That means you need to set up the right emulation stack before you even think about connecting to anyone. I spent roughly three weeks sorting this out after a group of us wanted to play co-op on a late Saturday night. The first problem I ran into was frame sync across connections. DS emulation already struggles with perfect timing on a single machine. Add latency from two different internet connections and the game desyncs within thirty seconds of starting a level. The workaround I ended up using was turning on the frame delay limiter in the emulator settings, capping it at 15 milliseconds per player slot, then running a local test match with a friend on a different continent. It didn't fix everything, but it made the gameplay actually playable instead of a stuttering mess.
How new super mario brothers online actually works
The method most people use involves an emulator like DeSmuME or Drastic on Android, paired with a networking wrapper that simulates the DS's local link cable over the internet. There are a few projects that handle this translation, and they work differently from one another. Some use UDP with client-side prediction. Others use a simpler TCP relay that is slower but more stable on high-latency connections. The version you pick depends entirely on your internet quality and the quality of your friend's internet. If either of you is on mobile data with fluctuating ping, TCP will feel more consistent even though it introduces slightly more input delay. You will need the game ROM file separately. The emulator does not come with it. Make sure you are sourcing a clean dump that matches the NTSC-J or NTSC-U version depending on your region, because multiplayer compatibility between ROM variants is not guaranteed. I learned that the hard way when my friend and I couldn't connect for an hour because neither of us realized one of us was running a European PAL dump. The games literally could not handshake with each other.
Setting up the emulator itself is the straightforward part. Install the emulator, load your ROM, then find the networking or multiplayer section in the configuration menu. Look for options like LAN multiplayer over internet, serial link emulation, or DS link emulation. Enable the host or join function depending on whether you are the one starting the session. Port forwarding is usually required on the host's router. Open port 50000 through 50100 on TCP and UDP, though some projects use different ranges. Check the documentation for the specific tool you are using. Skipping this step is the most common reason people fail to connect after everything else is configured correctly. One thing nobody warns you about is audio sync. When you add networked multiplayer to DS emulation, the audio buffer often drifts from the video. The fix is to adjust the audio latency slider in the emulator while the game is running, not before. I found that setting it to around 120 milliseconds eliminated the stutter without making the controls feel noticeably laggy. If you push it lower, you get crackling. Higher and the game feels sluggish during boss fights, which is rough in NSMB where precise jumping matters.
👉 Clique no botão abaixo para saber mais sobre o assunto!
There is also the issue of save states during online sessions. Save states do not translate well across networked players because each emulator instance maintains its own memory state. If one player saves and the other does not, resuming later can corrupt the level progress or trigger soft locks. I just stopped using save states entirely during online sessions. It is annoying, but it prevents save corruption that takes twenty minutes to diagnose. The honest part of this is that the experience is not smooth. Even under ideal conditions, you are looking at 2 to 4 frames of input delay per player, plus whatever latency your connection adds. Competitive multiplayer is a bad idea. Casual co-op where you are just completing levels together works fine if both players have below 80ms ping to the relay server. Anything above 120ms and you will find yourself jumping into pits because your inputs are arriving late on the other person's screen.
If you want a more reliable alternative, there are fan-made multiplayer ports that were built from scratch with networking as the core feature rather than bolted on afterward. These tend to handle desync better and do not require ROM dumping or emulator configuration. They are harder to find because they circulate on niche forums and GitHub repos. A lot of them are written in JavaScript and run in the browser, so you do not even need to install anything. The tradeoff is that they sometimes miss features from the original game or run at lower resolution. Another alternative is to host a room through a platform like Hamachi or a dedicated voice chat app with screen sharing. This removes the networking wrapper entirely and runs the emulator locally on one machine while everyone watches and takes turns or plays in split-screen if the emulator supports it. It is less elegant, but it eliminates every single desync problem because there is no networked input transmission happening at all.
Search for the project by name rather than just typing "new super mario brothers online" into a search engine, because generic searches mostly return ads for sketchy download sites and fake executables. The real tools are usually hosted on GitHub, ROM-related forums, or fan project pages. Check the last commit date, the issue tracker, and whether the project has recent downloads or active discussion. Anything older than two years is probably incompatible with modern operating systems or broken dependencies. One final note on performance. If your computer is not very powerful, running DS emulation with networking overhead can drop your frame rate to 20 or 25 fps on integrated graphics. Switch the emulator to software rendering mode and lower the internal resolution to half before enabling multiplayer. It makes the visuals worse, but the game becomes playable again without constant frame drops that make timing-based jumps nearly impossible.