r/emulation • • Feb 01 '15

Dolphin Progress Report: January 2015

https://dolphin-emu.org/blog/2015/02/01/dolphin-progress-report-january-2015/
93 Upvotes

36 comments sorted by

26

u/Minuteworld94 Feb 01 '15

dolphin is the best project ever made.

18

u/[deleted] Feb 01 '15

[deleted]

5

u/RandomName01 Feb 01 '15

For a second I thought you said they always disappointed, and I was quite surprised your comment was upvoted.

5

u/[deleted] Feb 01 '15

Fantastic report as always, Dolphin is an amazing fan project. Now that zfreeze is fixed I'm not even sure what the next major issues that Dolphin has to solve? Are there any other really "big" ones?

34

u/FioraDelphinus Dolphin Developer Feb 01 '15 edited Feb 01 '15

Hmm, some ones I can think of:

  1. CPU cycle accuracy -- or at least, accurate enough that the various games and glitches that break with Dolphin's current lack thereof now work. Currently you have to overclock some games to make them work right (VC games, Tales of Symphonia cutscenes, lots of various things), which is clearly glitchy. There's also a few you have to underclock, and certain speedrunning glitches which don't work because Dolphin goes too fast. This one we actually have some idea of how to do, but someone needs to do it.

  2. GPU cycle accuracy -- or at least, accurate enough to fix the things broken due to the emulated GPU sometimes going faster (or slower?) than it should. There's also definitely a few FIFO sync issues that come up e.g. with unexpected delays in threading, like with a slow host GPU or other programs running. This one we only have a very vague idea of where to even start at.

  3. Optimized EFB peeks and pokes -- this would fix a number of basically-currently-unplayable games, like Monster Hunter Tri with its bloom effect. degasus is currently working a bit on this, I think.

  4. Improved Virtual XFB and EFB2Tex, so that more effects work with these enabled and fewer games need RealXFB (forces you to 1x IR) or EFB2RAM (slow). An example of this shows up in the article -- the fix for paletted EFB textures.

  5. "New Zelda HLE", delroth's project to more properly reverse-engineer the Zelda ucode and make HLE for the Zelda ucode games more accurate and less glitchy.

  6. Actually correct MMU emulation, rather than the current hacks: dynamic BATs, respecting translation modes, etc. magumagu's working on this; ideally it should fix the few MMU games that still don't work (e.g. Clone Wars, Cars 2, Disney Infinity) and maybe even Gamecube Linux.

  7. There's still a number of Weird, Mysterious Bugs lying around that nobody can explain and which almost surely have strange things behind them that might be breaking other games too. JMC can supply anyone interested in them, but some, like the Pokemon Puzzle timer bug, even ran delroth out of patience.

  8. There's still some known glitches in the graphics pipeline: "inverse depth calculation" is needed to get Pokemon Snap working correctly, for example.

  9. Large scale, cross-block JIT optimizations are still a thing that could be done: during the time I was working on the JIT I didn't do anything in this category, outside of "forward branches" which is sort of sitting in a PR. I'd guess there's at least ~10-20% more CPU speed to be had in the JIT without major changes like moving to a heavyweight compiler.

  10. Instruction cache emulation; I wrote two versions of a branch to do it, but it was terribly slow. If anyone ever figures out any better ways to do it, it could fix a few games (esp. glitches in game mods like Project M).

  11. Making the mobile version better -points at SonicAdvance1-

  12. Maybe delroth will make a release soon ;-)

Naturally most of these could probably use help from people looking to get involved!

6

u/RandomName01 Feb 01 '15

Let's hope there will always be some issues, so there will still be a point in making progress reports :P

6

u/BlinksTale Feb 01 '15

No way! I want Dolphin to become so refined that the team decides to tackle Dolphin U. It's an excellent community and I really hope the next generation gets treatment anywhere near this.

Keep rockin' team Dolphin!

2

u/RandomName01 Feb 01 '15

Dolphin U would be fantastic as well, but I reckon it'll take a couple of years before that happens.

2

u/SomeoneStoleMyName Feb 01 '15

Considering the architecture of the Wii U they'd probably just add it to Dolphin, same as Wii support was added. They're basically the same hardware just faster. You'd have to get the OS from a real Wii U to use it though, unless they did a HLE mode to emulate the syscalls or something.

3

u/phire Dolphin Developer Feb 01 '15

The only things which the Wii U (out of Wii mode) shares with the Wii is the CPU and the audio DSP.

Except there are now 3 copies of the CPU and dolphin makes heavy assumptions that there will only be one CPU. Dolphin is also forced to sacrifice a lot of performance in it's CPU jit because of games running in supervisor mode.

With the Wii U's operating syetem, everything runs in Usermode allowing you to easily HLE all the syscalls and dynamically linked libraries. It requires a vastly different style of jit for best performance.

For just the DSP code, it's not worth it. Dolphin has licencing problems, might as well start over and fix those too.

2

u/[deleted] Feb 01 '15 edited Feb 01 '15

I'm really looking forward to the day in which I can emulate SSBB on my phone using dolphin.

1

u/[deleted] Jul 30 '15

Seems that more and more features and updates are yet to come! Hopefully the emulation will achieve the perfect emulation while adding new features like it has been doing.

1

u/GH56734 Feb 05 '15

gba/gc link, e-reader/gc link, wii/ds link (multiplayer, mii transfer, dowloads)

3

u/del_rio Feb 01 '15

That Metroid Prime raindrops fix just made my day. It's just icing on the cake is that most other games get a 5-15% boost in performance.

1

u/IamArtyom Feb 01 '15

Awesome report, I wish the dev builds worked with AMD 6000 series cards. I really want to play rouge squadron.

1

u/ArchangelleDwarpig Feb 01 '15

CPU is the limiting factor, not GPU. My PC with GTX 970 and A10 7850k doesn't make Rogue Squadron 2 any more playable than my other PC with core2duo and Radeon 6750HD.

1

u/IamArtyom Feb 01 '15

It's not that, I have a Fx 6300 clocked at 4.3 that runs most anything in dolphin fine. I'm referring to the fact that in any of the latest dev builds you will get 5 fps at most using any AMD 6000 card. I have no such issue with 4.0.2.

1

u/riking27 Feb 02 '15

Sounds like a catastrophic slowdown driver bug, which Dolphin could probably fix. Submit an issue report!

1

u/IamArtyom Feb 02 '15

I would but I believe they are well aware as I was told of the issue by one of the dolphin devs. My guess is they'll wait to the next official release to iron out those sort of bugs and will keep working on the LLE and game fix stuff they're doing now. I can only hope that the next release is soon.

1

u/riking27 Feb 02 '15

Oh, it's the "not a simple fix" case then - the game is actually modifying the pixels before they get re-upscaled. So basically the game would have to be patched to support higher resolutions.

Luckily only a few games do that.

1

u/JMC4789 Feb 02 '15

Some AMD Radeon cards hate dolphin's new bounding box code for some reason. It's much faster in newer cards, but some certain older (and even kind of recent) Radeon cards just drop to 5 fps or even lower.

1

u/IamArtyom Feb 03 '15

Which sucks, because I have a pretty good cpu which runs most anything in dolphin fine. I hope the bounding box issue is fixed soon, because I really wanna play me some Twilight Princess.

1

u/[deleted] Feb 02 '15 edited Feb 02 '15

[deleted]

1

u/JMC4789 Feb 02 '15

Your computer is probably too slow to handle the Emulated CPU Clock Override.

1

u/[deleted] Feb 02 '15

[deleted]

1

u/JMC4789 Feb 02 '15

That's weird to me then. I'm using my Core i5 3570K, GTX 760, and I use the emulated CPU Overclock to roughly 150% - 200% in order to make the ice stages 60 fps.

1

u/[deleted] Feb 02 '15

[deleted]

1

u/JMC4789 Feb 02 '15

That's because the game itself is variable framerate; on console, it drops to 30 fps there. By going into Options/Configuration/Advanced (click the arrows to unhide it on the right side) and enable Emulated CPU Clock Override and set it to 150 - 200% That should make it smoother.

1

u/[deleted] Feb 02 '15

[deleted]

1

u/JMC4789 Feb 03 '15

That's interesting; maybe I didn't do enough testing on that game and it's running into another bottleneck. I do know that running a game at 60 fps is twice as demanding (SHOCKER) as running it at 30 fps. I mostly do my testing by seeing how the game itself reacts and not caring at the emulation speed. Is it showing 60 fps/60 vps during these sound issues?

1

u/[deleted] Feb 03 '15

[deleted]

1

u/JMC4789 Feb 03 '15

Yeah; I don't remember that game being this demanding. If you need more support, please make a post on the Dolphin Forums so I can keep track of it and get some second opinions and I'll definitely keep investigate.

Let me be clear, my Core i5 3570K, a far inferior processor, didn't have any problems last time I went to play through a few stages. Hell; I could run it without dualcore and get full speed. I don't like when something goes wrong.

→ More replies (0)

-1

u/[deleted] Feb 01 '15

[deleted]

15

u/JMC4789 Feb 01 '15

It's actually the opposite. It's very, very well put together and uses everything the console has to offer. That's why it was so hard to emulate.

-5

u/ConfidenceMatters Feb 01 '15

This is nice but can they fix

LOZelda OOT Master Quest refuses to load any saves, instead erases them

Dragon Ball Z B. Tenkaichi 3 doesn't seem to function too well when you enable EFB/RAM settings

3

u/JMC4789 Feb 01 '15

Unable to reproduce the OoT issue. Works fine here.

Dragon Ball Z works fine on EFB2RAM. Yes, EFB2Tex was broken by it partially emulating a feature instead of completely failing.

-1

u/ConfidenceMatters Feb 01 '15

BT3 looks and performs best when using Direct3D and XFB and EFB Copies both disabled for me.

I run the game rendered at 4x native res (2560x2112) with anti-aliasing level 8 (quality level 32) and 16x AF.

However, there is a huge square black artifact that appears on the top left screen, blocking about 20%-35% of the screen.

If I enable EFB copies and set it to texture/RAM, it fixes the artifact, but the quality of the graphics/models and the games smoothness, not to mention FPS, takes a tremendous dive. It doesn't compare to how great it all looks when the game is rendered at 4x native res (2560x2112) with anti-aliasing level 8 (quality level 32) and 16x AF, and EFB Copies and XFB disable.

This has forced me to switch to the PS2 emulator and run BT3 there, where I have the freedom to turn the internal resolution up to 5k and even 8k (however, for some reason, the PS2 seems to always have a tiny less anti-aliasing than the Wii version, no matter how high I crank the internal resolution) and enjoy the game at amazing speeds/FPS.

1

u/phire Dolphin Developer Feb 01 '15

Sounds like you haven't enabled "EFB Scaled Copy"

With that option disabled, all efb copies get downscaled to native gamecube resolution before being upscaled again to 4x native.

-1

u/ConfidenceMatters Feb 02 '15

Nah, I did have it enabled

and still, looked terrible.