NOTE: This refers to the 0.9.5 revision of desmume, and may or may not accurately reflect any other revision.
In this version, we have focused on trying to clean up some complexities in the user experience and emulator internals. Pretty unglamorous stuff, but some games are newly compatible. This entry was posted on Thursday, November 28th, 2013 at 2:09 am and is filed under Releases.
Contents
|
When you start the emulator for the first time, you probably just want to play a certain game. You can do this by going to 'File' in the menu, and selecting 'Open Rom'. This will open up an explorer window, within which you can browse to the rom (nds file) that you wish to play. Once the game has finished loading (and this should only take a few seconds at most), your game will automatically start running. But if you want, you can also compile from source. See the article Installing DeSmuME from source on Windows for details.
The rest of this manual will be spend on explaining all the other options in the menu.
This option is for loading games. A game is typically called a rom file. Just use the explorer window to browse to the file, and click on open. The game should just load and start. The desmume windows port is also able to load some compressed formats, like zip, rar, and 7z. Just as long as there is a valid game (rom) file in the compressed archive ending with an .nds extension, it should load fine.
This menu option contains a list of the roms that you have most recently loaded. You can quickly access a game that way, without having browse to the right directory with the 'Open Rom' option.
This option offers some information about the internals of the rom file, like name, code, manufacturer, and size. This should not concern the casual gamer, but may come in handy for developers.
Just ends the current game and leaves the emulator more or less how it was when you first launched it.
Imagine you have gotten to a certian point in a game, and you need to do something else. The emulator let's you save the current state of the game, so that you can continue the game later at precisely the same point somewhere in the future.
Please note that the use of SAVESTATES is discouraged, as these are likely to break between emulator versions. Instead use SAVE FILES. These are likely to survive between emulator versions. This means that you will have to use save points within the game. SAVE FILES are stored in .dsv files.
Once you have saved a game's position, or 'state', you can load it again with this option.
This option works fairly similair to the 'Save As' option, altough it let's you save numbers instead os specifying a chosen name. Also, All the states saved via this option end up with a pre-determined name of 'game (rom) name'.dsx. So if the game is called MyGame, the first savefile will be called MyGame.ds0, the second one MyGame.ds1, etc.
This option let's you load the states that you saved via the 'File | Save State' option
Backup Memory is the data the game uses to remember its own state. It is stored on the cart in a normal game. Desmume uses the .dsv extension and file format; other formats which can be imported are .duc and raw .sav, as well as no$gba savefiles (also using the .sav extension). People use pro action replays to capture duc files from their card and post it online without using emulators. These are frequently found on gamefaqs.com. See the faq for details on how to use this function, where it has been documented better.
This lets you export the game's state for use in other Nintendo DS Emulators. It will write a 'raw' sav file or a no$gba savefile.
This lets you take a screenshot of the current view of the emulator, and specify it's name to save as a bitmap (.bmp) file.
This option also dumps a screencapture, but it has a pre-determined filename and location. The name will be based on the name of the rom and somehow sequentially numbered, and placed in the directory specified in the Path Settings.
This option lets you capture what's going on in the emulator, and save it in an avi file.
The 'Record AVI' option continues to record the game, untill you press the 'Stop Avi' option.
This option lets you capture the sound played in the emulator, and save it in a wav file. In contrast to the other option, this records, as faithfully as possible, the exact emulated audio output (which is not necessarily what you hear), although it will use the interpolation you have specified in the sound config.
This option lets you record the gameplay in TAS format, see http://tasvideos.org for details on TAS (tool-assisted speedruns).
This option lets you playback a pre-recorded TAS movie.
This options lets you stop a movie which is playing or recording.
Launches a lua scripting dashboard. Reference the FAQ for more information on lua in emulators.
Closes all the lua dashboards.
Choosing this option exits the emulator.
This option will pause the emulation, freezing it at the current moment of execution. Selecting it again will resume the execution of the ROM at the exact moment where you paused it.
This option will reset the ROM that is currently loaded to the very start of the ROM, just as if you chose 'File | Open Rom' again.
This option turns off all the currently-running sounds, effectively killing streams and decoded music and voiceovers. Sequenced music and sound effects will continue to play, and when you enter a new area in the game or someone else speaks, the sounds will play again. Use this to Shut Up an annoying sound.
This menu option pop-ups a new window, which lets you specirfy what to do with the GBA slot of the Nintendo DS. It has the following choices :NONE, Compact Flash, Rumble Pack, GBA Game, Guitar Grip. Rumble pack allows some games to use vibration. Memory extension... Extends memory, as introduced by the NDS Opera browser. And some DS games can have bonuses, unlockable by GBA cart. For example in Megaman ZX you can fight some Megaman Zero Bosses when correct cartridge is inserted. This is also commonly used by pokemon players for finding some pokemons from older GBA games. There are some GBA slot extensions which are not yet emulated by desmume. Compact Flash is is used for homebrew software emulation, for example that uses DLDI (Dynamically Linked Device Interface). As usual, see the FAQ for more up-to-date information on that.
This option pulls down a drop-down menu, and presents the options list and search. Be aware though, that cheats are sort of half baked right now. If you are not having luck, wait for some news on an improved cheat system. Also, it is impossible yet to use 'commercial' codes, such as Action Replay and Codebreaker, so what you'll have to do is manually search for, and alter the memory positions to your advantage. They are called 'raw' or 'internal' cheats. There's an excellent article in the wiki on Using Cheats in DeSmuMe . In post-0.9.2 development builds, there is also the support for Action Replay cheat codes.
Choosing 'list' will list all the currently known cheats. Please refer to the article Using Cheats in DeSmuMe for further details on how to use the cheat mechanism in desmume.
Choosing 'search' will let you search for cheats. Please refer to the article Using Cheats in DeSmuMe for further details on how to use the cheat mechanism in desmume.
Disables the cheat engine, and all active cheats.
This powerful menu controls how the NDS screens will be arranged into the window. Vertical and Horizontal will choose to stack them in the specified manner (vertical being traditional and default and horizontal being wide-screen). One LCD shows just one screen--whichever one is 'first' (top) as described below. 'Top First' means that the top screen is First and will be displayed on top. 'Bottom first' means that the bottom screen is First and will be displayed on top (effectively switching the usual ordering of the screens for this game). 'Main screen first' selects the main graphics engine (the one with 3d on it) to consider as first. This option will help you track the action and discard the useless status screen in many games. 'Sub screen first' is added for the sake of completeness and you may occasionally find it helpful. Please note that these last two options may not work well in the case of dual screen 3d games, as the screens are always toggling around.
This option will let you rotate the screen a pre-determined amount of degrees clockwise in order to adjust the angle of the display. Some programs require that you normally turn the DS on its side. You can set it up in that manner using this. The options are 0 (no rotation), 90, 180, and 270.
This option will let you enlarge the windows a pre-determined size. The resize options are: 1x, 1.5x, 2x, 3x, and 4x the default size. You can also adjust the window size by resizing the window as usual in Windows apps.
As featured in media players and IM programs and other emulators, etc., this will prevent other apps from displaying on top of desmume.
This option controls how far the two windows should be apart of each other, in other words: how big the border between them should be. Valid choices are: None (which is the default), narrow border (which is slightly larger), DS (which is about the same amount of room there is on a real Nintendo DS).
Changes the colour of the gap. Savvy users may discover that they can edit this in the ini file to be any color they want.
When enabled, you can pick any gap size you want by dragging the bottom edge (not a corner) of the main window.
These options will apply different resizing filters to the emulator screen display.
Here you can choose, when re-sizing the windows, if you want to maintain the ratio of the windows. Sometimes when the window size is changed it doesn't look correct on the screen. This option forces the window to maintain a correct aspect ratio so it looks correct.
Selecting this option will display the emulation frame number. This way you can tell how long you have been playing the game. It is also useful for timestamping emulation events (for example, you can tell if you made it out of a level faster than last time)
Selecting this option causes the 'frames-per-second' (or 'fps', for short) to be displayed. It also displays an additional '3D' counter, which tells how frequently the game is updating its 3d graphics. But unlike the fps counter, the 3d counter has nothing to do with the power of your system. If it is low, then the game is running slow on a retail cart, and so it runs slow in an emulator. The last number in parentheses is the arm9 load average, which indicates how hard the emulated CPU is working. This has nothing to do with the power of your system either.
Selecting this option displays the emulated input that the emulator is recognizing and sending to the game software. Note that if the input displayed is green, that means the emulator recognized it but did not send it to the game (this will happen if you are not running a game yet, for example).
Same as Display Input but it is a super-spiffy graphical version.
This option displays the lag counter, which records frames where the game does not poll input.
This option is somewhat less exciting than it sounds, but it displays some numbers which may help you diagnose whether your microphone is hooked up correctly.
This option will let you drag around hud elements to pick their position.
This option lets you specify the save type of a particular game. The default is 'automatic'. However, this is not fail-safe in all cases, so you might need to manually select one of the other savetypes. You may also need to set this before importing a savefile from some other source, as they do not always contain sufficient information to guess the correct size.
This option lets you select the method that is used to draw the screen. You can choose between OpenGL (hardware accelerated) or SoftRasterizer (desmume's custom-crafted software renderer). Note that however hardware accelerated it may be, oftentimes SoftRasterizer will run faster.
Furthermore, you have three toggles for SoftRasterizer:
Desmume 0.9.4 had an option called 'Alternate Flush Mode' which fixed some games with flickering graphics, but this was removed in 0.9.5.
This option lets you configure keyboard keys or a joystick. The joystick support is implemented using a DirectInput control interface.
Here are the default control mappings (they may be subject to change):
It is nearly impossible on an actual console to press left and right at the same time. You may accidentally (or on purpose!) be glitching games by sending input they did not expect if you enable this option. Most casual users can emulate the hardware better by leaving this unchecked.
This menu option lets you define keys, that can be used to quickly select other options without having to go through the entire menu structure. Some examples are a hotkey for 'pause', or a hotkey for loading a specific savestate.
Here are the default hotkey mappings (they may be subject to change):
This option lets you configure the way sound is generated.
The sync/async modes and sync methods give you different output:
The sound core setting allows you to choose between the DirectX sound core and the dummy one which produces no sound. The WAV write core has been removed since the new 'Record WAV' option made it useless.
The buffer size setting should be kept to its original value. However, if your sound isn't clear even at 60 fps, you can try increasing it.
The interpolation setting allows you to choose between three interpolation methods:
Note that the DS has no interpolation method. While sometimes interpolation can make a noticeable improvement, it can also be unnoticeable or distort some sounds.
The ADPCM caching has been removed. It was needed due to a bug in ADPCM decoding which has been fixed. If you are still using 0.9.4, then enabling this can speed up some games while breaking the sound in others.
WIFI support is currently under heavy development, but it is not useful yet. Therefore, you may find this option missing, or simply 'greyed-out' for now. Even if you can fiddle with it, it won't do anything useful.
This option provides you with the same set of options that a real Nintendo DS firmware does. The most important here is the language, because multi-lingual games will often look at how this option is set.
These options let you boot from the extracted BIOS and Firmware of a real Nintendo DS. unless you have extracted/downloaded the firmware or bios from a Nintendo DS that you actually own yourself, these settings have no value for you as desmume does not generally require them to run correctly. Occasionally, however, a game may require them in order to work.
You can choose one of four modes. The first will attempt to use the windows default recording device (it is up to you to make your microphone take this role) and feed its input to the emulator. This works, but not perfectly, and it suffers from some unresolved conceptual issues, similar in nature to the emulator audio synchronization problem. The remainder of the options are triggered when using the mic hotkey. You can 'Use internal noise sample' which works for many games that want you to blow on the mic; you can 'Use rand() whitenoise' which will work for games that require blowing, but which don't work with the internal noise sample (note that this is NONDETERMINISTIC and not tas-safe); and finally you can supply your own microphone sample, which may be noise, or your nintendog's name, or any other thing. It has even been tested with bangai-o spirits level loading. This must be an 8bit mono pcm wav file.
Use this dialog to configure the default paths for roms, savestates, screenshots, etc. Some people like everything in one directory and some people like using 50 directories; you can have it your way.
The first option, 'Limit framerate' engages the throttler and prohibits the emulator from running more than 60fps. With this disabled, a fast computer may run the game doubly or triply fast.
The fixed skip options allow you to specify how many frames should be skipped, constantly. It is generally safe to choose 1 or 2 if you don't mind a slightly choppier game, in order to get a speedup. You may get accustomed to the degraded game performance and not notice. Note, however, that frameskipping can sometimes entirely fail in dual-screen 3d games or games that use capture.
The auto skip options will try engaging the frameskipping when the emulator is running slow, to keep the game from slowing down, but render all the frames when possible to maintain 60fps. This can make a game look sort of like a modern console 3d game which slows down when the action gets intense or too much of the world is visible.
Note that you can use the fast-forward hotkey to engage a special mode which disables the throttler and skips some large number of frames in order to run the game as quickly as possible. This may help you speed through cutscenes or other slow grinding in games and is easier to use than constantly fiddling with these menu options.
This lets you set the language the emulator displays its menus and options in. This won't change everything in the emulator, as due to the way it is coded, some things aren't translateable through this system, and it may very well be the case that your desired translation is incomplete.
Selecting this option will pause the emulation whenever you put desmume in the background, or the window loses focus.
This is a bit of an experimental option which will suck up a ton of your cpu power taking secret savestates every 0.25 seconds or so. With this enabled, the use of a rewind hotkey will permit you to rewind time a little bit in case you die.
This option displays the ARM9 and ARM7 disassembler. Be aware though, that the windows are drawn exactly on top of each other, so that you have to move (drag n drop) the first windows before the second window shows.
This tool displays the ARM7 and ARM9 memory. Be aware though, that the windows are drawn exactly on top of each other, so that you have to move (drag n drop) the first windows before the second window shows.
The 'View mode' radio buttons allow you to choose how the memory will be shown:
The 'View address' textbox and button allow you to jump to a different address:
The 'View dump' buttons allow you to dump the current view:
Note that if you dump memory to a file already containing (a) dump(s), the new dump will be appended to the existing one(s).
The scrollbar... well, you surely know how a scrollbar works.
The viewers additionally allow to edit the memory. For it, click on the value you want to edit, then type the new value.The new value is applied only once you've entirely entered it.
This option lets you view the ARM7 and ARM9 I/O registers.
This option lets you view the palette in detail.
This option lets you view the tiles in detail.
This option lets you view the maps in detail.
This option lets you view the OAM layer in detail.
This option lets you view the matrices in detail.
This option lets you view the lights in detail.
This option displays the sound output.
This option will pop-up a new window, with extensive and advanced features to watch the emulated RAM memory.
This option will pop-up a new window, with extensive and advanced features to search through the emulated RAM memory.
This option lets you toggle BG layer visibility one by one. You can also toggle the rendering for an entire GPU engine, which can help your framerate in games where one screen is pointless.
This option directs your browser to the desmume homepage.
This option directs your browser to the desmume forums.
This option directs your browser to the SourceForge bugtracker for desmume.
This option displays the authors of the emulator.