From DeSmuME
Revision as of 17:14, 16 April 2009 by (Talk)
Jump to: navigation, search

DesMuMe Faq

If the FAQ is unable to answer your question(s), then please make sure that you also consult the manual.


General Questions

What does desmume emulate and on what systems?

Desmume attempts to emulate, as faithfully as possible, the Nintendo DS and Nintendo DS Lite handheld game consoles (nds). It currently runs on Windows, Linux, and mac OSX. DSi is not supported.

What does DeSmuME mean?

DeSmuME is a Nintendo DS emulator and the name is a play of words - DS Emu + ME (like FlashMe - firmware hack and PassMe mod-chip for DS) The name DeSmuME derives from the popular use of ME in Nintendo DS products by homebrew developers. So DeSmuME would equal DSemuMe. Other popular uses of ME include:

  • LoadMe - a generic patcher for commercial DS roms that works with any GBA Flash Card
  • PassMe - "mod-chip" using which takes authentication from an original DS card an allows execution of unauthenticated DS rom code - from the GBA cartridge slot / GBA flash card.
  • FlashMe - a hacked firmware for DS that allows you to start code in DS mode from a flash card in the GBA slot.
  • WifiMe - are a set of a custom drivers and software by FireFly for RALink based wireless network cards enabling to boot homebrew code on DS via Nintendo Wireless Multiboot method.

Why doesn't my desmume play this game?

  • Go to desmume.org and make sure you are using the latest version. Hint: desmume 0.8 and 0.3.4 are very old. Older versions will not be supported, under any circumstances.

Why does this game fail to save?

  • Desmume's autodetection for save types is not very good. For now, you need to manually specify the correct save type for your game. Consult the manual for details on how to do this for your platform. We want to fix this, but there are no specific plans so far. You may also consult http://www.advanscene.com/ to easily identify the save type for your game.

Can I use my savefile's acrosss versions ?

  • Probably not. Due to the constant internal changes sin desmume, it is unlikely that a savefile created with one version will work with another version of desmume

Why can't I find a mac binary?

Why does my mac binary say something about being unsupported?

  • There is no universal mac binary. Only i386 is supported. I blame the big endians. If you don't like this, better volunteer yourself to fix endian issues in the code (every day, I see something new that makes me say 'hmmmm that doesnt look endian safe')

Where can I report bugs?

  • In the official bug tracker; you may also request features around the same location, too, but in the other trackers.

Can I attach files to bug reports I did not create myself ?

  • SourceForge likes for folks to only respond on items they submit. If you see a ticket that represents something you are encountering, SourceForge doesn't necessarily want you commenting on that. The reasoning for this given by SourceForge is that they feel it is best to open your own ticket, which helps appreciate the extent of issues in many cases.

How do I get the latest svn code and build desmume myself?

What compilers are supported for building desmume from source ?

  • At the moment, fopr Windows Microsoft Visual C++ 2005 and 2008 are the only supported compilers. For Linux, any recent version of GCC and toolchain should work.

Whats 'svn' ?

svn is a developers tool. It's used to let multiple developers work on the same codebase without conflicts. If youre an end-user, don't worry about it. And if you're a developer, see the question on how to get the latest svn code and build desmume yourself. See wikipedia for more info

It is hard to zoom in on a widescreen display due to the weird aspect ratio of the DS.

In fact it is hard to zoom in on a 4:3 screen, too. Proposals involve tearing apart windows and floating them side by side or separately or something. This may happen one day, in the form of side by side windows.

Why doesn't my openGL 3d work in linux?

Blame nvidia and ati for putting out shoddy drivers. Then switch to software rasterizer.

Why doesn't my openGL 3d work in windows?

You are probably using an ATI video card. ATI driver support of OpenGL is known to be poor. Get an nvidia. Do not argue with that, we are professional programmers and know what we're talking about. Or, switch to software rasterizer

Why doesn't a menu option or tool exist in my linux or mac build?

Because making portable tools and platform harnesses are not our cup of tea and so a developer puts a feature into whichever ports he cares about. This policy is never going to change, although some features might migrate to other platforms over time. Better check the manual.

Why does music sound bad sometimes?

Most DS music is sequenced music, loaded from the cart to the ARM7 entirely when the level loads. This works fine. Your music that doesn't work is probably streaming music, which loads from the cart on the fly and goes straight to the speakers. This is much harder to emulate as it requires correct timing, which is not one of desmume's strengths right now. This may not be fixed for a while.

Why doesn't my game boot or progress into the main game engine?

Desmume is not perfect yet. Some games may fail due to wifi emulation. Apparently if you search the web correctly you can find ways to patch games to work better on emulators.

What hardware features are emulated?

  • All known 2d graphics features are correct. Mosaics work but are imperfect. There may be small issues with colors as the correct color bit depths are not used at all points in the pipeline.
  • All 3d features are emulated, except for: tests, wireframes, edge marking, fog, and antialising. The opengl engine is near its limit and renders some things incorrectly. Eventually the software rasterizer (will support more features and be far more precise in the basic features. Both engines have trouble with some shadows, but software rasterizer is better. Software rasterizer has some noticeable texturing issues right now, especially in 2d games. Software rasterizer supports more correct lighting interpolation than opengl ever will (e.g. glitches at the edge of the screen while scrolling.) In software rasterizer, there are issues similar to 2d with incorrect bit depth being used in the pipeline. There are inaccurate edge conditions in each renderer; in opengl, textures tend to get overdrawn; in software rasterizer, edges of textures tend to be jittery.

One last thing -- if buttons and labels and menus rendering on the 3d screen are obscured (for example, a button but no label is on it) then you may need to use the software rasterizer.

  • All sound features are emulated. The microphone support is new and the manual should be consulted, where you will find out, among other things, that it is only supported in windows right now.
  • Wifi is not supported. It is currently under slow and incomplete development. Therefore, you may find this option missing, or simply 'greyed-out' for now. Also, since WIFI support does not work yet, don't ask any questions about it's functioning because it still is unfinished and does not work yet.
  • We are unaware of any outstanding issues in the core system hardware (cpu, dma, mmu) but there are certainly still some. The instruction and memory timings are quite incorrect; however, this seems not to hurt most softwares.
  • DLDI does anybody know if this still works?
Dynamically Linked Driver Interface, commonly known as DLDI, is a driver framework that allows NDS and GBA homebrew to easily read and write to any number of different devices, just by substituting a driver file.
  • RTC (real-time clock) works; This is what makes the time in your games stay at 00:00:00, and what makes your random number values always come up the same.

Does the GDB stub still work?

This has not been built into the public releases, nor has the feature been tested in a while. If you want to be a test user, please hop on IRC and coordinate with us.

Where/what is IRC?

IRC is an on-line communication system.

data you need:

  • server: irc.freenode.net
  • port: 6667
  • channel: #desmume

what to use:

  • mIRC - windows
  • ChatZilla - FireFox add-on
  • xchat - X
  • plenty other, see wikipedia

Where is the manual?

A manual for desmume is over at http://wiki.desmume.org/index.php?title=Manual. It may not have the information that other entries in this FAQ promised that it would.

Why is the emulator slow?

Because nobody pays us to work on it full time and it runs fast enough for us to be happy. Well, almost. The cheapest way to get 60fps is to buy the cart. Buying a newer, faster computer is somewhat more expensive, and it has other side benefits. Also, if you are in Windows, make sure you have tried the SSE build which helps a little bit. Additionally, if you are using someone else's interim build it might not be fully optimized since we make our Windows releases using some profiler-guided optimization which helps by several FPS. You could try turning off the sound. And one last thing: try a new video card. But only as long as it is an nvidia. Also, a faster CPU is more helpfull than a bleeding edge graphics card. desmume is more CPU intensive than it is GPU intensive. It just needs a graphics card that is glitch-free, and currently the nvidia cards have a better track record.

Does desmume support wifi ?

Wifi is not supported. It is currently under slow and incomplete development. Therefore, you may find this option missing, or simply 'greyed-out' for now. Also, since WIFI support does not work yet, don't ask any questions about it's functioning because it still is unfinished and does not work yet. Furthermore, current development activities focus mainly on the Windows build.

Why do I get an assert in wifi.cpp which keeps me from playing a game?

This was a glitch in 0.9.2 release. The download package has been replaced. Download it again and check the changelog to see if you have the fixed version.

OK, then why does it make my firewall alert since 0.9.2 ?

Your firewall is stupid, or winsock is stupid, (I am not sure which yet) for alerting just when winsock gets initialized. The emulator hasnt actually tried to connect to the internet yet. How could it? There isn't any wifi. All we are doing is some network initialization code. For those of you who are still not satisfied, then I will admit that there is actually some wifi code--but it doesnt actually do anything yet! Except alert your firewall. Sorry. Also, maybe that is actually a good, unobtrusive time for firewalls to alert. But I am not sorry for calling them stupid. They are hyperactive crybabies.

Does desmume support the microphone ?

Yes, but only on the Windows port. You do have to have an actual microphone attached to your PC, though. And perhaps somewhat confusing, the Linux ports do report 'Microphone successfully initialized' on startup of the emulator - but currently this is just a piece of stub (dummy) code used only to correctly start the emulator.

Where can I find technical details on the Nintendo DS and GBA ?


What is DLDI ?

let me give you an overview on DLDI. You should know that there are many various flash cartridges for DS. They use different file allocation systems, different storages, etc. They are used for launching homebrew. So to make one proram run on all cards. You’d have to write support for each and every card so that it worked for everyone. But none needs support for other cards than their And then genial solution was found. There was an universal IO unit made that’s just interface to IO operations. If you don't have a DS, why do you bother with desmume ? You surely don't have bought any game to run on it. And compiled program does not know how to handle file system etc. And then user can append IO routines for his own card. “DLDI patch”. So, now when I have an M3 cart. I download rom, patch it with m3 DLDI patch. And it works on my cart. Say you had Supercard instead. You’d have to download very same rom and apply Supercart DLDI patch to it. DLDI patch is the same for all roms. So it’s easy for both developper and end user.

I get the error: Data could not be accessed. Turn off the power and reinsert the DS card.

The automatic savetype detection probably failed to detect the correct savetype, and you have to set it manually to the correct type. If you are lucky, information about your game (and the corresponding savetype) can be found on a website such as http://www.advanscene.com/. And if you're not as lucky, you'll just have to try them all out until you find the correct type.

How can I post a screenshot file on the desmume forum ?

You can create a screenshot, and then upload it to a free external service provider like ImageShack (http://imageshack.us/), and then put the provided links to the page in the message you post on the forum.

How can I post a savefile or avi capture on the desmume forum ?

After you created it, yo can upload it to a free external service provider like MediaFire (http://www.mediafire.com/), and then put the provided links to the page in the message you post on the forum.

How can I post a large log or other text file on the desmume IRC chat room ?

Make use of the external service provider 'pastebin' (http://pastebin.com/), and post the url to it on the IRC channel.

My display is incorrect or corrupted

Try switching the 3D Renderer from opengl or SoftRasterizer, or vice versa, to see if that resolves the bug. In windows, the default hotkey to do this quickly is numpad minus.

What are the origins of DeSmuME ?

DeSmuME is a freeware emulator for the Nintendo DS created by YopYop156.

Due to change in French laws regarding emulation YopYop has decided to stop development of DeSmuME Nintendo DS emulator but that doesn't mean that DeSmuME is obsolete - programmers in this project have picked up where Yopyop left off. The original website was http://yopyop156.ifrance.com/.

Yopyop said:

It’s release under GPL. I have just removed the new 3D engine because it’s too much bugged. Hopefully it will be helpful for some of you.

The latest statement heard from yopyop was :

DeSmuMe project is over.
You may don’t know but there are a new law in France that could put me in big trouble.
With DeSmuMe, I have closed the doors of game company but I can not offer to pay for it.
The worst thing is that I have found the bad coded instructions.
For those how have download the sources you have to look in sbc, rsbc instructions the Carry flag updating is wrong.
Sorry for the home brew programmers.
For the illegality the demonstration seemed to me convincing thus without proof clarify I prefer to stick to this decision.
It is also the fact that few people seem interested by the project. Put besides some people who sent demonstrations to me which did not go, I received only malls to wonder to make function such or such plays or to ask me why moved is in French .
Thus I will not do something of useless and illegal.
For the site it would not obstruct me if there were not the bond on the left which does nothing but add to confusion on the goal of the project.
And for the sources it is the same problem as for the project.
good week end
edit the law relates to the royalties and the rights close, not?
Personal tools