Code Primer - Printable Version

+- (
+-- Forum: PPSSPP - Playstation Portable Simulator Suitable for Playing Portably (/forumdisplay.php?fid=1)
+--- Forum: Development (/forumdisplay.php?fid=3)
+--- Thread: Code Primer (/showthread.php?tid=555)

Code Primer - chinlahdin - 01-06-2013 09:21 PM

First I would like to thank and congratulate Henrik and the other contributors for the first release of ppsspp. You guys have done a tremendous job so far

I just downloaded, built, and ran the emulator successfully on my mac. However I now look at the code at a loss of what's going on. Is their a primer of overall code flow for the emulator? Are there tutorials on how to invoke basic functionality through code? Should I be reading outside sources to get a better understanding of psp emulators (Good Links)?

Thanks Guys

RE: Code Primer - [Unknown] - 01-07-2013 06:27 AM

Well, where do you want to start? I think the easiest place is HLE. HLE is basically a collection of functions that games call. Normally these are implemented by the firmware in MIPS, but we're implementing them natively both for speed and simplicity.

So for example, if you see that your game is showing errors like "Unimplemented function", you can try to get that function implemented.

The functions are all in Core/HLE/*.cpp.

The basic flow is that the CPU is implemented in Core/MIPS, the HLE in Core/HLE, the graphics in GPU/, and the UI in SDL/, Qt/, android/, Windows/, etc. Generally, the CPU hands things off to HLE (via syscalls), and some of those HLE functions talk to the GPU.

That's a basic primer.