                        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=<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

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.
