Archivy autora: JMC47

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.

Pokračovat ve čtení

Tento článek můžete probírat v jeho vláknu fóra.

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.

Pokračovat ve čtení

Tento článek můžete probírat v jeho vláknu fóra.

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, ...

Pokračovat ve čtení

Tento článek můžete probírat v jeho vláknu fóra.

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 ...

Pokračovat ve čtení

Tento článek můžete probírat v jeho vláknu fóra.

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 ...

Pokračovat ve čtení

Tento článek můžete probírat v jeho vláknu fóra.

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.

Pokračovat ve čtení

Tento článek můžete probírat v jeho vláknu fóra.

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!

Pokračovat ve čtení

Tento článek můžete probírat v jeho vláknu fóra.

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!

Pokračovat ve čtení

Tento článek můžete probírat v jeho vláknu fóra.

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!

Pokračovat ve čtení

Tento článek můžete probírat v jeho vláknu fóra.

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.

Pokračovat ve čtení

Tento článek můžete probírat v jeho vláknu fóra.