Dolphin, the GameCube and Wii emulator - Forums

Full Version: Future Cycle-Accuracy
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
(02-24-2016, 07:32 PM)degasus Wrote: [ -> ]Right now, there are two hard features missing for cycles accurate PPC emulation:
- caches. Especially the data cache. This would slow down very much, but JMC47 did already request it Big Grin This will be interpreter only.
- out of order. The PPC timing would require us to emulate the pipeline state, with all kind of stalls, parallel execution, and out-of-order behavior. This would be a new level of LLE for the CPU.

I don't want to say never, but the performance hit will make it unuseable for playing games.

I'm surprised Dolphin has so high compatibility without emulating out of order execution and data cache. Is instruction cache already emulated?
Instruction cache is implemented, but only within the interpreter. The JIT has some kind of instruction cache, but a very inaccurate one. It's basicly a way to detect when to invalidate our JIT blocks.

Why should games depend on out-of-order execution? The CPU tries very hard to not have any effect, but timing. So as long as cycle accuracy doesn't matter, out-of-order doesn't matter either.
What I'll say may be not very accurate but,

VERY generally speaking, for me there are 3 main types of consoles emulators : very-hacky ones, balanced ones (like Dolphin) and cycle-accurate ones (like Higan or CEN64). Once a emulation-strategy is chosen (hacky, balanced or accuracy) and development have begun, it's impossible to change it unless if the dev team rewrites (or adds) -pretty close to- all parts of the emulator with new algorithms, which is almost the same thing than restart from scratch.
In theory, you're right. But it's much better for the motivation to being able to just press a start button and to launch a game on a break. Starting from scratch is very hard.
(02-26-2016, 01:50 AM)DrHouse64 Wrote: [ -> ]What I'll say may be not very accurate but,

VERY generally speaking, for me there are 3 main types of consoles emulators : very-hacky ones, balanced ones (like Dolphin) and cycle-accurate ones (like Higan or CEN64). Once a emulation-strategy is chosen (hacky, balanced or accuracy) and development have begun, it's impossible to change it unless if the dev team rewrites (or adds) -pretty close to- all parts of the emulator with new algorithms, which is almost the same thing than restart from scratch.

That's interesting.  I was under the impression that most emulators start off very hacky just to get something running...then as development progresses or more is known about the hardware, more emphasis is placed on accuracy.  
Pages: 1 2