                        DeSmuME
        _________________________________________
        Copyright (C) 2006 yopyop
        Copyright (C) 2006-2007-2008-2009 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
Visual C++ 2005, Visual C++ 2008  or Intel compiler. It should
also be possible to compile  it on dev-cpp, but it's currently
untested.

  * 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

Visual C++:
 Load    either    the    project   file   DeSmuME_2005.vcproj
or  DeSmuME_2008.vcproj (depending  on the  VisualC++  version
you're using)  in the  src/windows  directory,  compile,   and
you're set.


2 How to use DeSmuME__________________________________________

Execute "desmume".  A new  window  (and a information console)
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.

3D Config:
Here you can change  what will be used to  emulate the 3D core
of the DS. By default it's  on openGL, but you can also select
a Null device, that won't show any 3D.

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
  x                    - A button
  z                    - B button
  s                    - X button
  a                    - Y button
  q                    - Left Trigger
  w                    - Right Trigger
  Enter                - Start button
  Right Shift          - Select button
  Backspace            - Lid fold/unfold
  
  n                    - Frame advance
  Space                - Pause/Unpause 
  p                    - Load current state
  1,2,3,4,5,6,7,8,9,0  - Select current state
  F1-F10               - Load relevant state
  Shift+F1-F10         - Save relevant state
  

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.

Firmware Settings:
Here you can change settings  that are used as a customization
on the  real DS: your name, birthday, favourite colour, etc...

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.

Language:
Here you can change the  emulator menus language. Currently we
only support English, French and Danish.



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.

------------------------

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.

Window size:
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.

Default size:
This option  makes the emulator  window go back to the default
size.

------------------------

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=<PORT_NUM> (for the ARM9)
--arm7gdb=<PORT_NUM> (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 :<PORT_NUM>

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=<DISK_IMAGE_FILE>
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
Web:    http://www.desmume.org
Forums: http://forums.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.
