Author archives: JMC47

Dolphin Progress Report: November 2019

One of the most enjoyable parts about being a part of emulation is seeing the classic gaming community use the tools we provide to find hidden bits of joy that would be impossible to reach otherwise. Freelook has found secret after secret hidden away just off-screen, and there's even a youtube series that focuses entirely on them! Savestates basically made speedrunning and TASing possible, allowing for quick testing of routes and sequence breaks to push games to their limits. But communities can go far beyond that, with tools now allowing us to look directly into game files and expose unreleased and rare relics. In the past couple of months, we've had two incredibly interesting leaks: A TGC file ripped from a store preview disc containing a pre-release version of The Legend of Zelda: The Wind Waker and a very early prototype of the never released Spider-Man 4.

Released versions of the game show this intro screen during the day, but this pre-release version is at night!
We can't say for sure that the Spider-Man 3 film doomed the Spider-Man 4 game, but, well, it probably did.

Each of these games give a very specific look into their development. Wind Waker's prerelease demo is very close to the retail product and fully playable beginning to end without the imposed timer. Those that have looked into it have found a plethora of minor differences and glitches between this build and the one Japan would see a few weeks later. Spider-Man 4 on the other hand, never saw release and this was just about everyone's first look at the game. While it emulates just fine in the latest development builds, it does not run in Dolphin 5.0, due to broken support for unencrypted Wii discs. If you do run it, you get to see an incredibly early preview of the game with many non-existent textures, placeholder graphics, and incomplete collision detection. Still, we're happy that Dolphin was chosen as a platform to test out this unique prototype and the game worked without needing modification. With that bit of interesting news out of the way, let's get back to our regularly scheduled Progress Report.

Continue reading

You can continue the discussion in the forum thread of this article.

Dolphin Progress Report: October 2019

We apologize for the late Progress Report, but at this point it's partially by design. There's been an ongoing issue with Dolphin's updater being recognized as a trojan by Window's Defender Cloud AI scanning. The good news is that Microsoft has acknowledged that Dolphin's updater isn't a trojan, however for now they have to manually whitelist our executables. In order to ensure that the monthly builds distributed through our update track aren't deleted by Window's antivirus, we've been verifying that the build we've chosen is whitelisted. If you're interested in learning more about how something like this happens, MayImilae researched the issue and wrote up a detailed report below on what is happening and where we stand on the problem for now.

Until further notice, please keep reporting these erroneous detections so our builds can be whitelisted by Microsoft until they get their AI sorted. Thank you. Without further ado, let's jump into a smattering of significant changes that hit this month, including a way motion features in some of your favorite controllers.

Continue reading

You can continue the discussion in the forum thread of this article.

Dolphin Progress Report: August and September 2019

Earlier this month, an interesting development within the Wii reverse engineering scene was announced as Fullmetal5 revealed that they had hacked the Wii Mini via a Bluetooth exploit. This bookends a flurry of a Wii Mini hacking, including rigorous hardware modding by DeadlyFoez. You may be wondering, "Wait, wasn't the Wii hacked over a decade ago?". That's true, but the Wii Mini stubbornly remained unhacked all the way into 2019.

This resiliency came from the Wii Mini's cut down nature: it physically lacks the attack vectors that were used against the original Wii. In total, the Wii Mini was missing GameCube support, with no GameCube controller ports or Memory Card slots, lacked internet and browser support, and they completely removed the SD card slot. With so few attack surfaces, hackers have had to get inventive. DeadlyFoez created "FrankenWiis", mixing Wii Mini hardware and standard Wii hardware, to create exploit options and dump the Wii Mini firmware. This was as far as anyone could go, until Fullmetal5 found the holy grail: an exploit in the standard Wii Mini configuration, through the Bluetooth stack! This exploit completely opens the Wii Mini, allowing for arbitrary code execution to dump and/or load data over the Wii Mini's USB ports. The exploit is currently not public, but when it is released, users will be able to run homebrew on the Wii Mini just like any other Wii console, without any hardware mods. If you're interested at all in the Wii Mini and its many differences, feel free to checkout some of DeadlyFoez's videos of their efforts. It's a very strange little machine.

Update: During the writing of this article, the exploit was released!.

With the Wii Mini Menu dumped, the main question for us was... does it run in Dolphin?

The Wii Mini Wii Menu running in Dolphin!
Here is a normal Wii Menu for comparison. The Wii Mini lacks the Wii Shop, all internet channels, and the SD Card.

The answer is yes! In addition to that, Fullmetal5 also adjusted Dolphin to correctly detect Mini Wii Menu versions. While there isn't much practical use for running this cut down Wii Menu in Dolphin, it was exciting to finally see one of the last unhacked pieces of Wii hardware fall. We'd like to wholeheartedly thank everyone involved for their efforts toward Wii hacking and preservation.

With that out of the way, we have a few changes of our own to go through. While the end of the summer was a bit slow, there are still some essential fixes for several popular games and finally EFB Access is working correctly on Adreno devices... at least in Vulkan. Let's jump into August and September's Notable Changes without further delay!

Continue reading

You can continue the discussion in the forum thread of this article.

Dolphin Progress Report: June and July 2019

As seems to be happening annually, due to a short summer lull, we decided to combine the June and July Progress Reports. As you may have noticed, we're a few days into August at this point and things ended up running a bit late. That's actually a consequence of how we do these Progress Reports - we sometimes will go through big changes, test them, and get developer input on how they work in order to better explain them. In late July, a mixture of late changes, unexpected behaviors, and an extremely subtle game bug forced us to delay things while we sorted everything out. In this case, the end result didn't actually affect Dolphin, but does make for a better read as everything finally came full circle.

While we apologize for things being late, we do have a rather wide variety of changes that hit over the last two months to make this Progress Report extremely well-rounded. Whether you're looking for GUI updates, Android, fixes to ancient bugs, and even one feature inspired by a developer who saw Dolphin being used during Summer Game's Done Quick!

Continue reading

You can continue the discussion in the forum thread of this article.

Mini Update: libusb Hotfix

While we usually wait for a Progress Report to write about bug fixes and other features, a regression was causing so many issues that we've decided to roll out an early monthly build and detail what happened and why right now. If you're a heavy user of Dolphin's passthrough features, this is a rather important update.

libusb Thread Safety Problems

libusb is an incredibly powerful library that facilitates direct communication to USB devices without needing to develop a kernel level driver. It also has the benefit …

Continue reading

You can continue the discussion in the forum thread of this article.

Dolphin Progress Report: May 2019

The past few months have been quite hectic with a slew of gigantic changes requiring lengthy articles alongside them. These big features all hitting together seems to have brought up a talking point in the community would be irresponsible to ignore. Everyone wants to know when Dolphin 6.0 is coming. After all, Dolphin 5.0 launched nearly three years ago and lacks features like Ubershaders, Bluetooth Passthrough, Hybrid XFB, Emulated Motion Plus... the list goes on. Unfortunately, we have to announce that we aren't especially close to a release right now.

A release build is about more than just having exciting features, it's meant to be stable, reliable, and highly compatible. Since Dolphin 5.0, there have been a lot of minor and major regressions that haven't been fully worked out yet. Whether it's a game like Ed, Edd, & Eddy: The Mis-Edventures hanging on a loading screen or audio being broken in Resident Evil 2. There are dozens, if not over a hundred of these little issues that just take time and effort to address. Some of these issues are close to being resolved while others haven't even been investigated yet.

All we can ask of users is to continue using the latest development builds, continue reporting bugs, and be patient with the next release. With that out of the way, it's time to get to this May's Notable Changes. As always, users who want to try these features can download the latest development builds on the download page or use the auto-updater to get a new dev build every month automatically. Enjoy.

Continue reading

You can continue the discussion in the forum thread of this article.

Dolphin Progress Report: February and March and April 2019

The last few months have been absolutely hectic, with several long-awaited features hitting the emulator all at once. In order to keep users up to date with these major changes, the blog staff has been busy with feature article after feature article. It has been exciting, but also pretty exhausting! With us burning the candle at both ends to keep up with development, the Progress Reports have fallen a bit behind.

So here were are, bleary eyed and with three months worth of changes to go through. So without further delay, let's go through February, March, and April's Notable Changes! Please enjoy while we go collapse in the corner.

Continue reading

You can continue the discussion in the forum thread of this article.

Mastering Motion: The Journey to Emulate MotionPlus

Your eyes are not deceiving you, MotionPlus emulation is finally here. In a dramatic return to the project after a long hiatus, Billiard returned to the project with the goal of cleaning up emulated Wii Remotes and implementing emulated MotionPlus correctly once and for all. These efforts have greatly improved Dolphin's ability to create motions that games can recognize without the need for real Wii Remotes. The key behind these improvements was thinking about motions differently, by treating an emulated Wii Remote as a virtual object acting out these motions, …

Continue reading

You can continue the discussion in the forum thread of this article.

Introducing the Netplay Server Browser

Over the past few years, Dolphin Netplay has seen a ton of work that we've kept track of in the blog. The main goal of much of this work was to make it so that users could just play games together without having to worry about synchronization. Thanks to some of these recent efforts, it's fully possible to go on netplay and enjoy a game with others without having to do any specialized setup. While things aren't bulletproof, Dolphin does its best to synchronize saves, cheats, settings, and more to make …

Continue reading

You can continue the discussion in the forum thread of this article.

The New Era of Video Backends: The Unification of VideoCommon

It's not common for a rewrite to be something that warrants an article, but, this is one of the exceptions. Over the past few years, parts of Dolphin's video core have seen renovations to make way for new features, but a fundamental problem remained. Dolphin's video backends suffered from both having too many unique features while also duplicating tons of code from the other backends, making it difficult to add new features and maintain old ones.

Those that have followed Dolphin from the very beginning may remember that its video backends …

Continue reading

You can continue the discussion in the forum thread of this article.