Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
what type of processor emulation does ppsspp use?
02-07-2016, 06:27 AM
Post: #2
RE: what type of processor emulation does ppsspp use?
Dynamic recompilation. The problem with static recompilation is that some games modify their own code. Static recompilation really only works if you know you have all the code upfront and know it can't change.

Static recompilation with some degree of dynamic recompilation is possible, though. You might even be able to get away with only doing it when the icache is cleared, but I'm not sure that'd be safe all the time.

We also have an interpreter. It's used on platforms (like iOS) where the jit cannot be used.

Note that on most devices, performance issues are not processor emulation related - they're typically graphics emulation related. That doesn't mean it won't be great to find a more efficient way to emulate the processor - but don't expect that to be enough to make e.g. God of War run at full speed on old devices.

If you're concerned about accuracy - PPSSPP generally times each cycle, but doesn't get interlock delays right (it doesn't even try.)

But ultimately, if you're writing your own emulator, you might want to start with an interpreter. It's the easiest way to tell if you've messed up. Jits will crash in hard to debug ways when you mess up, and so will statically recompiled code. I also recommend using pspautotests as a reference.

-[Unknown]
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: what type of processor emulation does ppsspp use? - [Unknown] - 02-07-2016 06:27 AM

Forum Jump: