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