Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
what type of processor emulation does ppsspp use?
02-12-2016, 05:49 AM (This post was last modified: 02-12-2016 05:57 AM by grief3r.)
Post: #3
RE: what type of processor emulation does ppsspp use?
(02-07-2016 06:27 AM)[Unknown] Wrote:  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]

I've got another question, ive been looking through a few games ISO's to see how they are structured, and i stumbled upong this "modules" folder, with libraries that seem to be compressed using some kind of sce header (ie libmt19937.prx ), they seem to be static libraries that get linked during run time, was wondering if there's any source code that deals with this decompression

i think that should make it possible to interpret any given instruction from any given game, since you have the eboot which contains some code, a bunch other prx on some other directory with more code ( not all games seem to have this but some do) , and these libraries under the modules directory that i can't seem to figure out how to find what code they contain

as far as games self extracting code goes , i imagine that's already handled by the instructions already hard coded into the game
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? - grief3r - 02-12-2016 05:49 AM

Forum Jump: