Archives de l'auteur MayImilae

Dolphin Progress Report: November 2018

Even though the Wii's official library is mostly set, both the GameCube and Wii are entering a new golden age as a popular environment for randomizers, full-game mods, incredible cheat codes, and much more. Stalwarts like the Super Smash Bros. Brawl Mod, Project M have been around for years, but now there are many other communities around various games breathing new life into them. You can find codes to help balance games like Mario Party 5, content mods for Kirby Air Ride that add tons of new rides and hundreds of songs, and trackpacks for Mario Kart Wii that add hundreds of custom tracks to the game. Wiimmfi's also provides their own backup Wi-Fi servers for many unmodified games and their Mario Kart mods!

While most of these mods can be enjoyed on a hacked Wii, many users rely on Dolphin in order to play them. Emulating these mods can be quite the challenge, as they often will do things in ways that game developers would not. Assumptions that Dolphin makes can often be broken and certain features that mod developers use can be extremely slow or downright unreasonable to emulate. In the case of Wiimmfi's Mario Kart Fun Packs, the mod creators have put in work over the years to improve their experience in Dolphin and even support emulated users playing alongside console users online... so long as you're willing to dump and use your Wii's NAND. Earlier this month, a slight change to Wiimmfi's online networking broke Dolphin support without affecting real Wii Consoles. Not wanting to leave their emulated users high and dry, they reported the bug to us.

delroth quickly took up the mantle of investigating the bug with assistance from the Wiimmfi team. Within a few hours, the cooperation paid off as the list of probable causes was narrowed down to one annoying feature: The Instruction Cache. Dolphin pretty much has no ability to emulate the GC/Wii CPU data cache and likely never will due to the performance implications, but Dolphin does have some ability to emulate the instruction cache, though it's best to avoid testing the emulator. This is normally not a problem with retail games because it's rather bad form for a game to rely excessively on cache quirks, unless they were intentionally trying to break an emulator. There are occasionally games that inadvertently rely on cache behavior, that's something to tackle on another day. Dolphin's emulation of the instruction cache is normally good enough and almost nothing relies on data cache.

Mods are different; developers are usually working on a blackbox and don't have the same level of familiarity with the hardware. Unless they specifically tested codes on both Dolphin and Wii, there's a chance they wouldn't even know something was broken. There have been many issues reported around mods that, while Dolphin is at fault, we really don't have any recourse for the users afflicted. If a mod doesn't care about running on Dolphin and uses dcache or perhaps another annoying feature, there isn't much we can do but shrug it off.

In the case of Wiimmfi's server, through cooperation from both sides, we were able to find the cache coherency issue and fix it serverside! Users who already have the latest version of the mod don't have to do anything except try to connect. If you're looking for a more detailed explanation of what was going wrong (as it's rather interesting,) you can find delroth's full writeup on the issue tracker.

In order to track down behavior like this in the future, delroth also added game quirk reporting to Dolphin's data collection service, so Dolphin will now automatically let us know what games are instruction cache sensitive in the manner that broke this particular mod. With that, we also have a lot of other exciting changes this month, so now it's time to dive into this month's notable changes!

Continuer de lire

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!

Continuer de lire

Dolphin Progress Report: June 2018

While we prefer to get these progress reports shortly after the turn of the month, sometimes things happen out of our control. June wasn't exactly a slow month, but it was backloaded with tons of changes that we weren't expecting to get merged so soon.



Sometimes delays are inevitable, but the notable changes that we were able to include thanks to extending the deadline should more than make up for the several day wait. You've been waiting long enough - without further delay, please enjoy this month's notable changes.

Continuer de lire

Dolphin Progress Report: April and May 2018

Users of Dolphin may have noticed that things look a little bit different in the GUI. That's right, mid-April DolphinQt was unleashed to the masses as the default GUI! It hasn't been without some expected headaches and growing pains, but, overall most of the features are working and the transition is going along as smoothly as we could have hoped. For those having problems, the DolphinWx.exe is still included and will be updated with all the core changes.

Considering that we spent a whole monthly article on Qt, let's get into some actual emulator changes. In between the mountain of Qt changes has been an explosion of progress and fixes hitting everything from CPU edge-cases to Vertex Loader fixes! With that, please enjoy this month's notable changes!

Continuer de lire

Continuez la discussion de cet article sur le topic de l'article sur le forum.

The Legend of Dolphin: A Lens Between Worlds

Chapter 1: The Will of the Old Gods

Within the Kingdom of Dolphin, a legend has been passed from generation to generation. While many of the facts have long turned to myth, fragments of this tale are echoed to this day.

This tale began way back in the ancient times known as "2003" when the Old Gods sought to create a wondrous tool that would allow denizens of the PC realm to peer into that of the GameCube dimension. Behind ...

Continuer de lire

Continuez la discussion de cet article sur le topic de l'article sur le forum.

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.

Continuer de lire

Continuez la discussion de cet article sur le topic de l'article sur le forum.

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!

Continuer de lire

Continuez la discussion de cet article sur le topic de l'article sur le forum.

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.

Continuer de lire

Continuez la discussion de cet article sur le topic de l'article sur le forum.

To the Screen with Hybrid XFB

Dolphin has been around for over 14 long years at this point. Goals, expectations and standards have shifted quite a bit since the beginning. At one point, just booting a game at all was good enough, regardless of what you would see or hear! Compatibility has gone from a few select titles to almost every game released across two consoles. Considering all of that, it should be no surprise that some solutions that worked in the past slowly came to be a burden going forward. In this case, we're talking about ...

Continuer de lire

Continuez la discussion de cet article sur le topic de l'article sur le forum.

Dolphin Progress Report: October 2017

The October Progress Report is here! ...A little late, but, all here in one piece. While on the outside it may have looked like October was a slow month, the blog staff and devs have been busy behind the scenes. A big feature (and blog article) was being worked on right up until the end of the month... and then we realized it wasn't going to be done in time. We shifted gears a bit too late and resulted in a tardy Progress Report. Fortunately, there are still many very important changes that arrived this month. With all that in mind, we hope you enjoy this month's Dolphin Progress Report.

Continuer de lire

Continuez la discussion de cet article sur le topic de l'article sur le forum.