Difference between pages "WonderSwan emulators" and "DeSmuME"

From Emulation General Wiki
(Difference between pages)
Jump to navigation Jump to search
(Moved floss column)
 
m (github link updated)
 
Line 1: Line 1:
{{Infobox console
+
{{Infobox emulator
|title = Bandai WonderSwan/Color
+
|logo = Desmume.png
|logo = WonderSwan-Black-Left.png
+
|logowidth = 100
|image = WonderSwan-Color-Blue-Left.png
+
|version = {{DeSmuMEVer}}
|image2 = WonderSwanCrystal.png
+
|active = Yes
|image3 = SwanCrystal-Wine-Left.png
+
|platform = Multi-platform
|imagecaption = '''Top:''' The WonderSwan.<br/>'''Middle:''' The WonderSwan Color.<br/>'''Bottom 2:''' The SwanCrystal <small>(Blue Violet & Red Wine).</small>
+
|target = [[Nintendo DS emulators|Nintendo DS]]
|developer = Bandai
+
|developer = YopYop156<br/>[http://wiki.desmume.org/index.php?title=DeSmuME:About#DeSmuME_current_team DeSmuME Team]
|type = [[:Category:Handheld consoles|Handheld game console]]
+
|website = [https://desmume.org/ DeSmuME.org]
|generation = [[:Category:Fifth-generation video game consoles|Fifth generation]]
+
|source = [https://github.com/TASEmulators/desmume GitHub]
|release = 1999 <small>(WonderSwan)</small><br/>2000 <small>(WonderSwan Color)</small><br/>2002 <small>(Swan Crystal)</small>
+
|license = GNU GPLv2
|discontinued = 2003
 
|emulated = {{✓}}
 
 
}}
 
}}
  
The '''WonderSwan''', '''WonderSwan Color''' and '''SwanCrystal''' are the fifth-generation handheld game consoles produced by [[wikipedia:Bandai|Bandai]] in 1999, 2000 and 2002, respectively. It is the brainchild of Game Boy/Color creator, [[wikipedia:Gunpei_Yokoi|Gunpei Yokoi]]. There were three versions eventually released: A black-and-white version, a color version, and a  '''Crystal''' version with an improved screen.
+
'''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.
  
==Emulators==
+
The regular version now allows for increasing internal resolution.
{| class="wikitable" style="text-align:center;"
+
 
 +
It is also available as a libretro core for [[RetroArch]].
 +
 
 +
==Download==
 +
{| cellpadding="4"
 
|-
 
|-
! scope="col"|Name
+
|align=center|{{Icon|Win-big}}
! scope="col"|Platform(s)
+
|'''[https://desmume.org/download/ Stable & Nightly releases]'''
! scope="col"|Latest Version
 
! scope="col"|<abbr title="WonderSwan">WS</abbr>
 
! scope="col"|<abbr title="WonderSwan Color">WSC</abbr>
 
! scope="col"|[[Libretro|Libretro Core]]
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
 
|-
 
|-
! colspan="9"|PC / x86
+
|colspan="3"|<hr/>
 
|-
 
|-
|[[Mednafen]]
+
|align=center|{{Icon|Win-big}}
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
+
|[https://ci.appveyor.com/project/zeromus/desmume/build/artifacts Latest Dev build]<br><small>Requires [https://www.microsoft.com/en-us/download/details.aspx?id=52685  Microsoft Visual C++ Runtime]</small>
|[{{MednafenURL|releases}} {{MednafenVer}}]
 
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}
 
|-
 
|[[higan]]
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|[https://github.com/higan-emu/higan/releases {{higanVer}}]
 
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}
 
|-
 
|[[BizHawk]]
 
|align=left|{{Icon|Windows}}
 
|[http://tasvideos.org/BizHawk/ReleaseHistory.html {{BizHawkVer}}]
 
|{{✓}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}}
 
|-
 
|[[MAME]]
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|[http://www.mamedev.org/release.html {{MAMEVer}}]
 
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}}
 
|-
 
|[[Cygne]]
 
|align=left|{{Icon|Windows}}
 
|[http://cygne.emuunlim.com/ 2.1a]
 
|{{✓}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
 
|-
 
|[http://sourceforge.jp/projects/oswan/devel/ Oswan]
 
|align=left|{{Icon|Windows}}
 
|[http://sourceforge.jp/projects/oswan/releases/p5046 1.7.3]
 
|{{✓}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
 
|-
 
|[http://wsonline.emuunlim.com/ WonderScott]
 
|align=left|{{Icon|Windows|Web}}
 
|[https://www.zophar.net/ws/wonderscott.html 0.54b]
 
|{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|[https://www.zophar.net/ws/wscamp.html WSCamp]
 
|align=left|{{Icon|Windows}}
 
|[https://emulationrealm.net/downloads/file/237-wscamp 0.21]
 
|{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|[https://web.archive.org/web/20141105014113/http://www.xe-emulator.com/ Xe]
 
|align=left|{{Icon|Windows|Linux}}
 
|[https://web.archive.org/web/20141022230129/http://www.xe-emulator.com/index.php?m=download 2.16.2]
 
|{{✓}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
 
|-
 
! colspan="9"|Mobile / ARM
 
|-
 
|[[Mednafen]]
 
|align=left|{{Icon|Android|Linux}}<ref group=N name=libretro>Only available as a libretro core (e.g. [[RetroArch]]).</ref>
 
|[{{MednafenURL|releases/}} {{MednafenVer}}]
 
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}
 
|-
 
! colspan="9"|Console
 
|-
 
|[http://dev-e.sakura.ne.jp/ eSwan]
 
|align=left|{{Icon|PSP}}
 
|[http://psp-news.dcemu.co.uk/eswan.shtml 0.09]
 
|{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|pSwan
 
|align=left|{{Icon|PSP}}
 
|0.07
 
|{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|Wonderstation
 
|align=left|{{Icon|PS2}}
 
|[https://www.thetechgame.com/Downloads/id=207041/wonderstation-oswan-ps2-01.html 0.1]
 
|{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{TBD}}
 
|-
 
|OswanDC
 
|align=left|{{Icon|DC}}
 
|[https://emulationrealm.net/downloads/file/1096-oswan-dc 0.15]
 
|{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
 
 
|}
 
|}
<references group=N />
 
  
==Notes==
+
==Issues==
;WSCamp:A WonderSwan and WS Color emulator written by Toshi.  This was the first WonderSwan emulator to feature sound as well as gamepad support, and it has a very high compatibility rate and excellent speed. It was the most accurate WonderSwan emulator at the time in the early 2000's, beating out [[Cygne]] and Oswan.
+
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.
;[[Cygne]]:The first WonderSwan emulator created on the Windows platform, written by DOX and released under the GNU General Public License. It had undergone massive improvements over its original DOS beta form in the early 2000's, including better timing and fixes to the SRAM. Cygne has a high compatibility rate, but lacks in speed and does not offer any sound support. Cygne supports both the original WonderSwan and the WonderSwan Color. However, it was abandoned in 2002.
+
 
;Oswan:Oswan is a WonderSwan/WS Color emulator based on the Cygne source code and authored by David Raingeard. Improvements upon the original Cygne source include the additional of sound support and many speed improvements. Oswan also features the ability to apply several video filters as well as color schemes to add color to WonderSwan Classic titles. It has been abandoned but two variants of it were released in 2007 and 2010.
+
Several features aren't supported by DeSmuME and aren't parts of its future as per the emulator's current design philosophy. They include:
;WonderScott:The second WonderSwan/WSC emulator, this WonderSwan emulator written in JavaScript was authored by Julien Frelat (Gollum) and released by the same team that made Boycott Advance. An online web format of WonderScott was also available at its official website, but is probably permanently inaccessible. It was somehow abandoned after its last version, v0.54b, was uploaded near the end of 2001 with poor compatibility.
+
*DS Download Play
 +
*DS Local Play (local multiplayer)
 +
*DS Wi-Fi Play (online multiplayer)
 +
*DSi emulation (DSi-enhanced retail, DSi-exclusive retail, DSiWare)
 +
*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.
 +
 
 +
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:
 +
 
 +
::''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.''
 +
::''Officially, DeSmuME DOES NOT support the use of builds with Wi-Fi support.''
 +
::''As such, though it may come as a shock to you, requests for help or information about it are thus NOT likely to obtain a response to your satisfaction.''
 +
::''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.
 +
 
 +
==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 your graphics card was designed by Nvidia 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==
 +
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.
 +
 
 +
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.
 +
**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.
 +
*macOS 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.
 +
*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===
 +
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.
 +
 
 +
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.
 +
 
 +
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>
 +
*Binary of SVN r5043: http://www75.zippyshare.com/v/67167782/file.html
 +
 
 +
==Review==
 +
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>
 +
Internal resolution comparion - Assassin's Creed II Discovery.png|Top: native internal resolution (256x192). Bottom: 4x internal resolution (1024x768)
 +
Kit Mystery Challenge nearest neighbour.png|''Kit Mystery Challenge'' running at 2x internal resolution and nearest-neighbour (i.e. DS-style) texture filtering.
 +
Kit Mystery Challenge filtered.png|The same scene in ''Kit Mystery Challenge'', albeit with GL Tex Smoothing enabled. Notice the blurrier floor texture.
 +
</gallery>
  
'''Features & pages on recommended/available WonderSwan/WS Color emulators:'''
+
==Guides and info==
* [http://www.racketboy.com/retro/bandai-wonderswan-101-a-beginners-guide BANDAI WONDERSWAN 101: A BEGINNER’S GUIDE] (July 6th, 2007 by racketboy; updated June 19th, 2018. Old feature covering early WonderSwan emulation. Oswan and WSCamp were the recommended emulators according to the article. Both are too old by now and not recommended.)
+
*[https://wiki.desmume.org/index.php?title=Main_Page DeSmuME Wiki]
* [https://en.wikibooks.org/wiki/PSP/Emulation_List#Bandai_WonderSwan Wikibooks.org] (PSP/Emulation List. 5 old emulators and ports for the PSP.)
 
* [http://www.vtemulation.net/emulators/windows/ws.php VTEmulation.net] (Old list of 3 old, early 2000's recommended emulators. Site no longer maintained.)
 
* [http://www.old-computers.com/MUSEUM/emulator.asp?c=1175&st=2 Old-Computers.com] (List of 5 old, early 2000's emulators. For reference only.)
 
* [https://www.zophar.net/ws.html Zophar's Domain] (List of downloads for 5 old, early 2000's emulators.)
 
  
==Debugging==
+
<!-- ==References==
;[[Mednafen]]:This multi-system emulator is said to have great debugging and cheat engine features but, unfortunately, has a [https://www.reddit.com/r/emulation/comments/3llkck/comment/cv78kj7 CRC check function] similar to default MAME. A CRC check analyses a game ROM file for any change to its data and size, so a fan-translator or ROMhacker would have to edit filenames every time for every change, which is incredibly tedious. This is likely the reason why there have not been many hack and fan-translation patches being provided publicly for any game on several systems that are covered by Mednafen such as Wonderswan (this page's topic), Neo Geo and PC Engine/PCE CD. These systems don't tend to have many good alternative emulators, let alone ones with good quality debuggers.
+
<references/> -->
;[[MAME]]:This well-known emulator of thousands of systems also has a normal CRC check algorithm to insure that the ROM file(s) of any supported game or clone, depending on the database/ROMset for a MAME version, match the data integrity and size of the same game/variant in the records. However, this does make it rather prickly for an aspiring ROMhacker. The MAME developers partly wanted this to reduce the nasty incidences of some sellers pawning circuit boards that were actually stuffed with user-made ROMhacks. There are a few ways around that - note that MAME developers still support genuine fan-translators, even for arcade games.
 
::1) Try using the HBMAME or MAMEUIFX frontend, which may support loading modified ROMs.
 
::2) If you don't zip the set and instead make a folder with the zipname inside your rompath with properly-named loose files inside there, MAME will fuss up, but it will run the game even though the CRCs don't match.
 
::3) With the new GEnie build system, it's pretty easy to build a one-game-off version of MAME that builds in seconds on pretty much any worthwhile PC.
 
:::''make SUBTARGET=rom_name DRIVERS=src/mame/drivers/whatever.c REGENIE=1''
 
;Oswan:A very good, worked and unused emulator. But it has a (poorly working) debugger, so making a hack patch on a WS game can be a lot smoother process with this software's tool than Mednafen's.
 
  
[[Category:Consoles]]
+
[[Category:Emulators]]
[[Category:Handheld consoles]]
+
[[Category:Console emulators]]
[[Category:Fifth-generation video game consoles]]
+
[[Category:Handheld console emulators]]
 +
[[Category:Nintendo DS emulators]]
 +
[[Category:Windows emulation software]]
 +
[[Category:Linux emulation software]]
 +
[[Category:macOS emulation software]]

Revision as of 01:30, 22 October 2021

DeSmuME
Desmume.png
Developer(s) YopYop156
DeSmuME Team
Latest version 0.9.13
Active Yes
Platform(s) Multi-platform
Emulates Nintendo DS
Website DeSmuME.org
License GNU GPLv2
Source code GitHub

DeSmuME is an open-source 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.

It is also available as a libretro core for RetroArch.

Download

Windows Stable & Nightly releases

Windows Latest Dev build
Requires Microsoft Visual C++ Runtime

Issues

DeSmuME uses DirectInput if an Xbox 360 controller is being used. No support for 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:

  • DS Download Play
  • DS Local Play (local multiplayer)
  • DS Wi-Fi Play (online multiplayer)
  • DSi emulation (DSi-enhanced retail, DSi-exclusive retail, DSiWare)
  • 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.

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:

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.
Officially, DeSmuME DOES NOT support the use of builds with Wi-Fi support.
As such, though it may come as a shock to you, requests for help or information about it are thus NOT likely to obtain a response to your satisfaction.
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.

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 your graphics card was designed by Nvidia 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

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.

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 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.
    • 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.
  • macOS 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.
  • 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

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.

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.

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.

Review

DeSmuME is currently the best available Nintendo DS emulator on PCs. It is far better than 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

Guides and info