The original emulator was in French, with user translations to English and other languages. It supported many homebrew Nintendo DS ROM demos, and a handful of Wireless Multiboot demo ROMs.
The original author, YopYop156, stopped developing DeSmuME at version 0.3.3 due to a change of laws regarding emulation in France, which was later discovered to be an April Fool's joke. After receiving feedback he eventually decided to quit anyway, and the source code was released.
Initially, based on the original YopYop code, several independent developers released unofficial builds of DeSmuME. These various developers later united and merged their work, resulting in version 0.5.0 as their first release.
- Interpreter and Dynamic Recompiler CPU emulation engines (Dynamic Recompiler engine only available on x86 and x86-64 host CPUs)
- Software-based and GPU-based (via OpenGL) 3D rendering
- Microphone support (full support only on OS X, partial support on Windows and Linux)
- Cheat management for internal and Action Replay cheats (available on Windows and OS X)
- Automatic save-type detection
- Emulator save states
- Built-in audio/video recorder (available on Windows and Linux)
- Game replays
- LUA scripting (available only on Windows)
- GDB remote debugging
- Display Features:
- Ability to change the size of the NDS displays
- Ability to change the display orientation to a vertical layout or a horizontal layout (available on Windows and OS X)
- Ability to swap the positions of the NDS displays (available on Windows and OS X)
- Display rotation
- Display gap simulation
- Various filters to enhance video quality
- Video V-sync (available on Windows and OS X)
- Multiple display windows, with independent video settings (available only on OS X v0.9.9 and later)
- Heads-up display, for displaying various emulator state information
- GBA Slot (SLOT-2) Device Support: (available on Windows and OS X)
- NDS Emulation Tools: (full suite of tools available only on Windows, partial tool availability on OS X and Linux)
- Individual 2D layer switching
- RAM Watch/RAM Search
- Memory Viewer
- Register Viewer
- Palette Viewer
- Tile Viewer
- Map (BG Layer) Viewer
- OAM (Sprite) Viewer
- 3D Rendering - Matrix Viewer
- 3D Rendering - Lighting State Viewer
- SPU State Viewer
- Nitro File System Viewer
On April 18, 2010, one of the contributors reported that work on Wi-Fi has reached a milestone. It was confirmed Mario Kart DS is possible to link and Worms: Open Warfare 2 can use Wi-Fi to play, albeit limited, multiplayer for 1 round. As of June 18, 2010, Wi-Fi was removed from the emulator by the developers due to actions by Nintendo. A developer reported that the Wi-Fi feature would remain disabled until they could get it "perfect enough to not get noticed again at Nintendo's side".
With the end of Nintendo support for online play of DS games, the issue was rendered moot.
- Video Deposterization (available only on OS X v0.9.11 and later)
- Pixel Scaling: LQ2x, LQ2xS, HQ2x, HQ2xS, HQ3x, HQ3xS, HQ4x, HQ4xS, 2xSaI, Super2xSaI, SuperEagle, EPX, EPX+, EPX1.5X, EPX+1.5X, Nearest1.5X, Nearest+1.5X, Nearest2X, Scanline, Bilinear, 2xBRZ, 3xBRZ, 4xBRZ, 5xBRZ (available throughout various versions for Windows, OS X, and Linux)
- Video Output Filtering: Nearest-Neighbor, Bilinear, Bicubic B-Spline, Bicubic Mitchell-Netravali, Lanczos2, Lanczos3 (available only on OS X v0.9.11 and later)
- Multi-pass video post-processing and filters implemented in both software and as GPU shaders (available only on OS X v0.9.11 and later)
- Support for multisample antialiasing (MSAA) (available on Windows v0.9.11 and later, and on OS X v0.9.9 and later)
- High-resolution 3D rendering (available on Windows SVN r5268 and later, and on OS X SVN r5245 and later)
- xBRZ texture upscaling.
- Mipmapping, bilinear and anisotropic texture filtering.
According to the official wiki project, there are no hard minimum hardware requirements for DeSmuME, but most games will run fairly well on the following operating systems and hardware:
- Windows: XP SP2 or later
- OS X: v10.5.8 Leopard or later
- Linux OS: any recent distribution with a 2.6 kernel
- CPU: 2.0 GHz Intel Core 2 Duo or equivalent
- RAM: 1 GB
DeSmuME has been ported to other systems, including a proof of concept port to the PlayStation Portable. That port has been called "useless" because the PSP does not have a touchscreen, and lacks the processing power to emulate games at full speed. Despite these shortcomings, it proves that successfully running Nintendo DS software on a PSP is possible. There is also a RetroArch/Libretro port.
DeSmuME X432R is a fork that includes some additional features for the Windows port. It is best known for adding an experimental high-resolution 3D renderer long before mainline DeSmuME received that feature.