Xbox One plays a number of 360 games fine.
Apple used QuickTransit for their PPC apps on Intel migration to great success.
I guess Sony just didn’t want to pay the emulator tax?
The xbox one/series consoles run a good number of 360 games dispite the fact that the 360 uses powerPC and the newer consoles are x86.
Sony is out here getting shown up by rpcs3 having about 70℅ of their listed games working perfectly fine by hobbyists reverse engineering the ps3.
Apple did the same again with their ARM migration and in my experience it worked great. I believe Microsoft also has a solution for running x86 software on ARM.
But Apple’s solution isn’t pure software emulation, the SoC has special hardware inside to make it translate a lot faster.
The original Rosetta, which was emulating PPC on x86 is directly comparable to the situation of PS3-game-on-PS4 hardware. I was able to play Halo CE for Mac on x86 with Rosetta and it felt native.
The point is that this isn’t a limitation of technology, this was a decision on Sony’s part.
There’s some weird online connection issues on 360 that occur with certain modern routers. You get dropped randomly from the game. Annoyingly, the emulated 360 on One doesn’t skirt around the issue. It was annoying for Borderlands but made Left 4 Dead worthless on anything besides easy
It is hard. PS3 has incredibly specialized hardware. Even game developers had trouble making games for it at the time because it’s so arcane.
Yes it is hard, and that was their damn fault. I can’t believe they expected developers to have to program which processors take which loads with such granularity. Unbelievably stupid.
It is, and it does provide improved performance at the expense of complexity. Both India and the US Air Force actually used clusters of PS3s to create supercomputers.
https://en.m.wikipedia.org/wiki/Cell_(processor) has some more details as well
Nah, that’s still a bunch of bull, they designed it and have all the documentation. They know all of its functionality, hidden or otherwise, it’s “undocumented” functions, it’s quirk’s, the very ins and outs of it. They probably still have original designers on staff. They have far more knowledge and experience of their own design than any game developers.
And yet RPCS3, an open source PS3 emulator based on reverse engineered research is able to achieve decent playability on most games.
Not to mention, they’re a multi-billion dollar company, don’t make excuses for them.
They probably have a bunch of developers like me: Dafuq did I do yesterday? 😵💫
AFAIK, the documentation isn’t the main problem. I’m pretty sure PS3 is quite well understood.
The problem is how to translate the code to a typical X86 architecture. PS3’s uses a very different architecture with a big focus on their own special way on doing parallelism. It’s not an easy translation, and it must be done at great speed.
The work on RPCS3 incredible, but it took them more than a decade of optimizations to get where they are now. Wii U emulation got figured out relatively quickly in comparison, even if it uses similar specs to PS3.
There can be a lot of subtle changes going from one uarch to another.
Eg, C/C++ for x64 and ARM both use a coprocessor register to store the pointer to thread-local storage. On x64, you can offset that address and read it from memory as an atomic operation. On ARM, you need to first load it into a core register, then you can read the address with offset from memory. This makes accessing thread-local memory on ARM more complicated to do in a thread safe manner than on x64 because you need to be sure you don’t get pre-empted between those two instructions or one thread can end up with another’s thread-local memory pointer. Some details might be off, it’s been a while since I dealt with this issue. I think there was another thing that had to line up perfectly for the bug to happen (like have it happen during a user-mode context switch).
And that’s an example for two more similar uarchs. I’m not familiar with cell but I understand it to be a lot more different than x64 vs ARM. Sure, they’ve got all the documentation and probably still even have the collective expertise such that everything is known by at least someone without needing to look it up, but those individuals might not have that same understanding on the x64 side of things to see the pitfalls before running into them.
And even once they experience various bugs, they still need to be debugged to figure out what’s going on, and there’s potential that the solution isn’t even possible in the paradigm used to design whatever go-between system they were currently working on.
They are both Turing complete, so there is a 1:1 functional equivalence between them (ie, anything one can do, the other can). But it doesn’t mean both will be able to do it as fast as the other. An obvious example of this is desktops with 2024 hardware and desktops with 1990 hardware also have that 1:1 functional equivalence, but the more recent machines run circles around the older ones.
That’s all understandable, for a startup or young company. But this is Sony a multi-billion dollar electronics company with many MANY released devices and software projects under its belt.
If they had taken things seriously, invested the proper funding and pulled the appropriate personnel they would have no problems getting something out that can beat RPCS3 in a year tops.
They tried to just slap something together as (what someone around here commented a while back) a minimum value add product and shove it out the door. Any claims of “It’s just too hard” they try to make is nothing but cover AFAIC now that people are starting to call them out on it
I don’t think it being hard is really the issue. Sony is a billion dollar multi-national corporation and they don’t get any benefit of the doubt whatsoever. Is it hard? Maybe it is, but maybe they should have thought of what they were going to do in the future when they were designing this. As was pointed out elsewhere, volunteers making an open source emulator are managing it so Sony not wanting to, or being unable to, isn’t an excuse.
sony made a console so hard to develop for they can’t even figure it out themselves
This is the actual truth. Revisiting the catalog of early cross platform games and it’s evident that Sony engineers couldn’t get anything running well on there for the first three years of its lifespan. The same games ran just fine on the Xbox360.
its why bethesda games always had lots of problems on ps3 and their dlc was always delayed
It’s actually great to develop for. It was an early glimpse of fixed-size vector units, and to a lesser extent, general-purpose shaders.
What sucks is trying to do anything for it on any other hardware, or vice-versa.
There’s a reason PS3 exclusives looked gorgeous and ran smoothly right out the gate. There’s also a reason half of them remain PS3 exclusives, two decades later.
Emulating a processor with a unique set of properties, including infinite scalability, is hard. You can’t just put an emulation layer on top of x86 like you can with a processor that’s a subset of x86 instructions
you can to some extent, its not like you couldnt throw an emulator designed for one architecture to one with a subset, as its already shown on the PS4 for example that you could throw dolphin and cemu on a ps4 running linux. (not that it would run nice, but its possible).
its only harder if youre trying to do it in the base OS necause the base OS is usually lacking a graphics API rather than it be a hardware issue itself that presents problems. Its why jokingly people are saying the Xbox Series may be able to run PS3 soon beccause dev mode was updated with Mesa, which includes support from both opengl and vulkan. And alien hardware isnt usually always the issue, given random devices are capable of pf running Sega Saturn, which on its own lile the PS3, had extremely unique hardware
The PS3 is the epitome of “idiots admire complexity […]” it was needlessly complicated with its cell architecture.
I think the world has learned from this, since we’re abstracting and decoupling much more than before, as well as developing new and modernising old tooling all the time to lower that barrier to entry.
Shout outs to the game Devs who had to deal with this shit for 3 years straight, as their keyboards were probably salty from all the crying, their rubber ducky all crumpled and deflated.