Difference between revisions of "DeSmuME"

From Emulation General Wiki
Jump to navigation Jump to search
(Internal Resolution and DeSmuME X432R: Found the git commit that added internal resolution core option)
Line 52: Line 52:
 
*http://www.geocities.jp/gponys/desmume_aa.html
 
*http://www.geocities.jp/gponys/desmume_aa.html
  
The latest development version of RetroArch DeSmuME core also has an option to increase internal resolution and can be set from Core Options. This is massively CPU-intensive because only SoftRasterizer exists in RetroArch core.
+
The latest development version of RetroArch DeSmuME core also has an option to increase internal resolution which can be set using '''desmume_internal_resolution''' in Core Options. This option was added in [https://github.com/libretro/desmume/commit/5e430dfbc22f9d54c77f291304a38352ee1e5a63 August 8, 2015 commit]. This is massively CPU-intensive because only SoftRasterizer exists in RetroArch core.
  
 
==Guides and Info==
 
==Guides and Info==

Revision as of 02:23, 19 October 2015

Desmume.png
Current version: 0.9.11
Active: Yes
OS: Multi-platform
Authors: YopYop156, DeSmuME team
Official website: DeSmuME.org
Source code: SourceForge

DeSmuME is a Nintendo DS emulator. It is the most accurate NDS emulator and is actively developed. It can be run from the command line directly or as a graphical program.

Regular version does not allow for upscaling 3D models. However a fork called "DeSmuME X432R" does allow for this.

It is also available as a libretro core for RetroArch.

Download

Review

DeSmuME is currently the best Nintendo DS emulator out there. It is far better than No$GBA when it comes to accuracy.

Troubleshooting

If the game is slow.

  • Enable the dynamic recompiler in Emulation Settings.
  • If it's still slow, you must be running on a toaster. It can't be helped. But try tinkering with things for the fastest settings you can find.
  • Use frameskip as the absolute last resort.
  • If you have an Nvidia card and the OpenGL Display Method (useful for its filter) is stuttering despite reporting good framerate, open the Nvidia Control Panel and turn off Threaded Optimization for this program. What's happening is sequential OpenGL code is being put on different processors running at different speeds, forcing them to wait for each other repeatedly.

If the sound is distorted.

  • Synchronous mode is far less buggy. Method Z seems to work the best in most cases.

If the 3D is messed up.

  • Set it to OpenGL 3.2. Old OpenGL had problems with 3D itself, while SoftRasterizer had alignment issues with 2D. But 3.2 seems to fix most of both.
  • SoftRasterizer's texture alignment issues are supposedly fixed on a per game basis with the newer TXT hack. It now seems to be more compatible and showing more effects than GL3.2. Etrian Odyssey and Dragon Quest V seem to work best with it over GL3.2.

Graphical Enhancement

  • In 3D games, you can use DeSmuME X432R as linked below to increase the internal resolution. It can be surprising how detailed DS textures actually are despite the tiny resolution they were made to be played at. This disables the Magnification Filter option, so if you want to use those post-processing effects for 2D games, you have to set it back to native resolution.
  • The OpenGL 3.2 renderer option in 3D Settings supports Multisampling Anti-Aliasing (MSAA). Turning it on helps the edges of ultra low-res DS polygons and lines smooth out, appear to wobble less during movement, and retain their shape better when viewed from distance. Unlike post-processing effects that modify the still frame after completion and essentially try to guess at the shapes they are smoothing, this effect knows the actual shapes of the polygons themselves.
    • Versions before r5032 had this option for a long time, but it was only put in the GUI at r5032. To turn it on in older versions you needed to change a value from false to true in the source code and recompile it.
  • Another thing you can do is filter it. Make sure OpenGL and Filter are checked under Display Method.
  • Finally, there are a variety of post-processing shaders that can be selected under Magnification Filter. Whether that is simple Nearest 2x or some pixel art scaling filter like HQx or xBRZ is up to you. No post-processing smoothing is perfect, but if you want to use one the xBRZ options are generally the most high-end among smoothing filters present.
  • OS X version of DeSmuME also has support for multi-pass post-processing shaders and filters which Windows version currently doesn't have.
  • Leaving it native and aligning it to a CRT (Set to a 384 high resolution) is also an option, if you feel like going through the effort.
Top: native internal resolution (256x192). Bottom: 4x internal resolution (1024x768)

Internal Resolution and DeSmuME X432R

Mainline DeSmuME does not offer any options for higher internal resolution than native. However, DeSmuME X432R is DeSmuME fork with the option to increase internal resolution. Be warned that this option is very system-intensive. There have been reports of people who can run Dolphin and PCSX2 at a perfect pace but can't run this at full speed using increased internal resolution, however newest versions are much faster.

While generally more accurate, the SoftRasterizer is massively CPU-intensive in this mode, whereas the OpenGL renderer shares the load with your GPU. This can be considered a speedup option, but it also boasts an MSAA option unavailable to SoftRasterizer.

The latest development version of RetroArch DeSmuME core also has an option to increase internal resolution which can be set using desmume_internal_resolution in Core Options. This option was added in August 8, 2015 commit. This is massively CPU-intensive because only SoftRasterizer exists in RetroArch core.

Guides and Info

DeSmuME Wiki