
RPCS3: An open-source PlayStation 3 emulator for Windows written in C++ - CrystalCuckoo
https://github.com/DHrpcs3/rpcs3/wiki/FAQ
======
rubyn00bie
Uhh... it's also for Linux. Comments in the forums look like the Linux version
is just as mature as the Windows one. Also the FAQ says nothing about "windows
only."

Gotta make sure Windows doesn't get all the gaming glory, eh? Eh?! Eh?!?!?!

~~~
simcop2387
Top lines of the FAQ currently

> What is RPCS3?

> RPCS3 is an open-source Sony PlayStation 3 emulator for Windows written in
> C++. It currently runs only small homebrew applications. The source code for
> RPCS3 is hosted at:
> [https://github.com/DHrpcs3/rpcs3/](https://github.com/DHrpcs3/rpcs3/)

~~~
rubyn00bie
It doesn't say "only," and at the bottom of the page:

As long as this platform is powerful enough to emulate the PlayStation 3, yes,
there is a high chance that RPCS3 will be ported there. However, at the moment
we only target Windows and Linux.

Boo-ya-ka-sha? FAQ is probably just outdated. Never seen that on an open
source project ;-) luckily I read the whole thing <3

------
catmanjan
Here is a video of it running Disgaea 3
[https://www.youtube.com/watch?v=IQEv6B6fIgA](https://www.youtube.com/watch?v=IQEv6B6fIgA)

~~~
jerf
Don't miss the comment in the video description that the video itself is sped
up by a factor of 8.

It's definitely a start, though!

------
Sir_Cmpwn
Xbox 360 emulator under the same line of thought:
[https://github.com/benvanik/xenia](https://github.com/benvanik/xenia)

------
Springtime
The first public version was released in 2011 [1], they've come a long way.
Kudos to them for keeping at it all this time, always a little encouraging to
hear progress on such projects.

[1]
[http://code.google.com/p/rpcs3/source/detail?r=1](http://code.google.com/p/rpcs3/source/detail?r=1)

------
simias
I wonder if we'll see "emulators" for the PS4 and XBox One soon (maybe even
sooner than usable PS3 emulators) given that they both use x86-64 CPU
architecture.

It seems we wouldn't even need emulation, "just" an API emulation layer like
Wine. And I think the ps3 used openGL, so it might not be too difficult to map
that to native calls. And unlike emulators we'd get near-native speeds.

Actually that sounds a bit too simple to be true, what am I missing?

~~~
comex
A few things:

Neither system's encryption has been cracked yet.

Both systems have "hUMA", where the GPU and CPU have a coherent view of memory
(at least on the "Onion" bus) and the former can even page fault. This likely
makes them rather difficult to emulate properly on computers that don't have
similar AMD cards, and I think AMD hasn't even properly exposed APIs for this
for those cards on PC.

And, of course, writing something like Wine is a huge amount of work.

But it's definitely possible.

~~~
wlesieutre
Also worth pointing out that while AMD does have PC hardware with hUMA (Kaveri
series APUs), the unified memory pool only exists when you're using the
integrated graphics processor. If you hook up a discrete GPU (which most
gamers do) you get two separate memory pools that are in a unified address
space, but don't have the magical consistency benefits that hUMA can give a
CPU+GPU working on the same data. Not my area of expertise, but I doubt that
kind of setup will help with PS4/XBOne emulation.

For drivers, proper support for hUMA isn't available yet on PC. There's some
pretty recent information on AnandTech:
[http://www.anandtech.com/show/7825/amd-updates-driver-
roadma...](http://www.anandtech.com/show/7825/amd-updates-driver-roadmap-for-
supporting-hsa-features-in-kaveri)

------
higherpurpose
I doubt this will run well on anything but the latest high base clock PC's. I
have a 2.2 Ghz Sandy Bridge laptop, with Turbo Boost up to 3.1 Ghz, but Turbo
Boost is mainly marketing scam by Intel, so it will run as if it's 2.2 Ghz.
Plus Haswell only has a ~15 percent IPC improvement over SNB. With the PS2
emulator I can't even get 60 fps for most games.

~~~
noir_lord
Does it matter though, this is an elegant hack in the true sense of the word.

The cell processors architecture pretty much rules out high fidelity emulation
directly on an x86 chip any time soon.

Not all hacks have to be useful (even for a given value of useful).

~~~
juliangoldsmith
I disagree. High-speed emulation of the processor would be possible using
dynamic recompilation, a la QEmu. Someone would just have to write the code to
do it.

~~~
noir_lord
It's not "just" a software problem.

The SPU's are a fundamentally different architecture to an x86 been something
akin to a graphics card, heavily optimised for a very particular kind of
floating point calculations (somewhat similar to SSE but much more task
focused).

A more likely approach is to use something like CUDA/OpenCL but again while
closer in architecture the SPU's are _incredibly_ optimised for one thing.

~~~
cc439
I think the best chance for emulating the SPUs would be with an Intel
processor equipped with Iris Pro and the shared L4 cache. The latency and
memory sharing issues involved with using a dedicated GPU would impose a huge
bottleneck and the AMD APUs are just so weak in IPC terms.

------
caractacus
How will this finesse the (hardware-based) DRM on PS3 games?

~~~
jevinskie
Most of the encryption done on the PS3 is actually performed in software on an
isolated SPU core. The crypto code has been dumped and the algorithms
reversed. This emulator leverages naehrwert's excellent scetool to decrypt the
SELF files.

