Live data from Hacker News

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

github.com

31–40 of 50 posts

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

#31
post #29

Earlier quoted context omitted.

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?

The PS4 uses a couple APIs for game graphics, GNM and GNMX[1]. I've heard that their shader language is similar to GLSL (corrected by lunixbochs). The menus are built in WebGL running inside a stripped-down Webkit browser. Developers are unable to use WebGL for games, but it isn't out of the question that will be supported in the future.

[1] https://en.wikipedia.org/wiki/PlayStation_4_system_software

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

#32
post #29

Earlier quoted context omitted.

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?

Yes, customs APIs. LibCGM on PS3, GNM and GNMX on PS4.

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

#33
post #29

Earlier quoted context omitted.

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?

The PS4 uses a couple APIs for game graphics, GNM and GNMX[1]. I've heard that their shader language is similar to GLSL (corrected by lunixbochs). The menus are built in WebGL running inside a stripped-down Webkit browser. Developers are unable to use WebGL for games, but it isn't out of the question that will be supported in the future. [1] https://en.wikipedia.org/wiki/PlayStation_4_system_software

HLSL is Microsoft's shading language. GLSL is the OpenGL shading language.

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

#34

Earlier quoted context omitted.

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…

I imagine that timing and synchronisation between things has to be emulated too for various operations to work as expected, further complicating this.

That was actually a big problem with PS2 emulation - some parts of the system were hardcoded to wait only a certain amount of time for a function to finish - because that function was ran on a different chip, and would always take the same amount of time. Now emulating that behaviour was incredibly difficult, especially if all of it had to run on a single CPU. The problem has been mitigated somewhat by multi-core CPUs,with each core emulating a different part of the PS2, but it's still far from ideal.

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

#35

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.

interesting tidbit - if you search 'turbo boost is a marketing scam' on google your comment is the first result.

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

#36
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...

"The real problem is that any modern x86 processor including the Pentium III can execute multiple instructions at once. So it's not like emulating a Z80 doing one instruction at a time. The actual algorithm and how x86 does this is undocumented and still unknown. In short, the Xbox's CPU can be emulated, but not accurately."

How is that relevant? Is there any code compiled for the Xbox that actually relies on how the P3 handles microops and pipelines things and all that? Cause if your argument is "X=A+B+C+D" might have several different ways of happening, the answer is that it doesn't matter. So I'm not sure why the author bring this up.

The Wii chip is also OOO but Dolphin seems to do a fantastic job.

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

#37
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?!?!?!

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

#38

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...

"The real problem is that any modern x86 processor including the Pentium III can execute multiple instructions at once. So it's not like emulating a Z80 doing one instruction at a time. The actual algorithm and how x86 does this is undocumented and still unknown. In short, the Xbox's CPU can be emulated, but not accurately." How is that relevant? Is there any code compiled for the Xbox that actually relies on how the…

Perhaps they know the PowerPC's algorithm for performing out of order execution? It might have been available for a long time, or have been shared to the public after IBM started opening up the Power architecture since 2004.

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

#39
post #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, writi…

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...

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

#40

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?!?!?!

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/

Post reply on HN