Skip to content

Releases: Medard22/Dolphin-MMJR2-VBI

U24.07.02-2407

20 Jul 08:56
d64ad25

Choose a tag to compare

Notable changes from U24.03.22-21259

  • Code refactoring and minor fixes
  • Fixed a panic alert for Def Jam: Fight for New York and Fifa Street
  • Numerous small optimizations to JitARM64
  • Small optimizations to DSP HLE audio decoding
  • Fixed stuttering from JIT Cache clear - mostly notable in Shadow the Hedgehog
  • Set OSD message color to yellow in default AMOLED theme
  • Updated Vulkan Memory Allocator and Vulkan Headers
  • Updated and optimized app icons

Missing features - these features from Dolphin Official are not implemented

  • Android Input Overhaul and subsequent changes to Input and TAS handling
  • Custom GPU driver support
  • Skylanders portal and Infinity base support
  • Gamma correction

This codebase is based on the Official Dolphin dev build 2407-1 (Jul 2, 2024). For more information about what has changed check the PR history.

General information

  • When I started this project, my only goal was to add the VBI Skip hack to MMJR2. At the time, I had little to no coding experience and knew nothing about Git, GitHub, or Android Studio. Looking back to 2023, I never imagined I’d come this far.
  • Fast forward almost a year and a half later—with over 1,100 pull requests—I’ve managed to update this codebase from Dolphin 5.0-18205 (December 2022) all the way to Dolphin 2407 (July 2024). Of course, all the credit goes to the Dolphin Team, since they did the real heavy lifting. My job has simply been figuring out how to make it all work in MMJR2.
  • I work on this fork in my free time, mostly for myself, but I’m genuinely happy that so many of you find it useful. The previous release has been downloaded over 150,000 times and that is honestly mind-blowing.
  • I’ll keep working to improve MMJR2 for as long as I’m able. Thank you all for your support!
  • Android developers willing to help are welcome!

Caution

  • Save states from older versions are, unfortunately, NOT compatible with this release. Be sure to make an in-game save before updating!

Known Issues

  • The UI in the Cheats section is broken when you try to delete multiple items in a row. This bug is present to this day in Dolphin Official. Just delete a few items, exit the cheats window, and return back.
  • For people using touch controls. It is possible that the core controls and touchscreen controls get out of sync. For more information check here - #708

U24.03.22-21259

11 Jan 14:28
5a0864c

Choose a tag to compare

Changelog from U24.02.01-21065

  • Code refactoring and minor fixes
  • Cleaned up build.gradle, updated Android SDK to version 34, and AGP to 8.2.0
  • Dropped support for the x86_64 ABI, leading to faster build times and reduced APK size
  • Improved scaling at native resolution
  • Implemented GC tapserver-based modem adapter and integrated it into the UI
  • Optimizations to JitArm64
  • Updated GameINI database

Missing features - these features from Dolphin Official are not implemented

  • Android Input Overhaul and subsequent changes to Input and TAS handling
  • Custom GPU driver support
  • Skylanders portal and Infinity base support
  • Gamma correction

This codebase is roughly equivalent to the Official Dolphin development build 5.0-21259 (Mar 22, 2024). For more information about what has changed check the PR history.

General information

  • Android developers willing to help are welcome!

Save states from U24.02.01-21065 ARE compatible with this release. Make an in-game save before updating just to be sure!

Known Issues

  • The UI in the Cheats section is broken when you try to delete multiple items in a row. This bug is present to this day in Dolphin Official. Just delete a few items, exit the cheats window, and return back.
  • For people using touch controls. It is possible that the core controls and touchscreen controls get out of sync. For more information check here - #708

U24.02.01-21065

19 Dec 18:01
7cb9bac

Choose a tag to compare

Changelog from U23.12.18-20789

  • A lot of code refactors and small fixes
  • Simplified the aspect ratio scaling logic
  • Minor improvements to JitARM64
  • Fixed reverb volume in Mario Kart: Double Dash!!
  • Minor fixes in the pixel shader and ubershader code
  • Updated GameINI fixes

Missing features — these features from Dolphin Official are not yet implemented

  • Android input overhaul and subsequent changes to input and TAS handling
  • Custom GPU driver support
  • Skylanders portal and Infinity base support
  • Gamma correction

This codebase is roughly equivalent to the official Dolphin dev build 5.0-21065 (February 1, 2024). For more information about what has changed check the PR history.

General information

  • Android developers willing to help are welcome!
  • Merry Christmas, everyone! If, by chance, Christmas isn’t a thing where you live, have a great time. Happy gaming!

Caution

  • Save states from older versions are, unfortunately, NOT compatible with this release due to significant code refactors. Be sure to make an in-game save before updating!

Known Issues

  • The UI in the Cheats section is broken when you try to delete multiple items in a row. This bug is present to this day in Dolphin Official. Just delete a few items, exit the cheats window, and return back.
  • For people using touch controls. It is possible that the core controls and touchscreen controls might get out of sync. For more information check here - #708

U23.12.18-20789

03 Dec 13:44
5ca7dda

Choose a tag to compare

Changelog from v2.3.000

  • Fixed volume handling in DSPHLE AX ucode
  • Fixed reverb in DSPHLE Zelda ucode
  • Many optimizations to JIT
  • Changes to memory handling and MMU
  • Fixes for some games via GameSettings
  • Updated NDK to 26.1.10909125
  • Various small fixes

Missing features - these features from Dolphin Official are not implemented!

  • Android Input Overhaul and subsequent changes to Input and TAS handling
  • Custom GPU driver support
  • Skylanders portal and Infinity base support
  • Gamma correction

I´m not sure if anyone even cares anymore, but here is a new release. For more information about what has changed, check the PR history.

General information

  • New versioning system - From now on, release and beta builds will use the version and date of the upstream codebase the build is based on, following the format "URR.MM.DD-version". For example, this release is based on Dolphin 5.0-20789 from December 18, 2023, so its version is: U23.12.18-20789
  • Android developers willing to help are welcome!

Caution

  • Save States from older versions are NOT compatible with this release. Be sure to make an in-game save before updating!

Known Issues

  • The UI in the Cheats section is broken when you try to delete multiple items in a row. This bug is present to this day in Dolphin Official. Just delete a few items, exit the cheats window, and return back.
  • For people using touch controls. It is possible that the core controls and touchscreen controls get out of sync. For more information check here - #708

v2.3.000

11 Oct 15:43
5b1872e

Choose a tag to compare

Changelog for v2.3.000 (from v2.2.110)

  • Extensive code refactors including a major overhaul of the graphics pipeline
  • Graphics pipeline code revision - removed obsolete MMJR2-specific hacks, that are no longer needed
  • Revised and improved Asset Loader
  • Updated external components like SDL, Cubeb, mGBA, fmt, etc.
  • Updated NDK to v25.2.9519653
  • Updated Android libraries, now targeting Java 17
  • Many JIT optimizations
  • Minor updates to the Vulkan backend
  • Optimized Vertex Loader
  • Updated GameINI database
  • Fixed Fast Forward hotkey
  • Added support for WiiConnect24 via WiiLink
  • Added support for Color Space Correction
  • Leveraged LZ4 algorithm for faster savestate decompression
  • Updated and fixed multiple instances of partially synced code across the project

Missing features - these features from Dolphin Official are not implemented

  • Android Input Overhaul and subsequent changes to Input and TAS handling
  • Custom GPU driver support
  • Skylanders portal and Infinity base support
  • Gamma correction

This codebase is roughly equivalent to the Official Dolphin dev build 5.0-20223 (Oct 15, 2023).

General information

This release includes over 7 months' worth of code changes ported from Dolphin Official since v2.2.110, and more than 3 months since the last beta. I’ve tested it extensively, but as always, your mileage may vary. 🤷‍♂️ I upgraded my RP3+ to a Retroid Pocket 4 Pro and performed most of the testing on this device.

Android developers willing to help are always welcome!

Caution

  • Save States from v2.2.110, v2.3.000-rc1, and v2.3.000-rc2 are NOT compatible with this release. Be sure to have in-game saves before updating!
  • Due to the graphics pipeline changes, this build bumps the shader cache UID version. Shaders will need to be cached and built from scratch, so expect some initial shader compilation stutter.

Known Issues

The UI in the Cheats section is broken when you try to delete multiple items in a row. This bug is present to this day in Dolphin Official. Just delete a few items, exit the cheats window, and return back.

As always, have fun and happy gaming ✌️

Public beta - v2.3.000-rc2

27 Aug 13:36
9bbb58d

Choose a tag to compare

Changelog from v2.3.000-rc1

  • Hotfix for Fast Forward Hotkey

This release is identical to v2.3.000-rc1, but I fixed the Fast Forward Hotkey. It was broken for quite a while. Now it toggles between 100% and 200% emulation speed settings. The real Fast Forward speed will depend on your settings and your device. Slow devices might not reach full 200% speed.

You can find it in Overlay Controls -> On-screen Hotkey -> Fast Forward

Public beta - v2.3.000-rc1

07 Jun 13:03
10a9736

Choose a tag to compare

Changelog from v2.2.110

  • Many code refactors including a massive overhaul of graphic pipeline
  • Graphic pipeline code revision - removed some old and obsolete hacks
  • Updated some external components - SDL, Cubeb, mGBA, etc.
  • Updated NDK to v25.2.9519653 and some Android libraries
  • Minor updates to JIT
  • Minor updates to Vulkan backend
  • Minor optimization to Vertex Loader
  • Updated GameINI database
  • Updated out of sync code across the project

This codebase is roughly equivalent to the Official Dolphin dev build 5.0-19479 (Jun 2, 2023).

General information

  • Hi everyone, It’s been a while since I last worked on the MMJR2 emulator. Unfortunately, work and real-life commitments took a toll on the time I could invest in maintaining MMJR2. I also encountered a significant performance regression that impeded my progress. There are many possible causes for this issue: around June 2023, the Dolphin team added a new asset loader system for graphic mods and custom textures, changed how Dolphin handles threading, and made some updates to the graphics pipeline.
  • Since I don’t have as much time anymore, I decided to roll back from Dolphin 5.0-19582 to 5.0-19479 and release a beta version. I made good progress over the months, and it would be a shame not to share it. I did some preliminary testing of this build, and it seems the regressions are not present. However, I didn’t have time to test it thoroughly, hence the beta release.
  • I am also waiting for an RP4 Pro and am giving my RP3+ to a friend. While this doesn’t necessarily mean the end of this project, I currently lack a sufficiently low-power device to test new builds on.
  • I’ve learned a lot about Git, GitHub, Android development, and Dolphin while working on this project. If you want to help or continue working on MMJR2, let me know. I’d be happy to assist.

Caution

  • Save States from v2.2.110 are NOT compatible with this release. Make sure you have an in-game save before updating.

Hints

  • For optimal performance on RP3/RP3+ use Performance profile.
  • To eliminate shader compilation stuttering enable "Compile Shaders Before Starting". The compiled shaders are usually version/backend specific. Once done you won´t have to compile them again unless you switch to other backend, update the emulator or mess with some settings.

Known Issues

  • Fast Forward Hotkey is broken. Somehow nobody noticed for a very long time. This is fixed in v2.3.000-rc2.

v2.2.110

14 Jan 11:50
ba0cce5

Choose a tag to compare

Changelog for v2.2.110

  • Fixed "Compile Shaders Before Starting" hang
  • Small fix to FileUtil behavior

I had a report about a performance drop from v2.2.000. After extensive testing, I couldn´t reproduce it on my devices, nor was I able to track it to a specific code change. Every build has a slight minimal variance in performance. This can account for shader compilation, shader cache buildup, SoC thermal throttling, OS state, background apps, etc. When you first run any game on a new version of MMJR2, the shader cache is updated. There might be some minor dips as the shaders are rebuilt and cached that go away after a while, or after you close and reload the game. There might be some performance hits on different SoCs, most likely due to architecture differences and GPU drivers, but I cannot test, nor fix that. If you are affected by a performance hit, you can go back to v2.2.000. Thanks to everyone, who helped me with testing.

This release codebase is roughly equivalent to the Official Dolphin dev build 5.0-18515.

Savestates from v2.2.000 and v2.2.100 are compatible. You should be able to update without any problems or revert back to older version if you have issues.

v.2.2.100

09 Jan 15:39
d29948b

Choose a tag to compare

This is a minor update with some handy fixes.

Changelog for v2.2.100

  • Improvements to logic op approximation
  • Removed obsolete "Skip Approximate Logic Op" hack
  • Removed unused force filtering setting
  • Fixed Touch IR Pointer mode selection
  • Fixed missed custom directory entries - now you can clean game cache files from UI again
  • MMJR2 updater is now hidden from the UI - as we all know, it wasn´t working anyway
  • Minor code updates and cleanup

This release codebase is roughly equivalent to the Official Dolphin dev build 5.0-18515

Savestates from v2.2.000 are compatible. You should be able to update without any problems or revert back to v2.2.000 if you have issues.

v.2.2.000

03 Dec 13:19
775d06b

Choose a tag to compare

I think it's finally time to stop tinkering and finally release a new version. So here it goes 😄

Changelog from v2.1.010 to v2.2.000

  • updated NDK to 25.1.8937393
  • updated Android libraries
  • Java 11 bytecode is now enabled across project
  • code cleanup and refactoring
  • minor fixes to JitArm64
  • unitialized XFB color changed from pink/magenta/fuchsia to black, making rendering artifacts with "Store XFB copies to Texture only" less noticeable
  • exposed "Store XFB Copies to Texture only" speedhack in Quick settings menu
  • exposed "Show FPS" in the Quick settings menu
  • fixed misaligned OSD messages
  • hopefully fixed a throttle bug that made game run at super fast speed after loading state
  • removed Autoupdater from the UI, it wasn´t working anyway
  • added an option to force linear texture filtering and exposed it in the Android settings
  • added sharp bilinear postprocessing shader
  • added integer scaling shader
  • implemented PPC Data Cache (currently not exposed in Android UI - kills performance)
  • implemented CPU Vertex Culling (Graphics Settings->Advanced) - auto-enabled in Metroid Prime and Twilight Princess
  • Skylanders Portal support is now in the core (but not exposed in Android due to missing Android UI)
  • less confusing version information in the main menu
  • other minor fixes and changes

Known issues

  • When updating from older build, Dolphin may hang on building shader cache.
  • If that happens delete shader cache (/mmjr2-vbi/Cache/Shaders/ and .uidcache files in /mmjr2-vbi/Cache/), disable "Compile Shaders Before Starting", run the game, exit emulator and then enable it again.

Caution

  • Save States from previous versions of MMJR2-VBI are NOT compatible! Make an in-game save, or you will lose progress!
  • This release will replace any MMJR2 build you might have installed! If the installation fails, uninstall your MMJR2 first.
  • Updating to this release will keep your original MMJR2 data intact. This release uses a separate /mmjr2-vbi folder in the root of your Internal storage.
  • This release is incompatible with savestates from other forks (MMJR, MMJR2, Dolphin for Handheld) or Official Dolphin.
  • In-game saves are compatible. You can copy data to respective folders from your Dolphin user directory to the /mmjr2-vbi folder
  • I am not an officially registered Android developer. Google Play Protect might get suspicious and give you a warning :)

Additional information

  • For Daijishō users - this build uses "106 - gc - Dolphin mmjr" and "334 - wii - Dolphin mmjr" player settings
  • All code ported over from Dolphin Official has links to original pull requests and respective authors. I deeply respect their work.
  • This is a personal project. Additional updates and releases are possible but not guaranteed. If you enjoy it, great! Otherwise get Official Dolphin from PlayStore.

This release codebase is roughly equivalent to the Official Dolphin dev build 5.0-18439, Jan 30 2023. Don´t expect any massive performance gains, but there are some nice quality-of-life changes.

Any Android developer willing to help me is welcome. Hell any developer willing to help is welcome 🙈
The MMJR2 code and especially it´s Android part could use some love. Dolphin went through several massive code overhauls in 2023 and I am not sure how much they break MMJR2. I will try to keep up as long as my limited abilites let me.

Feedback is welcome in the Discussions. You can also find me on Retroid Discord server. Happy gaming! ✌️