Dolphin, the GameCube and Wii emulator - Forums

Full Version: 2014: Biggest Accuracy Up of the Year
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
We're doing an article at the end of the year and want your votes to help us decide what you think were the best things of 2014. This thread has to do with the biggest changes to the core of the emulator with a focus on the accuracy side of things. These changes are filled with hard work and tend to affect a ton of games in positive ways. Please vote based on what you find important, and don't feel like there are any expectations.

Pixel Processing Pipeline Upgrades - If the small bothersome graphical bugs and inaccuracies in games bothered you, then this merge is your savior. By changing Dolphin to using integer math, much like the base hardware, neobrain greatly increased Dolphin's graphical accuracy in the hardware backends. Chances are this merge fixed something in your favorite games. Just in the Zelda series, Wind Waker, Twilight Princess, Four Swords Adventures, Skyward Sword, Zelda 1/2 (VC) all saw huge fixes thanks to this merge. Read more here - https://dolphin-emu.org/blog/2014/03/15/pixel-processing-problems/ Other changes followed the first merge (tev_fixes_new) such as the indirect texture coordinate fixes (NES VC games working perfectly), and tev_combiner fixes (Luigi's Mansion's shadows.)

Synchronous Zelda HLE - While this isn't the same rewrite and overhaul that AX-HLE got the year before, synchronous Zelda HLE is a very important merge that affects some of the most popular games in Dolphin. Don't believe me? This merge, while it doesn't correct most audio problems, fixes common hangs in Wind Waker, Super Mario Galaxy 1/2, the Pikmin series and more. Seriously, try going back to 4.0, using HLE audio, and starting up Wind Waker without the framelimiter. This is a huge stability increase. Read more here - https://dolphin-emu.org/blog/2014/04/30/dolphin-progress-report-april-2014/

Disc Timing Accuracy Fixes - Multiple people contributed throughout the year to make Dolphin's disc read speeds more accurate than before. Magumagu started off by introducing accurate seek timings, which made games act more like their console counterparts, but we still suffered from some timing differences. Changes didn't come for quite some while, until later on when Constant Angular Velocity was added to disc read speed calculations. By implementing this, Dolphin achieved very accurate reading speeds in many games. These fixes also make it so games like Sonic Riders no longer crash, and the subtitles again function in Starfox Adventures. Overall, though, these changes were about allowing Dolphin to be more accurate rather than fixing any particular game. The exception to that is the Metroid Prime series, which has glitches that relies on disc speed timings. You can read more about that here - https://dolphin-emu.org/blog/2014/12/01/dolphin-progress-report-november-2014/

A Plethora of HLE and LLE Audio Fixes - There are an absolute ton of audio fixes. Choppy DTK audio, music that cut out, music that screeched, and much much more. A lot of them can be read about in The Rise of HLE feature article, especially the section about the cleanup crew - https://dolphin-emu.org/blog/2014/11/12/the-rise-of-hle-audio/ One of the most notorious bugs happened before the progress report era, which is that audio would get garbled on HLE and LLE after 1 hour and 32 minutes. While this is only a footnote nowadays, for a long time that was one of the most annoying issues in Dolphin.

CPU Accuracy Improvements - Dolphin has got a lot more accurate this year in the CPU. We no longer fall through walls in Super Mario Galaxy and Super Mario Sunshine, walking on a platform in Resident Evil 4 no longer crashes the game, but walking onto the one next to it is fine. It goes on, Mario Party 6 and 7 suffered from broken minigames and hangs, ghosts in Mario Kart: Double Dash!! and Wii would run into the walls and get lost, and much much more. While there were far more subtle issues in tons more games, there are so many that stand out that it isn't funny! Rather than go on for half an hour, let's take a moment to appreciate all of the work done to the CPU emulation accuracy by our contributors - https://www.youtube.com/watch?v=eEbmrwnYaXs&list=UU1US0SaXvIUPgnf-GLbfb3g

Bounding Box Improvements - If you like the Paper Mario Series, then these changes are very important to you. Not only do they fix critical crashes in Super Paper Mario, these Bounding Box fixes fix almost every graphical glitch in the series period. From page flipping problems, to glitched punies, and much, much, much more. Read about the initial software implementation here - https://dolphin-emu.org/blog/2014/10/31/dolphin-progress-report-october-2014/ and the hardware implementation here - https://dolphin-emu.org/blog/2014/12/01/dolphin-progress-report-november-2014/
Hm, looks like it's down to Disc Timing Accuracy Fixes and HLE and LLE Audio Fixes. Disc Timing is really interesting because I thought the issue of syncing in Starfox Adventures would never be fixed unless PCs became more powerful, but I guess I was wrong. I'll have to see how that game plays again soon, but I vote HLE and LLE audio fixes since audio is one of the most important things to me when it comes to emulation, and I see the differences in the fixes. HLE audio in games that had problems with it doesn't even exist anymore from the games I played, and I don't have to worry about using LLE in the games I played which is slower on my PC, and that means no fullspeed for me if I do in some cases. I give that my vote.
I really like the full HLE rewrite. It helped me to play some demanding games (SMG) with less struggling and making it more enjoyable.
I was tempted to vote for Synchronous Zelda HLE ucode, because I've at least studied parts of that ucode, and I remember when people said we'd never get decent HLE audio in games like Super Mario Galaxy. Ultimately though, I have to go with CPU fixes. Perhaps it's the fact that I have personally dealt with CPU-side errors in emulation, and I know they can be very difficult to track down and fix, but they're also some of the ones with the widest implications for a host of varied errors across multiple games. The emulated CPU is like the engine for the rocket-ship we all call Dolphin, and if the engine's busted, we don't go anywhere (we may even explode!) so a more accurate model for an emulated CPU gets top-notch marks in my book.
It's not like fixing the async issue really makes Zelda HLE decent Smile
Whereas it was previously unacceptable, it's at least been made acceptable Wink Personally speaking of course (and not speaking about code-quality either :p Gameplay-wise)
I'm going with tev fixes new. That merge brought a massive leap forward in graphical accuracy across a slew of titles.
CPU Accuracy Improvements and Disc Timing Accuracy Fixes.

I consider having synchronous HLE in Zelda UCode games a performance improvement even if it is more accurate than the previous implementation.
Fwiw, since all points other than "tev fixes new" are kind of multiple things grouped together, I'd also suggest grouping tfn with e.g. the tev combiner fixes into "More accurate pixel processing" or something like that.
Why are the Disc Timing Accuracy Fixes this underrated? :p

I really like how this is something which seems completely unimportant, yet can make a huge difference (not only for speedrunning but even for compatibility). And hands down, the sole fact that ripping games now has almost the same timing as on the real thing is just crazy :p
Pages: 1 2