Join Us and become a Member for a Verified Badge to access private areas with the latest PS4 PKGs.
Based on the ongoing Kyty PS4 / PS5 Emulator project, an experimental PlayStation 4 emulator written in Rust called Obliteration is also in development by ultimaweapon (sponsor Putta Khunchalee <3) allowing for PS4 Scene homebrew application testing via the previously released PS Scene Quiz PKG. šŸ˜€

Download: obliteration-main.zip / GIT

Here's more information via puttak on the Obliteration PS4 Emulator from the README.md: Obliteration

Obliteration is an experimental PS4 emulator based on Kyty. The project is in the process of migrating source from Kyty to make it work on both Windows and Linux so it cannot run any games that Kyty able to run yet.

Screen shots

Obliteration Experimental PS4 Emulator by Ultimaweapon Based on Kyty.png

Features
  • Built-in PKG file supports.
System requirements
  • Windows 10 x64 or Linux x86-64.
  • CPU that supports all of instructions on PS4 CPU. All modern Intel/AMD CPUs should meet with this requirement.
Building from source

Windows prerequisites

  • Visual Studio 2019
  • Rust 1.63
  • CMake 3.16
Linux prerequisites
  • GCC 9.4
  • Rust 1.63
  • CMake 3.16
Install Qt 6.2

You need to install Qt 6.2 manually on your system before you proceed.

Install Vulkan ***

For Windows just download from https://vulkan.lunarg.com/***/home. Once installed you need to restart your computer to make VULKAN_SDK environment variable effective.

For Linux it will be depend on your distro. For Arch Linux just install vulkan-devel and set VULKAN_SDK to /usr. For other distro try to find in its package repository first. If not found visit https://vulkan.lunarg.com/***/home to download and install it manually.

Clone the repository
You need to clone this repository with submodules like this:
Code:
git clone --recurse-submodules https://github.com/ultimaweapon/obliteration.git
Initialize VCPKG

Windows:

Code:
.\vcpkg\bootstrap-vcpkg.bat
Linux:
Code:
./vcpkg/bootstrap-vcpkg.sh
Install external dependencies

Windows:

Code:
.\vcpkg-restore.ps1
Linux:
Code:
./vcpkg-restore.sh
If the above command produced an error about Vulkan *** that mean you have improper Vulkan *** installed.

Configure build system

Windows:

Code:
cmake -B build -A x64
Linux:
Code:
cmake -B build -D CMAKE_BUILD_TYPE=Release
Build

Windows:

Code:
cmake --build build --config Release
Linux:
Code:
cmake --build build
Development

We recommended Visual Studio Code as a code editor with the following extensions:
Remove build directory from the installation from source step and open this folder with VS Code. Everything should work out of the box (e.g. code completion, debugging, etc).

Get a homebrew application for testing

If you don't have a PS4 application for testing you can download PS Scene Quiz for free here.

Rules for Rust sources
  • Don't be afraid to use unsafe when it is necessary. We are written an application that required very high performance code and we use Rust to assist us on this task, not to use Rust to compromise performance that C/C++ can provides.
  • Any functions that operate on pointers don't need to mark as unsafe. The reasons is because it will required the caller to wrap it in unsafe. We already embrace unsafe code so no point to make it harder to use.
  • Don't chain method calls without intermidate variable if the result code is hard to follow. We encourage code readability than a pleasure when writing so try to make it easy to read and understand for other people.
Rules for C++ sources

Just follow how Qt is written (e.g. coding style, etc.). Always prefers Qt classes over std when possible so you don't need to handle exception. Do not use Qt ui file to design the UI because it will break on high-DPI screen.

Starting point

The entry point of the application is inside src/main.cpp.

License

MIT
 

Comments

:fire: Latest Forum Topics

Top