Core commit. Compile and run on the OpenPandora
[mupen64plus-pandora.git] / source / mupen64plus-core / README
1 Mupen64Plus-Core README
2 -----------------------
3
4 The most current version of this README and more documentation can be found on
5 the Mupen64Plus wiki:
6
7 http://code.google.com/p/mupen64plus/wiki/README
8
9 Mupen64Plus is based off of mupen64, originally created by Hacktarux. This
10 package contains the only the Mupen64Plus core library.  For a fully functional
11 emulator, the user must also install graphics, sound, input, and RSP plugins,
12 as well as a user interface program (called a front-end).
13
14 README Sections
15   1. Requirements for building or running Mupen64Plus
16   2. Building From Source
17   3. Installation
18   4. Key Commands In Emulator
19
20 1. Requirements and Pre-requisites
21 ----------------------------------
22
23 *Binary Package Requirements*
24
25   - SDL 1.2
26   - libpng
27   - freetype 2
28   - zlib 
29
30 *Source Build Requirements*
31
32 In addition to the binary libraries, the following packages are required if you
33 build Mupen64Plus from source:
34
35   - GNU C and C++ compiler, libraries, and headers
36   - GNU make
37   - Development packages for all the libraries above
38
39 2. Building From Source
40 -----------------------
41
42 If you downloaded the binary distribution of Mupen64Plus, skip to the
43 Installation section. To build the source distribution, unzip and cd into the
44 projects/unix directory, then build using make:
45
46  $ unzip mupen64plus-core-x-y-z-src.zip
47  $ cd mupen64plus-core-x-y-z-src/projects/unix
48  $ make all
49
50 Type 'make' by itself to view all available build options:
51
52  $ make
53  Mupen64Plus makefile. 
54    Targets:
55      all           == Build Mupen64Plus and all plugins
56      clean         == remove object files
57      install       == Install Mupen64Plus and all plugins
58      uninstall     == Uninstall Mupen64Plus and all plugins
59    Options:
60      BITS=32       == build 32-bit binaries on 64-bit machine
61      LIRC=1        == enable LIRC support
62      NO_ASM=1      == build without assembly (no dynamic recompiler or MMX/SSE code)
63      SHAREDIR=path == extra path to search for shared data files
64      OPTFLAGS=flag == compiler optimization (default: -O3)
65      PIC=(1|0)     == Force enable/disable of position independent code
66      OSD=(1|0)     == Enable/disable build of OpenGL On-screen display
67      NEW_DYNAREC=1 == Replace dynamic recompiler with Ari64's experimental dynarec
68      POSTFIX=name  == String added to the name of the the build (default: '')
69    Install Options:
70      PREFIX=path   == install/uninstall prefix (default: /usr/local/)
71      SHAREDIR=path == path to install shared data (default: PREFIX/share/mupen64plus/)
72      LIBDIR=path   == path to install plugin libs (default: PREFIX/lib)
73      INCDIR=path   == path to install core header files (default: PREFIX/include/mupen64plus)
74      DESTDIR=path  == path to prepend to all installation paths (only for packagers)
75    Debugging Options:
76      PROFILE=1     == build gprof instrumentation into binaries for profiling
77      DEBUG=1       == add debugging symbols to binaries
78      DEBUGGER=1    == build graphical debugger
79      DBG_CORE=1    == print debugging info in r4300 core
80      DBG_COUNT=1   == print R4300 instruction count totals (64-bit dynarec only)
81      DBG_COMPARE=1 == enable core-synchronized r4300 debugging
82      DBG_TIMING=1  == print timing data
83      DBG_PROFILE=1 == dump profiling data for r4300 dynarec to data file
84      V=1           == show verbose compiler output
85
86 3. Installation
87 ---------------
88
89 *Binary Distribution*
90
91 To install the binary distribution of Mupen64Plus, su to root and run the
92 provided install.sh script:
93
94  $ su
95  # ./install.sh
96  # exit
97  $
98
99 The install script will copy the executable to /usr/local/bin and a directory
100 called /usr/local/share/mupen64plus will be created to hold plugins and other
101 files used by mupen64plus.
102
103 NOTE: By default, install.sh uses /usr/local for the install prefix. Although
104 the user can specify an alternate prefix to install.sh at the commandline, the
105 mupen64plus binary was compiled to look for the install directory in /usr/local,
106 so specifying an alternate prefix to install.sh will cause problems (the
107 mupen64plus front-end application will not find the directory containing the
108 core library) unless the directory to which you install it is known by your
109 dynamic library loader (ie, included in /etc/ld.conf.so)
110
111 If you want to use a prefix other than /usr/local, you may also download the
112 source code package and build with the PREFIX option (see below).
113
114 *Source Distribution*
115
116 After building mupen64plus and all plugins, su to root and type 'make install'
117 to install Mupen64Plus. The install process will copy the executable to
118 $PREFIX/bin and a directory called $PREFIX/share/mupen64plus will be created
119 to hold plugins and other files used by mupen64plus. By default, PREFIX is set
120 to /usr/local. This can be changed by passing the PREFIX option to make. NOTE:
121 you must pass the prefix, when building AND installing. For example, to install
122 mupen64plus to /usr, do this:
123
124  $ make PREFIX=/usr all
125  $ sudo make PREFIX=/usr install
126  $
127
128 4. Key Commands In Emulator
129 ---------------------------
130 The keys or joystick/mouse inputs which will be mapped to the N64 controller
131 for playing the games are determined by the input plugin.  The emulator core
132 also supports several key commands during emulation, which may be configured by
133 editing the ~/.config/mupen64plus/mupen64plus.cfg file.  They are:
134
135    Escape == Quit the emulator
136       0-9 == Select virtual 'slot' for save/load state (F5 and F7) commands
137        F5 == Save emulator state
138        F7 == Load emulator state
139        F9 == Reset emulator
140       F10 == slow down emulator by 5%
141       F11 == speed up emulator by 5%
142       F12 == take screenshot
143 Alt-Enter == Toggle between windowed and fullscreen (may not be supported by all video plugins)
144    p or P == Pause on/off
145    m or M == Mute/unmute sound
146    g or G == Press "Game Shark" button (only if cheats are enabled)
147    / or ? == single frame advance while paused
148         F == Fast Forward (playback at 250% normal speed while F key is pressed)
149         [ == Decrease volume
150         ] == Increase volume
151
152
153