Archivi del tag: technical

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!

Continua a leggere

Puoi continuare la discussione nel topic del forum relativo a questo articolo.

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.

Continua a leggere

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!

Continua a leggere

Puoi continuare la discussione nel topic del forum relativo a questo articolo.

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 …

Continua a leggere

Puoi continuare la discussione nel topic del forum relativo a questo articolo.

Emulating Dragon Quest X Online

In modern times, preservation efforts are running on an ever dwindling timer. Every year, it seems as though more and more games lose their online components. And with games increasingly relying on interactivity and other online features, even a single player game can lose a sizable portion of its content when servers go down. While the Wii mostly dodged that bullet by having a relatively lackluster online infrastructure, we too have seen experiences disappear before our eyes.

Four years ago, Wii Network was merged into Dolphin after over two years …

Continua a leggere

Puoi continuare la discussione nel topic del forum relativo a questo articolo.

Ubershaders: A Ridiculous Solution to an Impossible Problem


When you're playing your favorite game on Dolphin with a powerful computer, things should run fairly well. The game is running full speed, there are no graphical glitches, and you can use your favorite controller if you want. Yet, every time you go to a new area, or load a new effect, there's a very slight but noticeable "stutter." You turn off the framelimiter to check and your computer can run the game at well over full speed. What's going on?

The slowdown when loading new areas, effects, …

Continua a leggere

Puoi continuare la discussione nel topic del forum relativo a questo articolo.

Booting the Final GameCube Game


Every single GameCube game can at least boot in Dolphin 5.0. Except one. Star Wars: The Clone Wars and its complex way of using the PowerPC Memory Management Unit rendered it unplayable in Dolphin up to this day. But finally as of Dolphin 5.0-540, this challenge has come and gone: Dolphin can finally boot every single GameCube game in the official library.


Star Wars: The Clone Wars Running in Dolphin


So what makes Star Wars: The Clone Wars so special? To truly understand what's going on, you need to have some knowledge on how the PowerPC's processor handles memory management and how Dolphin emulates it.

Continua a leggere

Puoi continuare la discussione nel topic del forum relativo a questo articolo.

A Second Perspective: An In-Depth History of Stereoscopy in Dolphin


3dsupportheader.png

Videogames are interactive experiences with emotional highs and lows, providing players with thrilling experiences alongside wondrous vistas. The greatest games can leave lifelong impacts on their players long after the controller is put down.

Emulators serve as a convenient way to relive those past experiences and rediscover hidden gems from one's childhood. But what if an emulator could not only recreate those moments, but enhance them by pushing the games you know and love to new heights? At what point do people say that the must-play experience of the game is not on the original console, but on an emulator?

Continua a leggere

Puoi continuare la discussione nel topic del forum relativo a questo articolo.

Pixel Processing Problems: On the Road to Pixel Perfection

The old name was better



The GameCube GPU is a complex, tight-knit piece of hardware with impressive features for its time. It is so powerful and so flexible, it was used unmodified within the Wii architecture. For a comparison, just imagine a SNES running with an NES's graphics system. This is completely unheard of, before or since. The GameCube is a remarkable achievement of hardware engineering! With its impressive capabilities, emulating the GameCube's GPU has been one of the most challenging tasks Dolphin has ever faced.

As well as …

Continua a leggere

Puoi continuare la discussione nel topic del forum relativo a questo articolo.