Editing DeSmuME

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 2: Line 2:
 
|logo = Desmume.png
 
|logo = Desmume.png
 
|logowidth = 100
 
|logowidth = 100
|version = {{Version|DeSmuME}}
+
|version = 0.9.11 <small>(Stable)</small>
 
|active = Yes
 
|active = Yes
 
|platform = Multi-platform
 
|platform = Multi-platform
 
|target = [[Nintendo DS emulators|Nintendo DS]]
 
|target = [[Nintendo DS emulators|Nintendo DS]]
|developer = YopYop156<br/>[http://wiki.desmume.org/index.php?title=DeSmuME:About#DeSmuME_current_team DeSmuME Team]
+
|orig-developer = YopYop156
 +
|developer = Guillaume Duhamel, Normmatt, Bernat Muñoz <small>(shash)</small>, Riccardo, Magliocchetti, Max Tabachenko <small>(CrazyMax)</small>, zeromus, Luigi__, adelikat, matusz, pa__, gocha, Allustar, amponzi, Anthony Molinaro, ape, Damien Nozay <small>(damdoum)</small>, delfare, Romain Vallet, snkmad, Theo Berkau, thoduv, Tim Seidel <small>(Mighty Max)</small>, Pascal Giard <small>(evilynux)</small>, Ben Jaques <small>(masscat)</small>, Jeff Bland
 
|website = [https://desmume.org/ DeSmuME.org]
 
|website = [https://desmume.org/ DeSmuME.org]
|source = [https://github.com/TASEmulators/desmume GitHub]
+
|source = [https://github.com/TASVideos/desmume GitHub]
|license = GNU GPLv2
 
 
}}
 
}}
 
+
'''DeSmuME''' is an open-source [[Nintendo DS emulators|Nintendo DS emulator]]. It is the most accurate Nintendo DS emulator and is actively developed by YopYop156. It can be run from the command line directly or as a graphical program.
'''DeSmuME''' is an open-source [[Nintendo DS emulators|Nintendo DS emulator]]. It is the most accurate Nintendo DS emulator and is actively developed by the DeSmuME Team. It can be run from the command line directly or as a graphical program.
 
  
 
The regular version now allows for increasing internal resolution.
 
The regular version now allows for increasing internal resolution.
Line 19: Line 18:
  
 
==Download==
 
==Download==
{| cellpadding="4"
+
*[https://desmume.org/download/ DeSmuME Stable & Dev Builds]
|-
 
|align=center|{{Icon|Win-big}}
 
|'''[https://desmume.org/download/ Stable & Nightly releases]'''
 
|-
 
|colspan="3"|<hr/>
 
|-
 
|align=center|{{Icon|Win-big}}
 
|[https://nightly.link/TASEmulators/desmume/workflows/build_win/master/desmume-win-x64 Latest Dev build]<br><small>Requires [https://www.microsoft.com/en-us/download/details.aspx?id=52685  Microsoft Visual C++ Runtime]</small>
 
|-
 
|align=center|{{Icon|3DS}}
 
|[https://github.com/shutterbug2000/DeSmuME/releases/tag/v0.1-confandselect 3DS Port]<br><small>(Inactive)</small>
 
|-
 
|align=center|{{Icon|Wii}}
 
|[http://code.google.com/p/desmumewii/downloads/list Wii Port]<br><small>(Inactive)</small>
 
|}
 
  
 
==Issues==
 
==Issues==
 
DeSmuME uses [[Wikipedia:DirectInput|DirectInput]] if an [[Xbox 360 emulators|Xbox 360]] controller is being used. No support for [[Wikipedia:DirectInput#XInput|XInput]] exists. This will be noticeable if an Xbox 360 controller's LT and RT inputs are mapped to emulate the DS's L and R buttons respectively.
 
DeSmuME uses [[Wikipedia:DirectInput|DirectInput]] if an [[Xbox 360 emulators|Xbox 360]] controller is being used. No support for [[Wikipedia:DirectInput#XInput|XInput]] exists. This will be noticeable if an Xbox 360 controller's LT and RT inputs are mapped to emulate the DS's L and R buttons respectively.
  
Several features aren't supported by DeSmuME and aren't parts of its future as per the emulator's current design philosophy. They include:
+
Several features aren't supported by DeSmuME and aren't parts of its future as per the emulator's current philosophy and ''creative differences'', so don't hold your breath for them or pester the developers about them. They include:
 
*DS Download Play
 
*DS Download Play
 
*DS Local Play (local multiplayer)
 
*DS Local Play (local multiplayer)
 +
*DS Wi-Fi Play (online multiplayer) - ''working, fork-only, removed from main due to creative differences''
 
*DSi emulation (DSi-enhanced retail, DSi-exclusive retail, DSiWare)
 
*DSi emulation (DSi-enhanced retail, DSi-exclusive retail, DSiWare)
 
*DS/Wii Connectivity
 
*DS/Wii Connectivity
  
A DeSmuME fork with online multiplayer, which includes functional code that made it to official version 0.9.7 before being removed, is available and has been improved to allow for limited dumping of online data prior to the server shutdown in 2014, as well as a version allowing for using online play for a select few games and downloading DLC data from alternative servers with the backed-up data.
+
StapleButter was working on some of these features and left the project due to ''creative differences'' directly related to these features, to eventually start his own Nintendo DS emulator, [[melonDS]]. A DeSmuME fork with online multiplayer, which includes functional code that made it to official version 0.9.7 before being removed due to ''creative differences'', is available and has been improved to allow for limited dumping of online data software prior to the server shutdown in 2014, as well as a version allowing for using online play for a select few games and downloading DLC data from alternative servers with the backed-up data.
  
At some point in 2010, development on these features was permanently discontinued and the developers distanced themselves from the above-mentioned fork. The official team stance on this is as follows, and is as clear as it can get:
+
At some point in 2010, development on these features was permanently discontinued due to ''creative differences'', and the developers distanced themselves from the above-mentioned forks. The official team stance on this is as follows, and is as clear as it can get:
  
 
::''As you may have come to find, Release versions and WIP builds distributed by DeSmuME developers do not have the Wi-Fi menu enabled, while builds provided by dodgy scener sites or the one your best friend in the whole wide world has handed to you on a USB key does.''
 
::''As you may have come to find, Release versions and WIP builds distributed by DeSmuME developers do not have the Wi-Fi menu enabled, while builds provided by dodgy scener sites or the one your best friend in the whole wide world has handed to you on a USB key does.''
Line 54: Line 39:
 
::''The developers have no current interest for furthering the development of the EXPERIMENTAL_WIFI, and the current state of the DeSmuME source code might have even completely broken it.''
 
::''The developers have no current interest for furthering the development of the EXPERIMENTAL_WIFI, and the current state of the DeSmuME source code might have even completely broken it.''
  
It was also deemed that the Dynamic JIT recompiler was a poor fit for the DeSmuME project and as such a fork called "DeSmuME 0.9.9 JIT" including it was made, and some used to recommend it over the mainline project. Much later, like with the internal resolution feature, a compromise was reached and a slightly different implementation was since included in the main project after 0.9.11.
+
Also due to ''creative differences'' it was deemed that the Dynamic JIT recompiler (which adds a significant speed-up) to be a poor fit for the DeSmuME project and as such a fork called "DeSmuME 0.9.9 JIT" including it was made, and some used to recommend it over the mainline project. Much later, like with the internal resolution feature, a compromise on these ''creative differences'' was reached and a slightly different implementation was since included in the main project after 0.9.11.
 
 
Wi-Fi/Online support has also been re-included in versions 0.9.12 and later.
 
  
 
==Troubleshooting==
 
==Troubleshooting==
Line 70: Line 53:
 
*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.
 
*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==
+
==Graphical Enhancement==
After the increased internal resolutions were implemented in the X432 fork, as well as in [[DraStic]] and even the barebones official Nintendo Virtual Console DS emulator on Wii U, the mainline DeSmuME project developers decided to reconsider and include their own implementation for higher internal resolution.
+
*In 3D games, you can use '''DeSmuME X432R''' as linked below or any recent official build 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.
 
 
Official dev builds now have the option to render at a higher resolution as well, and filter textures to boot. Overall, it's more hardware intensive than X432R's implementation.
 
 
 
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.
 
 
 
 
*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.
 
*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.
 
**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.
Line 85: Line 63:
 
*Recent DeSmuME revisions now add support for texture filtering, greatly reducing pixelation albeit at the cost of blurrier visuals. Some may find this rather jarring or too N64-esque, so it's a matter of individual preference as there's an option to turn it on or off.  
 
*Recent DeSmuME revisions now add support for texture filtering, greatly reducing pixelation albeit at the cost of blurrier visuals. Some may find this rather jarring or too N64-esque, so it's a matter of individual preference as there's an option to turn it on or off.  
  
===DeSmuME X432R===
+
===Internal Resolution and DeSmuME X432R===
Mainline DeSmuME didn't offer any options for higher than native internal resolutions at first. DeSmuME X432R is a 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 newer versions are much faster.
+
====X432R Fork====  
 +
Mainline DeSmuME didn't offer any options for higher internal resolution than native, at first, due to ''creative differences''. 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.
 
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.
Line 92: Line 71:
 
This fork also has some options for configuring sub-screens. This fork is no longer active, and its last version is dated 19-04-2015.
 
This fork also has some options for configuring sub-screens. This fork is no longer active, and its last version is dated 19-04-2015.
  
*[https://web.archive.org/web/20190718184333/http://shikaver01.webcrow.jp/ http://shikaver01.webcrow.jp/] <small>(Wayback Machine)</small>
+
*http://shikaver01.webcrow.jp
 
*Binary of SVN r5043: http://www75.zippyshare.com/v/67167782/file.html
 
*Binary of SVN r5043: http://www75.zippyshare.com/v/67167782/file.html
 +
*http://www.geocities.jp/gponys/desmume_aa.html
 +
 +
====Official Implementation====
 +
After the increased internal resolutions were implemented in the X432 fork (originally contributed to main but rejected due to ''creative differences''), as well as in [[DraStic]] and even the barebones official Nintendo Virtual Console DS emulator on Wii U, the mainline DeSmuME project developers decided to reconsider their ''creative differences'' and include their own implementation of higher internal resolution.
 +
 +
Official dev builds now have the option to render at a higher resolution as well, and filter textures to boot. Overall, it's more hardware intensive than X432R's implementation.
 +
 +
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.
  
 
==Review==
 
==Review==
DeSmuME is currently one of the best available [[Nintendo DS emulators|Nintendo DS emulator]] on PCs, however [[MelonDS]] has been catching up in recent years. It is far better than [[No$|No$GBA]] when it comes to accuracy, though not flawless, and there are some aspects of DeSmuME that are more mature than the MelonDS. However, it's more hardware intensive than most other DS emulators (either No$GBA or emulated DraStic) and many features are not supported.
+
DeSmuME is currently the best available [[Nintendo DS emulators|Nintendo DS emulator]] on PCs. It is far better than [[No$|No$GBA]] when it comes to accuracy, though not flawless. However, it's more hardware intensive than any other DS emulator (either No$GBA or emulated DraStic) and many features are not supported.
  
 
==Gallery==
 
==Gallery==
Line 105: Line 92:
 
</gallery>
 
</gallery>
  
==Guides and info==
+
==Guides and Info==
 
*[https://wiki.desmume.org/index.php?title=Main_Page DeSmuME Wiki]
 
*[https://wiki.desmume.org/index.php?title=Main_Page DeSmuME Wiki]
*[https://wiibrew.org/wiki/DeSmuME_Wii/Compatibility_List DeSmuMe Wii Compatibility List]
 
<!-- ==References==
 
<references/> -->
 
  
 +
==References==
 +
<references/>
 
[[Category:Emulators]]
 
[[Category:Emulators]]
[[Category:Console emulators]]
 
[[Category:Handheld console emulators]]
 
[[Category:Wii emulation software]]
 
 
[[Category:Nintendo DS emulators]]
 
[[Category:Nintendo DS emulators]]
 
[[Category:Windows emulation software]]
 
[[Category:Windows emulation software]]
 
[[Category:Linux emulation software]]
 
[[Category:Linux emulation software]]
 
[[Category:macOS emulation software]]
 
[[Category:macOS emulation software]]

Please note that all contributions to Emulation General Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Emulation General Wiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)