4 ms·
It's worth noting that there's another credible PS4 emulator project that's been around for a while: Orbital [1]. I don't bring this up to suggest that GPCS4 i
by 0xcde4c3db 7y ago
It's worth noting that there's another credible PS4 emulator project that's been around for a while: Orbital [1].
I don't bring this up to suggest that GPCS4 isn't important or innovative, but to look at the big picture. Orbital is emulating PS4 at a low level and trying to actually run the PS4 operating system; its first "hype" screenshot was of the recovery mode prompting to push the PS button on the not-yet-emulated controller. Following Orbital, I've felt for a while that there would basically be a two-pronged approach where Orbital enables reverse-engineering and another emulator leverages those insights to enable a higher-performance approach for actually playing games. GPCS4 looks a lot like it could become that other emulator.
[1] https://github.com/AlexAltea/orbital https://github.com/AlexAltea/orbital
- grawprog 7y agoJust out of curiosity, is it really still an emulator when the processor architecture is the same as the host machine and all you're really doing is breaking through layers of encryption and lockouts? The ps4 runs on an AMD x86 cpu, would the instruction set not be the same as most PCs? Not that these aren't still cool projects I'm happy to see being worked on, but I always think of emulators as emulating one type of architecture on top of another. Maybe I'm wrong about all this, but your comment just made me think of this.
- 0xcde4c3db 7y agoIt definitely gets fuzzy. While the CPU family is the same, the overall system architecture is very different. For starters, the PS4 "south bridge" is almost an embedded system in its own right. It's also debatable to what extent shader translation overlaps with "emulation", because there are several different vendor/stack-specific notions of IRs and "precompiled" shaders that don't necessarily map well to the ISA vs. implementation distinctions that exist on CPUs.
- jerf 7y agoThere is no bright line for when something is or is not an emulator. It's not worth thinking about too much. There is a surprisingly smooth spectrum from "direct emulation of hardware gates" through "full recompilation to the target architecture", with a ton of mixing and matching of all the techniques.
- djsumdog 7y agoThe PS4 isn't a PC at all though. It's missing a bunch of core components, it has different memory maps and instead of a traditional motherboard chipset, it has a separate ARM controller that does crazy stuff. Checkout the Fail0ver video on porting Linux to the PS4. It's really interesting.
- Vel0cityX 7y agoHere's a link to the talk & blog post: https://fail0verflow.com/blog/2016/console-hacking-2016-postscript https://fail0verflow.com/blog/2016/console-hacking-2016-post...
- codetrotter 7y agoI remember watching that talk and thinking it was interesting but also that the guy was a little harsh on Sony. Sure the engineers at Sony may have done some weird choices in some places, but I think they likely had their reasons for doing things the way that they did. And at the end of the day, Sony delivered a console that works well for its intended purpose.
- tenebrisalietum 7y agoNothing is stopping you from truly emulating a CPU architecture on same architecture, but usually you don't want to for performance reasons (hence paravirtualized drivers and leveraging HW virtualization support). You might want to for security or other reasons, though. I think Bochs and DOSBox are examples of x86 emulated on x86.