Live data from Hacker News

RPCS3: An open-source PlayStation 3 emulator for Windows written in C++

github.com

21–30 of 50 posts

Re: RPCS3: An open-source PlayStation 3 emulator for Windows written in C++

#21
post #13

Earlier quoted context omitted.

I did not know that the GPUs are that different from their desktop cousins. Do you know the reason for this?

They are not, the problem is how you use them. For example - fetching a texture data on PS3 takes about 50 clock cycles, while on a PC it takes 1000-2000 cycles, because the request has to go through all the driver layers first. PS3 uses its own version of OpenGL(PSGL) which has a much more low level access to hardware. That level of access is simply not provided by PC hardware, so it has to be somehow emulated - and…

Maybe it's possible to pre-load a lot of textures and stuff since PC GPU:s has so much RAM

Re: RPCS3: An open-source PlayStation 3 emulator for Windows written in C++

#23
post #10

Earlier quoted context omitted.

Do you think this is because of difficulty in emulation or because the X-Box was so easy to hack? It was not super expensive to buy a used X-Box and mod it even back when new games were coming out for it, so maybe it just didn't seem like a worthwhile investment to spend time writing an emulator?

I'd recommend reading this post [1] by the dev of an existing Xbox emulator. It's a summary of the issues inherent to the emulation of the original Xbox, highlighting some major hurdles and technical difficulties that would have to be overcome. [1] http://www.neogaf.com/forum/showpost.php?p=48088464&postcoun...

Why doesn't the developer's post address the possibility of visualizing the CPU rather than emulating it?

Re: RPCS3: An open-source PlayStation 3 emulator for Windows written in C++

#24

Earlier quoted context omitted.

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.

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.

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.

Re: RPCS3: An open-source PlayStation 3 emulator for Windows written in C++

#25
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?

Re: RPCS3: An open-source PlayStation 3 emulator for Windows written in C++

#26
post #25

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 s…

Neither PS3 nor PS4 (if that's what you meant) use OpenGL. I don't know why this myth is so prevalent.

Re: RPCS3: An open-source PlayStation 3 emulator for Windows written in C++

#27

Earlier quoted context omitted.

I'd recommend reading this post [1] by the dev of an existing Xbox emulator. It's a summary of the issues inherent to the emulation of the original Xbox, highlighting some major hurdles and technical difficulties that would have to be overcome. [1] http://www.neogaf.com/forum/showpost.php?p=48088464&postcoun...

Why doesn't the developer's post address the possibility of visualizing the CPU rather than emulating it?

I don't think you can get accurate emulation that way. You may end up with games running at different speeds depending on what CPU you have. Some may be too fast or too slow to be playable.

Re: RPCS3: An open-source PlayStation 3 emulator for Windows written in C++

#28
post #25

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 s…

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.

Re: RPCS3: An open-source PlayStation 3 emulator for Windows written in C++

#29
post #25

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 s…

Neither PS3 nor PS4 (if that's what you meant) use OpenGL. I don't know why this myth is so prevalent.

I was talking specifically about the PS4. I don't know why I thought they'd use OpenGL, I just naively thought Xbox == DirectX and PS4 == OpenGL. Seemed easier for the devs to port their games on a well known and documented API.

What do they use instead? A custom API?

Re: RPCS3: An open-source PlayStation 3 emulator for Windows written in C++

#30
post #25

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 s…

I won't bet on it. The original XBox was also x86, and there still isn't an emulator for it available.
Post reply on HN