The development of emulators for current generation consoles is proceeding very smoothly. Nintendo Switch emulator Yuzu is making excellent progress, and it seems like things are moving ahead regarding PlayStation 4 emulation, with Orbital making some good progress as well.
A recent video showcases the progress made by the PlayStation 4 experimental emulator. The system manages to enter Safe Mode successfully, so this is excellent progress.
All drivers initialize correctly.
VFS is successfully loaded.
First userland application, /mini-syscore.elf, is decrypted and launched successfully. Shortly after /SceSysAvControl.elf is lauched which successfully handles system events. Simultaneously, mini-syscore detects an issue with the HDD, which is to be expected during first-time boots, and launches /safemode.elf. The system enters Safe Mode successfully, but gets frozen while rendering the safe mode menu.
Orbital is a virtualization-based PlayStation 4 emulator which manages to work by emulating SAMU keys, as they have yet to be dumped.
How does Orbital work without having SAMU keys?
Until keys are dumped, decryption with SAMU will be “emulated” by hashing encrypted input blobs and returning decrypted blobs previously obtained from the actual console.
My kernel dump crashes shortly after booting. Why?
Kernel ELFs generated from memory dumps will not work since writable segments might have been modified into a state where booting is not possible. Please generate proper binaries offline by decrypting ELF segments with SAMU on your actual console, not by dumping memory.
Where can I get Orbital?
This project is not ready for end users. No binaries are provided, so you must build each of the three components (BIOS, GRUB, QEMU) yourself. Furthermore, configuring the emulator to do something will be hard, as you will need to dump and decrypt the entire PS4 filesystem and sflash, including the kernel. You might find hints on how to do this in the few scattered .sh files in this repo. Of course, in the future, I’ll make this emulator more user-friendly.
More information on Orbital can be found on Github.