DeSmuME _________________________________________ Copyright (C) 2006 yopyop Copyright (C) 2006-2007 DeSmuME team 1) Compiling instructions...................................13 2) How to use DeSmuME.......................................51 3) Contact information.....................................166 4) Disclaimer..............................................184 1 Compiling instructions______________________________________ DeSmuME is written in C, using the DirectX 8.0, OpenGL, zlib, zziplib libraries, so you need a working C compiler(such as mingw). Other supported compilers include Visual C++ 2005 and dev-cpp. * You can find DirectX headers and libraries(for mingw) at http://alleg.sourceforge.net/wip.html as the file "dx80_mgw.zip". The actual runtime libraries(or headers/libraries for MSVC) can be gotten from http://www.microsoft.com/DirectX * OpenGL should be included with your compiler, if it isn't, check on your compiler's website for links. * zlib can be found at http://www.zlib.net * zziplib can be found at http://zziplib.sourceforge.net mingw: All you have to do now is go into your mingw shell environment, go into the directory where you extracted DeSmuME, and type: "./configure". Once that's done(and there was no errors), type: "make". It should now take some time to compile so go grab yourself a sandwich or beer - whatever suits your fancy and it should be done in a few minutes. Now all you have to do is type "./src/desmume" in order to run it. dev-cpp: Load the project file DeSmuME.dev in the src/windows directory, compile, and you're set. Visual C++: Load the project file DeSmuME.vcproj in the src/windows directory, compile, and you're set. 2 How to use DeSmuME__________________________________________ Execute "desmume". A new window should pop up. The default settings should be fine for most people, but in case you need to adjust them, here's a brief explanation: Under the "Config", there are a number of items: Save Type: Here you can select which type of Backup Memory DeSmuME should emulate. By default, Autodetect works fine, but in some cases DeSmuME doesn't correctly detect the Backup Memory. In that case, you will want to select the correct one. Control Config: Here you can change the default key mappings. For now only the keyboard is supported, but in the near future gamepads and joysticks will be supported. Here are the default key mappings(they may be subject to change): Up arrow - Up Left arrow - Left Down arrow - Down right arrow - Right v - A button b - B button g - X button h - Y button c - Left Trigger n - Right Trigger enter - Start button space - Select button Sound Settings: Here you can change the default sound settings. By default DeSmuME uses Direct Sound, a buffer size of 2940, and volume set to max. But if you want to mute the sound, you can set the sound core to none. Or if you want to save the sound to a file, you can set the sound core to WAV write. If you find the sound is crackling a lot, try increasing the buffer size. On the other hand, if you find the sound somewhat delayed or jumpy, try decreasing the buffer size. Frame Skip: Here you can adjust the amount of frame draws to skip during emulation. Normally the emulator detects whether the emulator is running too fast or slow and skips a frame or more if it needs to speed things up. However some people don't like the results of it, so here you can adjust that. After all the settings are set to your satisfaction, you can then load a ROM image by going into the "File" menu, and choosing "Open". Select which file you'd like to open, and the emulator will automatically load and start running the selected ROM. You can save the current emulation state by press shift + one of the twelve F keys. To load, just press one of the twelve F keys (without shift pressed). Under the View menu there's also a few additional options you may wish to change. Rotation: Here you can adjust which 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. Magnify/DeMagnify: With these options you can increase or decrease the window size. Note: You can also adjust the window size by clicking on the edge of the window, and dragging the mouse. Force Maintain Ratio: Sometimes when the window size is changed it's doesn't look correct on the screen. This option forces the window to maintain a correct ratio so it looks correct. GDB Debugger Stubs: Source level debugging of ARM9 and/or ARM7 code is supported using a GDB/Insight debugger. The GDB stubs are enabled from the command line using the following options: --arm9gdb= (for the ARM9) --arm7gdb= (for the ARM7) The PORT_NUM is the TCP port upon which the stub will listen for connections. Once enabled you can connect to the stub using the following command at the GDB debugger prompt (assuming GDB and DeSmuME are running on the same machine): target remote : NOTE: there are problems with the ARM support when stepping code with GDB versions prior to version 6.6. It is recommended that you use at least version 6.6 if possible. GBAMP compact flash emulation: The default behaviour of DeSmumME is to attempt to emulate the FAT image for the contents of the directory where the running .nds file was located. This behaviour can be altered using the --cflash= command line option. Using this option DeSmuME will emulation a GBAMP and read and write sectors from/to the disk image file. The disk image file must be created and populated with files using some external tool. NOTE: currently if desmume fails to open the disk image file it will silently continue minus a working GBAMP emulation. 3 Contact information_________________________________________ General inquiries should go to: E-mail: guillaume@desmume.org Windows Port-related inquiries should go to: E-mail: Web: http://desmume.org Please don't ask for roms, bios files or any other copyrighted stuff. If you want to submit a bug report, please run desmume, go into the "Help" menu, and click on "Submit a bug report". If you're having trouble with it, please feel free to email. 4 Disclaimer__________________________________________________ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA See the GNU General Public License details in COPYING.