アーカイブ:android

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!

続きを読む

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!

続きを読む

フォーラムでこの記事に対する反応を見る。

Dolphin Progress Report: December 2018 and January 2019

While there are a lot of notable changes to go through from the past two months, there's some notable news for the general Wii community. By the time this article is up, the Nintendo Wii Shop will be closed. Purchasing will be entirely disabled so all remaining Wii Points will be rendered useless, and even downloading of purchased games will be disabled at an undefined date in the future. While this may not seem like very big news for an emulator, Dolphin does actually support connecting to and buying games off of the Wii shop.

More distressingly, it's likely only a matter of time before the Wii Nintendo Update Servers (NUS) themselves go down. Dolphin relies on the NUS servers for installing a fully updated Wii System Menu in Dolphin. Users with unscrubbed Wii discs can rely on them as well to install the System Menu after they go down, but, depending on when the game was released, it may not be fully updated.

It's also rather disappointing that the many unique titles released on WiiWare can no longer be legally purchased by users. Say what you will about the average quality of WiiWare releases, these titles are a part of the Wii's legacy, one that is slowly being locked out to those who would want to experience them in the future.

Now that we've gotten that out of the way, we have a lot of big changes that hit over the past two months that we need to get through. The sun may be setting on Nintendo's revolutionary console, but on the emulation front we still have a long road ahead of this. We hope that everyone enjoy's this month's notable changes!

For the convenience of our Android users, we've decided to cluster up a ton of important Android changes together after the more general changes. If you're on Android 9 or are a big fan of Paper Mario, you definitely won't want to skip out.

続きを読む

フォーラムでこの記事に対する反応を見る。

Dolphin Progress Report: September and October 2018

Since the Dolphin 5.0 release, Dolphin has had opt-in usage statistics reporting to help us determine what hardware and builds users are using. Recently, this feature was also added to Dolphin Android, letting us see that around 10% of our users on development builds are using the Android version of Dolphin. Obviously, Dolphin on Android isn't going to be a perfect experience for quite some time, but in the meantime we will continue to add features and try to make the Android experience as clean as possible, even if the hardware is going to struggle with emulating GameCube and Wii games.

As a part of that, a lot of the major GUI features from the desktop version of Dolphin have been ported over. Just this year, we've seen important features like INI support, INI configuration, auto-update support, and even statistics reporting. Unfortunately, trying to bring the desktop experience to phones has caused some confusion that would seem like second nature to desktop users. Savestates in Dolphin are not compatible between builds and a lot of phone users that had been solely relying on savestates were in for a rude awakening during the next auto-update.

An unfortunate series of events lead to some deserved negative reviews on the Appstore and other mediums. With the brand-new auto-update feature came a bunch of broken savestates for users with no warning whatsoever. Unlike the desktop builds, savestates are immediately available directly from the context menu during emulation without any warnings or other information. Regardless of auto-update, relying solely on savestates for your progress is a risky proposition and we highly recommend using in-game saves as a more permanent way to save your game.


"Updated without warning and my save states were completely lost. The game's save function broke, so those were the only saves I had. For a GameCube emulator on Android it was working really well, but losing all my progress because they couldn't make old save states work with the update was really disappointing." -- User review on the Dolphin App within the Google Play Store


Dolphin's design doesn't really allow for savestates to work between different builds safely, so we were left with a difficult decision. Users randomly losing their save data is not acceptable, but removing savestates on Android would be awful. So as a compromise, we've added an option to enable savestates in the configuration menu, with an explanation of how they are intended to be used so users can understand the risks. We're sorry to anyone who ran into issues in the meantime, but as Dolphin on Android becomes a more legitimate option in the future, we're likely to run into more of these growing pains. All we can do is ask users to be patient and continue to report issues as we go forward.

Now that we've got that out of the way, there's plenty of other notable changes to get through this month so let's start chewing through them!

続きを読む

フォーラムでこの記事に対する反応を見る。

Dolphin Progress Report: August 2018

One of the most interesting challenges of developing an emulator is that both the target hardware and most of the target software start out as black boxes. As often mentioned within emulation circles, the first step to developing an emulator for a console is getting unsigned code running on real hardware. While running unsigned code on the GameCube can be a bit of a pain, requiring custom hardware or a mixture of the broadband adapter and certain games, the Wii has one of the most robust homebrew environments of any console. Just about anyone can download devkitpro, write their own homebrew, and run it on the Wii.

The truth is that Dolphin is mostly used as an emulator for retail games, but it can also be a useful step for testing homebrew and hacks. After all, when running in Dolphin, users can pause execution, dump RAM, and poke memory without the need for a USB Gecko. While the golden age of Wii homebrew has long passed, several game hacks are still under active development and the Wii remains one of the easiest game consoles to jump into and develop software. Because homebrew can rely on behaviors that games wouldn't ever want to do, even the simplest of projects can stumble into emulator bugs.

Developers kind enough to make their homebrew open source give Dolphin developers an interesting way of debugging issues. It's one of the rare cases where the software being debugged isn't a black box! This greatly cuts down how much effort and expertise is needed to debug what is happening in an issue - instead of mapping out what a game is doing through assembly, we can just look at the source code! Users who write tests that break Dolphin and provide source code give us a much easier look than trying to reverse-engineer what closed source software is doing.

This month, two bugs were discovered that, to our knowledge, do not affect any retail software! Thanks to homebrew projects, these bugs are now a thing of the past. In addition to that, Dolphin on Android has seen a myriad of improvements since our article earlier this month, and netplay saw some new features to make setting up games easier along with a new mode to reduce latency in three/four player matches!

続きを読む

フォーラムでこの記事に対する反応を見る。

The Current State of Dolphin on Android

Dolphin on Android has had a bit of a checkered history since its inception. Users loved the idea of being able to take their favorite GameCube and Wii games on the go, but expectations and reality have never quite aligned. When Dolphin was first uploaded to the Play Store, developers tried to make it absolutely clear games wouldn't be playable, even going as far as calling it "Dolphin Emulator Alpha". Unfortunately, despite many warnings, many people got their hopes up the moment they saw Dolphin was on the appstore and were ready to play their favorite games, even if their device wasn't. While not everyone had false pretenses as to what should be possible, a lot of users blamed Dolphin for being poorly optimized rather than understanding that it wasn't even meant to run full speed yet.

The endless stream of poor ratings and angry comments eventually reached a breaking point and Dolphin was removed from the Play store mid 2016. That didn't mean development on Dolphin on Android had ceased, though. Instead, builds were provided on our download page, safely tucked away from the majority of users who may not understand the current state of the app.

Suddenly, earlier this month, the Official Dolphin Android app returned to the Google Play Store* complete with all the latest and greatest improvements featured in the Progress Reports!

続きを読む

フォーラムでこの記事に対する反応を見る。

Dolphin Progress Report: July 2018

On July 13th, 2008, Dolphin went open source, now just over ten years ago. While it could be easy to drift off into how much things have changed... there's one particular feature that has never quite lived up to the hype despite debuting that very same year - netplay.

As surprising as it may sound Dolphin Netplay has been around since the emulator went open source. For roughly a decade, users have tried their hand at taming the beast of synchronizing multiple instances of a GameCube and Wii despite their relative complexities. Netplay allows users to run the same instance of game on multiple computers by having two or more emulators in the exact same state, only transferring inputs between one another. By staying in lockstep like this, theoretically the emulators' states will never diverge assuming perfect determinism. This would allow people across the world to play a game together, even if it only featured local multiplayer on the console.

The problem has always been attaining that determinism. Back in the early days of netplay, it didn't especially matter what settings were used; Dolphin wasn't deterministic enough to stay in lockstep for very long. Then in the early days of the 3.0 era, it was finally possible to stay synced - if you were willing to sacrifice audio and performance. Early netplayers would hack up Dolphin to reduce requirements with 30 FPS hacks to Super Smash Bros. Melee, hacks to LLE audio to make it slow down less during attacks, and much more.

Despite the stutters and desyncs, some serious Melee players saw the potential and kept with the project. It wasn't until New-AX-HLE Audio (part 2) hit Dolphin that audio was both performant and deterministic enough to use in netplay. By the time Dolphin 4.0 rolled around, netplay had become a staple for Melee users and could be used by advanced users willing to suffer through some annoying quirks.

In the last few years, a focus has gone toward adding highly requested features to make netplay easier to use. Dolphin's STUN service allows some users who cannot port-forward play on netplay without issues, saves can be disabled to make synchronizing party games easier. But the one constant is that despite all these advances, simply getting netplay to work was a chore and crashes were common even if you did everything right.

Getting netplay into a more user-friendly state has been quite the process. In July, we saw some of the most drastic changes to netplay that we've seen in the past couple of years! Emulated Wii Remotes also saw huge usability improvements and some non-NVIDIA Android devices will finally be able to use Dolphin's Vulkan backend. If that wasn't enough, spycrab0 delivered some very big improvements to the DolphinQt GUI to give a new way to display your favorite games in the gamelist. Let's not delay any longer, please enjoy this month's Dolphin Progress Report.

続きを読む

フォーラムでこの記事に対する反応を見る。

Dolphin Progress Report: February and March 2018

February came and went quietly, especially on the blog. While we do prefer to run a Progress Report every month, we were put into a bit of a bind. February saw a lot of interesting changes - but most of them were setting up for changes that weren't quite ready to be merged yet. Rather than rushing things or writing a Progress Report about things that would be coming soon, we decided to wait.

Well this Progress Report is no April Fools' joke - a lot of big changes landed! While a lot of what's important is under the hood, some of what has been finished has major user facing implications as well. If you were sad about missing a Progress Report for February, have no fear, this double report should more than make up for the lengthy delay!

Because so many of the changes rely on one another, we're going to be jumping around quite a bit between the two months. So hold on tight, and get ready. This is a big one.

続きを読む

フォーラムでこの記事に対する反応を見る。

Dolphin Progress Report: January 2018

While a lot of our focus goes into the core emulation experience, we also recognize how important it is for users to be able to use the emulator. Dolphin now has several different User Interfaces (UIs) that are used across several platforms. A UI serves many purposes at the same time: from giving users access to the most important options, to relaying information to the users as they're using the program, and sometimes even communicating to developers what the program is doing at a given time.

This month, UI takes center stage, as DolphinQt, Dolphin Android, and even Dolphin Android T.V. UIs all saw big improvements!

続きを読む

フォーラムでこの記事に対する反応を見る。

Dolphin Progress Report: November and December 2017

After the massive Hybrid XFB article that hit late November, we at the blog staff went into a bit of a hibernation. But after a short holiday break, we're back and ready for more. Before we get to the rest of November and December's changes, make sure you check out the absolutely massive Hybrid XFB article and the accompanying video.

With both Ubershaders, Hybrid XFB, and many of the other targeted features for the next release merged, a lot of users have started wondering when our next release will be announced. The answer to that is not soon. With these huge changes have come a lot of frustrating and annoying regressions that can't easily be solved without a lot of work. If we enter a feature freeze to work on those regressions, we'd be stagnating Dolphin and delaying the other large new features that are still being worked on without any guarantee that the regressions will be sorted out.

So for now, the plan is to just keep moving and wait for a better opportunity to start the release process.

続きを読む

フォーラムでこの記事に対する反応を見る。