Import of the old mupen64plus subversion aka pre-2.0 mupen64plus.
Go to file
2008-08-19 04:28:04 +00:00
blight_input fixed blight input licensing issues 2008-08-07 04:13:56 +00:00
config 1. fixed missing tabs near 7zip source files in Makefile 2008-07-27 21:02:18 +00:00
debugger potential fix for warning on 32-bit systems with 64-bit bfd_vma type 2008-06-13 03:29:32 +00:00
doc Real compile guards for PLUGIN_INFO struct in Zilmar plugin spec. Rice video license fixes. 2008-08-18 22:50:55 +00:00
dummy_audio Real compile guards for PLUGIN_INFO struct in Zilmar plugin spec. Rice video license fixes. 2008-08-18 22:50:55 +00:00
dummy_video fixed licensing issues in dummy_audio, dummy_video, doc, and fonts folders 2008-08-08 03:53:04 +00:00
fonts fixed licensing issues in dummy_audio, dummy_video, doc, and fonts folders 2008-08-08 03:53:04 +00:00
glide64 Removed defunct and unlicensed VCR functions, and language files. FSF address fixes. 2008-08-19 04:28:04 +00:00
glN64 Two main updates. Mostly a number of older Gtk GUI related improvmenets to Jttl Audio that were never commited, with the idea that we should get one plugin fairly polished as an example for new developers. Also fixed license issues with Mupen64plus makefiles, jttl audio files, and 7zip decoder. 2008-08-14 06:49:46 +00:00
icons Real compile guards for PLUGIN_INFO struct in Zilmar plugin spec. Rice video license fixes. 2008-08-18 22:50:55 +00:00
jttl_audio Real compile guards for PLUGIN_INFO struct in Zilmar plugin spec. Rice video license fixes. 2008-08-18 22:50:55 +00:00
lang Removed defunct and unlicensed VCR functions, and language files. FSF address fixes. 2008-08-19 04:28:04 +00:00
main Removed defunct and unlicensed VCR functions, and language files. FSF address fixes. 2008-08-19 04:28:04 +00:00
memory Removed defunct and unlicensed VCR functions, and language files. FSF address fixes. 2008-08-19 04:28:04 +00:00
mupen64_input Minizip license clarified (zlib), other license fixes. 2008-08-15 00:35:59 +00:00
opengl fixed build breakage introduced in r827/r832 2008-08-05 23:40:07 +00:00
r4300 Removed defunct and unlicensed VCR functions, and language files. FSF address fixes. 2008-08-19 04:28:04 +00:00
rice_video Removed defunct and unlicensed VCR functions, and language files. FSF address fixes. 2008-08-19 04:28:04 +00:00
roms Imported mupen64plus/trunk from mupen64-amd64/trunk/mupen64-64bit rev 254 2008-03-15 14:33:00 +00:00
rsp_hle Real compile guards for PLUGIN_INFO struct in Zilmar plugin spec. Rice video license fixes. 2008-08-18 22:50:55 +00:00
tools License fixes. 2008-08-14 20:06:04 +00:00
GPL added more comprehensive licensing information 2008-07-04 14:49:08 +00:00
install.sh License fixes. 2008-08-14 20:06:04 +00:00
LICENSES Bzip2 license and jttl noaudio build breakage fix. 2008-08-14 22:33:57 +00:00
Makefile Removed defunct and unlicensed VCR functions, and language files. FSF address fixes. 2008-08-19 04:28:04 +00:00
mupen64plus.ini mupen64plus.ini: ROMs starting with A have all their information filled 2008-08-04 21:17:10 +00:00
mupen64plusui.rc KDE4 GUI slots now work (if slot is changed elsewhere, menu shows correct slot), slot is persistant. Added multirom archive suport to KDE4 GUI rombrowser. Minor KDE4 and Gtk GUI menu text / accelerator and mnemonic updates. 2008-07-22 18:23:46 +00:00
pre.mk Removed defunct and unlicensed VCR functions, and language files. FSF address fixes. 2008-08-19 04:28:04 +00:00
README Updated man page with new options more correct syntax and GPL 2+ license. Modified README and binary help messages to all match. 2008-08-14 16:40:26 +00:00
README.vcr Imported mupen64plus/trunk from mupen64-amd64/trunk/mupen64-64bit rev 254 2008-03-15 14:33:00 +00:00
RELEASE Updated rice_video, kde4 gui, and jttl_audio to take version numbers from main/version.h. 2008-06-14 21:53:20 +00:00
release.mk More license fixes. Remove renamed or duplicate jttl files and unused logo. 2008-08-14 20:21:19 +00:00
TODO One more test to make sure it updates correctly... (the irc bot) 2008-05-03 17:59:09 +00:00
uninstall.sh License fixes. 2008-08-14 20:06:04 +00:00

Mupen64Plus 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. The Mupen64Plus package contains the mupen64 emulator program (renamed mupen64plus) plus graphics, sound, input, and RSP plugins.

README Sections
  1. Requirements for building or running Mupen64Plus
  2. Building From Source
  3. Installation
  4. Multi-user Support
  5. Key Commands In Emulator
  6. Known Issues

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

*Binary Package Requirements*

  - GTK2 libraries (unless built from source with GUI=NONE)
  - SDL 1.2
  - SDL_ttf
  - Mesa / OpenGL libraries
  - 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
  - libsamplerate (aka Secret Rabbit Code)
  - yasm v0.6.2 or newer 

Most of these pre-requisites are installed by default, but some are more uncommon. Here is an example for adding the 'yasm' and 'SDL_ttf' development packages on Fedora systems:

  # yum install yasm SDL_ttf SDL_ttf-devel

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 source directory, then build using make:

 $ unzip Mupen64Plus-x-y-z-src.zip
 $ cd Mupen64Plus-x-y-z-src
 $ 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
     rebuild       == clean and re-build all
     install       == Install Mupen64Plus and all plugins
     uninstall     == Uninstall Mupen64Plus and all plugins
   Options:
     BITS=32       == build 32-bit binaries on 64-bit machine
     VCR=1         == enable video recording
     LIRC=1        == enable LIRC support
     NO_RESAMP=1   == disable libsamplerate support in jttl_audio
     NO_ASM=1      == build without assembly (no dynamic recompiler or MMX/SSE code)
     GUI=NONE      == build without GUI support
     GUI=GTK2      == build GTK2 GUI support (default)
     GUI=KDE4      == build KDE4 GUI support
   Install Options:
     PREFIX=path   == install/uninstall prefix (default: /usr/local/)
     SHAREDIR=path == path to install shared data (default: PREFIX/share/mupen64plus/)
     BINDIR=path   == path to install mupen64plus binary (default: PREFIX/bin/)
     LIBDIR=path   == path to install plugin libs (default: SHAREDIR/plugins/)
     MANDIR=path   == path to install manual files (default: PREFIX/man/man1/)
   Debugging Options:
     PROFILE=1     == build gprof instrumentation into binaries for profiling
     DBGSYM=1      == add debugging symbols to binaries
     DBG=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

Previous to version 1.3, building mupen64 built two programs: mupen64 and mupen64_nogui. mupen64 had a gtk graphical frontend including a rom browser. mupen64_nogui contained no graphical frontend and all options were specified via the commandline. As of version 1.3, the mupen64 and mupen64_nogui codebases have been combined. Now, building mupen64plus results in one executable called mupen64plus that can either be run with a gui (default) or without a gui, by specifying --nogui at the commandline. For backwards compatability, if a symbolic link to the mupen64plus executable called mupen64plus_nogui (or mupen64_nogui) is created, running the mupen64plus_nogui symlink is equivalent to running mupen64plus with the --nogui flag.

NOTE: If you want to build a nogui-only version of mupen64plus, i.e. without gtk+ dependencies, pass the GUI=NONE option to make, like this:

 $ make GUI=NONE all

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 PREFIX=/usr all
 $ su
 # make PREFIX=/usr install
 # exit
 $

4. Multi-user Support
---------------------

As of version 1.3, Mupen64Plus now has support for multi-user environments.

The mupen64plus program will look for user configuration files in a .mupen64plus directory in the user's home directory. If the directory does not exist, it will be created and a default mupen64plus.conf file will be written to that directory on exit. If desired, an alternate config directory can be specified using the --configdir commandline option.

By default, the mupen64plus program will look for plugins, icons, and language translation files in the install directory $PREFIX/share/mupen64plus (see Installation section for details). If this directory does not exist, mupen64plus will try to use the current working directory. An alternate installation directory can be specified using the --installdir commandline option.

Run 'mupen64plus --help' for a complete list of commandline options:

 $ mupen64plus --help
Usage: mupen64plus [parameter(s)] [romfile]

Parameters:
    --nogui               : do not display GUI.
    --noask               : do not prompt user if rom file is hacked or a bad dump.
    --noosd               : disable onscreen display.
    --fullscreen          : turn fullscreen mode on.
    --romnumber (number)  : specify which rom in romfile, if multirom archive.
    --gfx (plugin-file)   : use gfx plugin given by (path)
    --audio (plugin-file) : use audio plugin given by (path)
    --input (plugin-file) : use input plugin given by (path)
    --rsp (plugin-file)   : use rsp plugin given by (path)
    --emumode (mode)      : set emu mode to: 0=Interpreter 1=DynaRec 2=Pure Interpreter
    --sshotdir (dir)      : set screenshot directory to (dir)
    --configdir (dir)     : force config dir (must contain mupen64plus.conf)
    --installdir (dir)    : force install dir (place to look for plugins, icons, lang, etc)
    --testshots (list)    : take screenshots at frames given in comma-separated (list), then quit
    -h, --help            : see this help message

5. Key Commands In Emulator
---------------------------
The keys or joystick/mouse inputs which will be mapped to the N64 controller for playing the games are determined by the input plugin.  The emulator core also supports several key commands during emulation, which are fixed and cannot be changed.  They are:

   Escape == Quit the emulator
      0-9 == Select virtual 'slot' for save/load state (F5 and F7) commands
       F5 == Save emulator state
       F7 == Load emulator state
       F9 == Reset emulator
      F10 == slow down emulator by 5%
      F11 == speed up emulator by 5%
      F12 == take screenshot
Alt-Enter == Toggle between windowed and fullscreen (may not be supported by all video plugins)
    Pause == Pause on/off
   m or M == Mute/unmute sound
   / or ? == single frame advance while paused
        F == Fast Forward (playback at 250% normal speed while F key is pressed)
        [ == Decrease volume
        ] == Increase volume


6. Known Issues
-----------------------
As of March 2008, the RiceVideoLinux plugin may be unstable with users of the open source drivers for an ATI Radeon graphics adapter when fog is enabled.  If you have are using the open source Radeon driver, you should set the "EnableFog" value in RiceVideo.cfg to 0.