Console-UI Front End Application
- Brand new Console-based front-end for Mupen64Plus 2.0
- New feature: R4300 Core Comparison for debugging
- New feature: Cheat code support from command-line
Core Emulator Library
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
Audio-SDL Plugin
- Converted to new Mupen64Plus 2.0 API
- Code cleanup to remove non-standard data types
- Refactored build system to separate source and object files
- bugfix #269: jttl_audio segfaults on exit due to incorrectly ordered shutdown code
- New feature: Joystick/Keyboard auto-configuration
- New feature: deadzone and peak analog joystick values are now configurable
- Converted to new Mupen64Plus 2.0 API
- Refactored build system to separate source and object files
- Major code cleanup: mouse movement and analog axis code was terrible, removed non-standard data types
- Improved debug messages
- bugfix: mapping the X/Y analog sticks to keypresses didnt work
- bugfix: !LeftCtrl-!LeftAlt key command when mouse is enabled to now toggles between grabbing and releasing the mouse pointer
RSP-HLE Plugin
- Converted to new Mupen64Plus 2.0 API
- Refactored build system to separate source and object files
- Refactored all code to remove win32-specific things, unnecessary functions, and clean up
Rice Video Plugin
- Converted to new Mupen64Plus 2.0 API
- Major code cleanup, removed all non-standard data types
- Refactored build system to separate source and object files
- added NO_ASM build option
- removed some unused configuration parameters
- bugfix: handle fullscreen video mode properly: start up in this mode instead of always starting in windowed and needing the core to switch to fullscreen
- bugfix #209: setjmp/longjmp fixes in the BMP writer and PNG reader
- bugfix: eliminated duplicate ‘Found ROM …’ messages