@richard42 richard42 released this Apr 27, 2015 · 1063 commits to master since this release

Assets 11

Pre-built binary bundles for the following platforms are available here for your download:

Linux 32-bit
Linux 64-bit
Linux 64-bit Ubuntu version
Windows 32-bit
Windows 32-bit with New Dynarec
Macintosh OSX 64-bit
Source Code Only

The Windows packages were built with Microsoft Visual Studio 2013, and you may need to install the Microsoft redistributable package for this version of Visual Studio, if your operating system is too old.

The New Dynarec is much faster than our original one, but it is not as well tested and may contain defects which cause bugs in game playback, graphical artifacts, or crashes. For Windows users whose computers are not fast enough to play games well with the standard build, you may try out the New Dynarec build.

The Ubuntu Linux distribution still uses an older version of LibPNG which is no longer used with most other distributions. For this reason, I have built a special binary bundle for use with Ubuntu Linux. This package is built against SDL 1.2 and LibPNG 1.2, so it should run on nearly all Ubuntu versions.

Each bundle contains the following modules:

  • mupen64plus-core
  • mupen64plus-audio-sdl
  • mupen64plus-input-sdl
  • mupen64plus-rsp-hle
  • mupen64plus-video-glide64mk2
  • mupen64plus-video-rice
  • mupen64plus-ui-console

Note that this bundle includes the 'ui-console' front-end application, which is command-line only. For GUI front-end applications and other plugins, see:



@ecsv ecsv released this Dec 17, 2013 · 1514 commits to master since this release

Assets 4
  • Fixes for various games (DK64, Zelda, Blast Corps)
  • add Ari64's dynamic recompiler for x86 (32-bit) and ARM
  • improved PJ64 savestate loading
  • support video window resizing (with help from video plugin and front-end application)
  • Auto-detect savestate type (Mupen64Plus or PJ64) when loading from a slot
  • many various code cleanups in core from casualjames
  • support to build against SDL2
  • debugger code cleanup
  • Project files for Visual Studio 2012
  • Makefile changes
    • add support for PowerPC and MinGW32 builds
    • add cross-compiling support to build Win32 executables (MXE) under Linux
Jun 2, 2013
fix numerous bugs in osal_mkdirp for win32
Jun 1, 2013
apparently we need those inline statements, to avoid warnings in linu…
…x. but visual studio cant handle the 'inline' keyword for C, it requires __inline. So put it in osal

@ecsv ecsv released this Dec 17, 2013 · 1776 commits to master since this release

Assets 4
  • New feature: support for N64 internal real-time clock
  • use X-Scale's PIF-CIC algorithm instead of the hard-coded challenge-response pairs
  • New config parameter for path to save SRAM/EEPROM/MPK files, so they can be separated from emulator snapshots
  • updated core for new Mupen64plus 2.0 API versioning scheme
  • split core configuration data into 2 sections: Core and CoreEvents. Added version numbers and upgrade handling to both
  • Accurately emulate the RSP DMA operation (from Bobby Smiles)
  • bugfix: #290 - OnScreenDisplay text is sometimes captured in screenshots
  • bugfix: when the front-end specifies an override for the configuration directory, always use this path, so that we don't load the config from there and then save it back to the default user path
  • bugfix: #468 - On-screen-display problem under OSX
  • bugfix: Use option SaveStatePath from config file
  • bugfix: don't call SDL_Quit() until the core library is being unloaded. fixes some front-end use cases
  • bugfix: #410 - segfault in dma_pi_write()-->strlen() if /home/username/.local/share/mupen64plus/ owned by root
  • bugfix: for Interpreter cores, use proper math functions for ceil/floor/round/trunc instead of x87 rounding modes
  • many makefile fixes and improvements

@ecsv ecsv released this Dec 17, 2013 · 1900 commits to master since this release

Assets 4
  • Added some type checking to ConfigGetParameter() function, and a new error type
  • Bugfix: avoid segfault in the video extension code if SDL initialization fails (because video plugin fails)
  • Added new CoreGetRomSettings() function for front-ends
  • Allow to run dynarec in hardware DEP protected windows
  • Allow core .cfg parser to accept strings without quotes around them
  • API change: use new ReadScreen2() video plugin function
  • New re-entrant R4300 disassembler, from tty68k/zzt32, a man who loves MIPS processors
  • makefile fixes and improvements, code cleanups

@ecsv ecsv released this Dec 17, 2013 · 1941 commits to master since this release

Assets 3
  • New feature: configuration function ConfigGetParameterType()
  • New feature: up to 1000 screenshots per ROM are allowed
  • New feature: support for Gameshark 3.3 patch codes
  • Bugfix: Use Dynarec by default when core supports it. If dynarec is selected but unavailable, fall back to cached interpreter
  • Bugfix: screenshot directory handling code used unix-specific path separators; now is platform-independent
  • Bugfix: #313 - 64-bit inline assembly code in r4300/x86_64/rjump.c needs to have underscores before the symbols names in OSX
  • Bugfix: old bug in the core - hang if a ROM without a 16kb EEPROM type is loaded after a ROM with a 16kb EEPROM type
  • Bugfix: rumble feature caused memory corruption
  • Bugfix: Problem with zilmar API: the plugin RomOpen() functions had no way of returning errors to the core, causing crashes
  • Replaced api documentation .tar.gz file with the mediawiki text
  • Build script improvements:
    • new feature: m64p_update.sh script can take an input argument to update to a tag or revision
    • new feature: added bash script for building source packages of individual modules
  • Makefile improvements:
    • dont run ldconfig on make install unless user is root
    • added OS type GNU/kFreeBSD

@ecsv ecsv released this Dec 17, 2013 · 1959 commits to master since this release

Assets 3
  • doc: added tarball of emuwiki api documentation from 2010-01-06 for backup purposes
  • clean-up: removed almost all of the ifdef WIN32 statements
  • bugfix: stop spamming console with "Core: couldn't open memory pack file '...' for reading" messages
  • bugfix: stop spamming console with "Core: couldn't open eeprom file '...' for reading" messages
  • new feature: MSVC8 project file for mupen64plus-core, refactored code for VC8 compatibility
  • Makefile improvements:
    • throw error if OS/CPU not supported
    • use DESTDIR in install/uninstall paths
    • Allow user-specified CC/CXX/LD paths
    • makefile needs to install Core header files so that plugins can be built later

@ecsv ecsv released this Dec 17, 2013 · 1981 commits to master since this release

Assets 3

New 2.0 architecture advantages:

  • Simplified emulator Core, making it much more portable
  • Removed all GUI code from plugins, making them simpler and more portable
  • User interface development is not tied to Core emulator releases
  • All messages from core/plugins can be filtered and shown in GUI instead of only on console
  • Video Extension allows Front-end to override some video functions, ie to support embedded render window
  • Startup in Fullscreen mode, instead of always starting in windowed mode and switching to FS after few seconds
  • video resolution can be given via command-line parameter
  • all configuration options for core and plugins are in a single config file, can be configured with a single GUI
  • dummy plugins are automatically used if plugin loading fails for any reason
  • core and plugins all use the same conventions for where to put data/config files

Mupen64Plus core:

  • New feature: cheat code support
  • New feature: Keyboard shortcuts for Core commands are now user-configurable
  • New feature: can load/save PJ64 state files
  • Major code cleanup, refactored build system to separate source and object files
  • Removed many dependencies to simplify porting to other platforms
  • Moved all of the SDL event-related stuff into a new source file eventloop.c
  • Use XDG directory convention for file locations on Unix
  • bugfix: frame advance feature should advance every frame, instead of every vertical interrupt (every field)
  • bugfix: allow diagonal hat movements for core joystick commands
  • bugfix: modified SDL event loop joystick code so that gameshark button press is captured, and joystick commands that are level-triggered instead of edge-triggered (such as fast foward) can be accommodated
  • bugfix: fixed the outstanding SDL event issues by re-writing the code which handles the joystick-event-driven core commands. Now the axis-based commands use hysteresis and there is a single global event function for determining if the gameshark button is pressed
  • bugfix: OSD crash after pause-stop-start-pause of emulator
  • bugfix: Set video width and status, aiDacrate during savestate load
  • bugfix: in pure interpreter, Dont allow to override r0 register
  • bugfix #52: PJ64 load state patch from olejl77
  • bugfix #268: use aligned malloc and mprotect to set executable status for dynarec emitted code
  • bugfix #51: Floating Point Register data was not correctly converted when switching between 32-bit (MIPS-I) mode and 64-bit (MIPS III).
    New code more closely emulates behavior of r4300 hardware. Fixes collision problems in Banjo-Tooie
  • bugfix #272: rounding mode for x86 FPU not being set correctly in interpreter and pure interpreter cores
  • bugfix: many games need different ScreenUpdateSetting to work properly with Rice Video
Oct 4, 2009
only compile with -fPIC on 64-bit arch because 32-bit shared lib can …
…be built without it, and it has 40-60% speed penalty on i386. Add -fvisibility=hidden cflag for performance. Change rjump.c in both dynarecs so source can be properly built either with or without -fPIC -DPIC