5 ms·
Emulating a PS3 is significantly harder than emulating a PS4, since on the PS3 you need to convert from the Cell architecture, whereas the PS4 is already x86.
by Deathmax 2y ago
Emulating a PS3 is significantly harder than emulating a PS4, since on the PS3 you need to convert from the Cell architecture, whereas the PS4 is already x86.
- reedf1 2y agoI think this too. My perception of the PS4 is it's just a PC in a box running FreeBSD (or something). I don't think there is any custom architecture at all. Much like a steam deck, which can already run some first party PS4 games just fine (e.g. Death Stranding). Would any emulation even be required?
- p_l 2y agoMain differences would be hardcoded expectations regarding very tight integration between GPU and CPU, and the available memory bandwidth. PS4 (and PS5, iirc) both use a custom OS built out of FreeBSD with specialized variant of an AMD APU using GDDR memory, plus PS5 got few extra coprocessors for handling things like decompression in line with storage access
- jorvi 2y agoSony also did some really weird stuff with the PS4 to make emulation harder, chiefly among them the PCIe “glue device”, a PCIe device that masquerades as one of 15 (?) different ones, depending on the function needed at that instant. Geohotz has a section on it in his presentation about jailbreaking the PS4.
- arthurmorgan 2y agoWhere can the presentation be found? Thanks in advance.
- whaleofatw2022 2y agoHere is one that marcan42 did, goes into some details. https://youtu.be/QMiubC6LdTA https://youtu.be/QMiubC6LdTA
- mmaniac 2y agoI can see how that would be difficult for low level emulation, but does it really matter for HLE? Retail games running on the PS4 don't care about the PCIe topology, they just use Sony's function call APIs.
- EPWN3D 2y agoThere are various ways they could be made to care, e.g. wrapping a function call in a macro that expands with some sort of assertion about hardware state. But I'm guessing that if they were told to design emulation counter-measures, it was to defeat hardware emulation and not WINE-style library shimming.
- badsectoracula 2y agoYou'd most likely need to run it in a VM and either implement the needed APIs or implement whatever the official OS needs to run (RPCS3 has you download the OS from Sony and implements whatever needed to run, Xenia on the other hand -Xbox360 emulator- reimplements the OS so that you don't need anything from Microsoft).
- dagmx 2y agoLots of things are unique about the x86 consoles. They have custom graphics APIs (and semi custom GPUs) which makes graphics translation one of the hardest parts. The graphics systems also assume shared memory which is not a given elsewhere. There are sometimes also some extra CPU instructions if it benefits the console that may not be prevalent, and require some translation. And it’s even more different when you get to the PS5 era where the systems have some very critical hardware systems like kraken decompression and direct storage which don’t have super prevalent equivalents.
- fngjdflmdflg 2y ago>And it’s even more different when you get to the PS5 era Do you think a PS4 emulator should be 90% of the way to a PS5 emulator being that they both use x86, AMD GPU and NVM/X? ps. I argued with you here[0] about Vulkan on MacOS, and after reading more about graphics APIs and game engines I can say I was wrong about some of what I said eg. "studios are generally using modified versions of UE so my guess is that means they are generally making low level changes sometimes, and so it makes sense to me that they sometimes may write their Dx/ Vulkan code for different things sometimes" which after researching, studios do heavily modify Unreal, but they do not seem to touch the rendering APIs. (with some exceptions like here[1]). Also "Adding an extra platform like MacOS [on UE] is not simply clicking a button" which I simply assumed is true but have no evidence for. [0] https://news.ycombinator.com/item?id=40586991 https://news.ycombinator.com/item?id=40586991 [1] https://www.youtube.com/watch?v=WGv_BjxvJ8M&t=2027s https://www.youtube.com/watch?v=WGv_BjxvJ8M&t=2027s (A Taste of Chocolate: Adding a Rendering Fast Path without Breaking Unreal Engine | Unreal Fest 2024)
- dagmx 2y agoI don’t think the PS4 and PS5 are all that similar. They use very different generations of CPU, and GPU. So shader libraries will be different for the most part. Also custom hardware on top of that for decoding and direct storage access, as well as a fairly updated SDK. It’ll certainly help because the underlying systems have the same thread of design running through them but I think it’s the same way a 3DS emulator can help with the switch or how Dolphin can’t really do Wii U games. They’re similar but not quite. And I’m surprised that conversation was remembered :-) thanks for bringing it up.
- darby_nine 2y agoI just sold my last x86 machine. I suspect emulation will be a long-standing concern.
- KeplerBoy 2y agoThat's a different problem. I guess emulation devs targeting consoles which originally ran x86 code will not ship arm binaries for a long time. That layer of translation will be left to rosetta 2 and whatever microsoft ships as translation layer.