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