Mupen64Plus Changelog

What's new in Mupen64Plus 2.5.0

Nov 3, 2017
  • 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.

New in Mupen64Plus 2.0.0 (Mar 3, 2014)

  • All Modules:
  • New: MS Visual Studio 2012 project files
  • Makefiles: support for ARM, PPC, and MINGW architectures
  • Makefiles: support for cross-compiling (MXE win32 builds under Unix)
  • Support (building from source) for new SDL 2.0 library
  • Audio-SDL Plugin:
  • Add support for resampling with speexdsp library
  • Add more resampling quality options
  • Bugfix: Don't assume OSS is installed in all linux systems
  • Make SDL volume handling the default, since OSS is no longer included in the kernel
  • Minor refactoring of volume handling code
  • Console-UI Front End Application:
  • Only build system changes
  • Core Emulator Library:
  • 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
  • Debugger code cleanup
  • Input-SDL Plugin:
  • Re-write auto-configuration logic to be more user friendly. Add new 'mode' parameter
  • Support for 6 new joysticks
  • Work-around for buggy xboxdrv which results in no rumble
  • Bugfix: crash when rumble used with controller #4
  • Video-Glide64mk2 Plugin:
  • Brand new video plugin which has been ported to Mupen64Plus
  • Video-Rice Plugin:
  • Support for resizable video window
  • Add support to build and run with OpenGL ES 2.0
  • Improve hi-resolution texture loading support
  • Fix texture CRC calculation for non-x86 (or NO_ASM) platforms
  • RSP-HLE Plugin:
  • Add support for MusyX ucode detection
  • Support JPEG decoding used in Pokemon Stadium Japan
  • Lots of refactoring to clean up code

New in Mupen64Plus 1.99.5 (Mar 12, 2012)

  • Audio-SDL Plugin:
  • added version number to SDL-audio plugin config parameters, to support future changes
  • updated audio plugin for new Mupen64plus 2.0 API versioning scheme
  • makefile fixes and improvements
  • Console-UI Front End Application:
  • New option to disable internal core speed limiter (for benchmarking)
  • Updated Console-UI front-end for new Mupen64plus 2.0 API versioning
  • Added config version number for UI-Console section
  • makefile fixes and improvements
  • Core Emulator Library:
  • 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
  • Input-SDL Plugin:
  • Improved input setup behavior (auto-config) to make some use cases more friendly
  • Updated input plugin for new Mupen64plus 2.0 API versioning scheme
  • Added version number to SDL Input plugin parameters
  • Add new parameter for mouse sensitivity, handle mouse movement differently so mouse is easier to use as controller
  • New auto-configuration for controllers
  • raphnet technologies GC/N64 usb converter
  • Logitech Chillstream Controller
  • Jess Tech Colour Rumble
  • Xbox 360 linux userspace driver
  • Generic X-Box pad
  • Saitek P2900 Wireless Pad
  • Jess Tech USB 4-Axis 12-Button Gamepad
  • bugfix: #392 - when switching between rumble pak and memory pak, simulate removing the pack, waiting 1 second, then inserting the new one
  • bugfix: #424 - problem with USB devices supporting multiple controllers per device
  • bugfix: #409 - PS3 controller not auto-detected in Gentoo when connected via bluetooth
  • bugfix: correctly handle USB devices with multiple game pads, from Peter Helbing
  • makefile fixes and improvements
  • Rice Video Plugin:
  • Hires texture loading: support for 8-bit PNG images
  • New config option for forcing vertical sync
  • Check OpenGL attributes after creating video window and report any that failed to set
  • Updated video plugin for new Mupen64plus 2.0 API versioning scheme
  • Update to Video API version 2.1.0
  • Bugfix: hi-res textures: Scale highres textures by precalculated scaleShift exponent
  • Bugfix: dont call CoreVideo_Init() inside of the !InitializeGFX() function. This will fix some front-end use cases
  • Bugfix: Fix z coordinate in 3d line rendering
  • Bugfix: double infinite loop in GetValidTmemInfoIndex
  • Bugfix: Perfect Dark randomly crashes due to divide-by-zero error
  • Bugfix: crash in loading Celda 2009 hi-res texture pack for Zelda Ocarina of Time
  • makefile fixes, improvements, and code cleanups
  • RSP-HLE Plugin:
  • Handle JPEG decompression, used in Ogre Battle 64 and Pokemon Stadium
  • updated RSP plugin for new Mupen64plus 2.0 API versioning scheme
  • bugfix: #102 - Missing backgrounds in Ogre Battle 64
  • many makefile fixes and improvements

New in Mupen64Plus 1.99.4 (Feb 7, 2012)

  • Console-UI Front End Application:
  • add some parameter checking for --emumode option
  • new cheat file format from spinout182
  • makefile fixes and improvements
  • Core Emulator Library:
  • 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
  • Audio-SDL Plugin:
  • Bugfix: Plugin should write default config values at startup time
  • Bugfix: fixed fast-forward for banjo-kazooie and other games which was broken due to limitation in basic resampling algorithm
  • makefile fixes and improvements
  • Input-SDL Plugin:
  • Bugfix: Do configuration during PluginStart(), so GUI will see defaults (auto-configured) the first time it is run
  • Move axis value reducers to right shift and right ctrl, to avoid conflict with A/B buttons
  • New feature: extra deadzone parameter in axis() config parameter clause when mapping an analog joystick axis to an N64 button
  • many new joystick auto-configurations
  • makefile fixes and improvements
  • Rice Video Plugin:
  • new feature: anisotropic filtering
  • new feature: trilinear filtering
  • new feature: mipmaps
  • cleaned up FindScaleFactor function based upon r45 of the 1964 repo
  • bugfix: buffer overrun (and crash) when reading vendor string info on some opengl implementations
  • API change for reading the video buffer: new interface is more flexible and avoids some potential problems
  • support for anti-aliasing (GL_MULTISAMPLE)
  • makefile fixes, improvements, and code cleanups
  • RSP-HLE Plugin:
  • merged all big-endian fixes from mupen64gc project
  • makefile fixes and improvements

New in Mupen64Plus 1.99.3 (Apr 7, 2010)

  • Console-UI Front End Application:
  • New feature: command-line option --set for setting arbitrary configuration variables
  • updated MAN page for all the changes made in the 2.0 re-architecture
  • Core Emulator Library:
  • 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
  • Audio-SDL Plugin:
  • sync with core/plugin API change for RomOpen()
  • bugfix: logical error in previous audio refactoring causing slowdown/lockup on loading savestate or re-initializing audio
  • Input-SDL Plugin:
  • New feature: auto-configuration uses an .ini file instead of hard-coding the controllers in the source code
  • New controller auto-configurations:
  • Original X-Box (and compatible clones)
  • HuiJia USB GamePad
  • USB Human(2p) Interface Device
  • sync with core/plugin API change for RomOpen()
  • Bugfix: controller pak was fixed at startup, switching b/w mempak and rumblepak did not work
  • Rice Video Plugin:
  • sync with core/plugin API change for RomOpen()
  • Changed default ScreenUpdateSetting to 4 for Windows
  • use custom opengl extension function pointer typedefs, to avoid compilation errors with some drivers including hosed gl.h headers
  • merged some changes from Tillin9 commits in r1142-rice-video-gtk-refactor branch, to be more lenient in hi-res texture loading
  • bugfix: hi-res textures did not work in Windows
  • bugfix: #329: remove some deprecated types and a function call to prevent build errors with libpng 1.4
  • bugfix: fixed mirroring bugs in Rice Video hi-resolution texture loading, based on Tillin9 rev 1337 in r1142-rice-video-gtk-refactor branch
  • bugfix: in ConvertImage.cpp none of the 4-bit conversion functions could handle 1-pixel wide textures