Overview

Mupen64Plus-Core README
-----------------------

The most current version of this README and more documentation can be found on
the Mupen64Plus wiki:

http://code.google.com/p/mupen64plus/wiki/README

Mupen64Plus is based off of mupen64, originally created by Hacktarux. This
package contains the only the Mupen64Plus core library.  For a fully functional
emulator, the user must also install graphics, sound, input, and RSP plugins,
as well as a user interface program (called a front-end).

README Sections
  1. Requirements for building or running Mupen64Plus
  2. Building From Source
  3. Installation
  4. Key Commands In Emulator

1. Requirements and Pre-requisites
----------------------------------

*Binary Package Requirements*

  - SDL 1.2
  - libpng
  - freetype 2
  - zlib 

*Source Build Requirements*

In addition to the binary libraries, the following packages are required if you
build Mupen64Plus from source:

  - GNU C and C++ compiler, libraries, and headers
  - GNU make
  - Development packages for all the libraries above

2. Building From Source
-----------------------

If you downloaded the binary distribution of Mupen64Plus, skip to the
Installation section. To build the source distribution, unzip and cd into the
projects/unix directory, then build using make:

 $ unzip mupen64plus-core-x-y-z-src.zip
 $ cd mupen64plus-core-x-y-z-src/projects/unix
 $ make all

Type 'make' by itself to view all available build options:

 $ make
 Mupen64Plus makefile. 
   Targets:
     all           == Build Mupen64Plus and all plugins
     clean         == remove object files
     install       == Install Mupen64Plus and all plugins
     uninstall     == Uninstall Mupen64Plus and all plugins
   Options:
     BITS=32       == build 32-bit binaries on 64-bit machine
     LIRC=1        == enable LIRC support
     NO_ASM=1      == build without assembly (no dynamic recompiler or MMX/SSE code)
     SHAREDIR=path == extra path to search for shared data files
     OPTFLAGS=flag == compiler optimization (default: -O3)
     PIC=(1|0)     == Force enable/disable of position independent code
   Install Options:
     PREFIX=path   == install/uninstall prefix (default: /usr/local/)
     SHAREDIR=path == path to install shared data (default: PREFIX/share/mupen64plus/)
     LIBDIR=path   == path to install plugin libs (default: PREFIX/lib)
     INCDIR=path   == path to install core header files (default: PREFIX/include/mupen64plus)
     DESTDIR=path  == path to prepend to all installation paths (only for packagers)
   Debugging Options:
     PROFILE=1     == build gprof instrumentation into binaries for profiling
     DEBUG=1       == add debugging symbols to binaries
     DEBUGGER=1    == build graphical debugger
     DBG_CORE=1    == print debugging info in r4300 core
     DBG_COUNT=1   == print R4300 instruction count totals (64-bit dynarec only)
     DBG_COMPARE=1 == enable core-synchronized r4300 debugging
     DBG_PROFILE=1 == dump profiling data for r4300 dynarec to data file
     V=1           == show verbose compiler output

3. Installation
---------------

*Binary Distribution*

To install the binary distribution of Mupen64Plus, su to root and run the
provided install.sh script:

 $ su
 # ./install.sh
 # exit
 $

The install script will copy the executable to /usr/local/bin and a directory
called /usr/local/share/mupen64plus will be created to hold plugins and other
files used by mupen64plus.

NOTE: By default, install.sh uses /usr/local for the install prefix. Although
the user can specify an alternate prefix to install.sh at the commandline, the
mupen64plus binary was compiled to look for the install directory in /usr/local,
so specifying an alternate prefix to install.sh will cause problems (mupen64plus
will not find the install directory). If you want to use a prefix other than
/usr/local, you will have to download the source package and build with the
PREFIX option (see below).

*Source Distribution*

After building mupen64plus and all plugins, su to root and type 'make install'
to install Mupen64Plus. The install process will copy the executable to
$PREFIX/bin and a directory called $PREFIX/share/mupen64plus will be created
to hold plugins and other files used by mupen64plus. By default, PREFIX is set
to /usr/local. This can be changed by passing the PREFIX option to make. NOTE:
you must pass the prefix, when building AND installing. For example, to install
mupen64plus to /usr, do this:

 $ make all
 $ sudo make PREFIX=/usr install
 $