Dallo sviluppo di Kyty arriva alla luce un primo fork denominato Obliteration, l’emulatore sperimentale della console PlayStation 4 per PC Windows e Linux scritto in Rust.
L’emulatore si comporta esattamente come Kyty riuscendo ad eseguire gli stessi titoli e le stesse applicazioni homebrew, né più né meno.
ultimaweapon/obliteration: An experimental PS4 emulator written in Rust https://t.co/nyvQSVhtDg
— @citrusui@mastodon.social (@echoesremained) September 21, 2022
Caratteristiche
- Supporta file PKG integrati.
Requisiti di sistema
- Windows 10 x64 o Linux x86-64.
- CPU che supporti tutte le istruzioni della CPU PS4. Tutte le moderne CPU Intel/AMD dovrebbero soddisfare questo requisito.
Compilazione
Prerequisiti Windows
- Visual Studio 2019
- Rust 1.63
- CMake 3.16
Prerequisiti Linux
- GCC 9.4
- Rust 1.63
- CMake 3.16
Installazione Qt
- Prima di procedere è necessario eseguire manualmente l’installazione di Qt 5.
Installazione Vulkan SDK
Per Windows basta scaricare da https://vulkan.lunarg.com/sdk/home. Una volta installato, è necessario riavviare il computer per rendere effettiva la variabile di ambiente VULKAN_SDK
.
Per Linux dipenderà dalla distribuzione. Per Arch Linux basta installare vulkan-devel
e impostare VULKAN_SDK
su /usr
. Per altre distro, provare prima a cercare nella repository di pacchetti. Se non presente, visitare il sito https://vulkan.lunarg.com/sdk/home per scaricarlo e installarlo manualmente.
Clonare la repository
- Per clonare la repository bisogna utilizzare alcuni sottomoduli come questi:
git clone --recurse-submodules https://github.com/ultimaweapon/obliteration.gi
Inizializzare VCPKG
- Windows:
.\vcpkg\bootstrap-vcpkg.bat
- Linux:
./vcpkg/bootstrap-vcpkg.sh
Installa dipendenze esterne
- Windows:
.\vcpkg-restore.ps1
- Linux:
./vcpkg-restore.sh
Se il comando precedente ha prodotto un errore su Vulkan SDK significa che è stata installata una versione impropria di Vulkan SDK.
Configura il sistema di compilazione
- Windows:
cmake -B build -A x64
- Linux:
cmake -B build -D CMAKE_BUILD_TYPE=Release
Compilazione
- Windows:
cmake --build build --config Release
- Linux:
cmake --build build
Sviluppo
Viene consigliato l’utilizzo di Visual Studio Code come editor di codice con le seguenti estensioni:
Rimuovere la directory build
dall’installazione dal passaggio di origine e aprire questa cartella con VS Code. Tutto dovrebbe funzionare immediatamente (ad es. completamento del codice, debugging, ecc..).
Ottenere un’applicazione homebrew per il test
Se non si dispone di un’applicazione homebrew della PS4 per eseguire test, è possibile scaricare PS Scene Quiz gratuitamente da qui.
Regole per le fonti di Rust
- Non aver paura di utilizzare
unsafe
quando è necessario. Abbiamo scritto un’applicazione che richiedeva codice a prestazioni molto elevate e utilizziamo Rust per assisterci in questa attività, non per utilizzare Rust per compromettere le prestazioni che C/C++ può fornire. - Tutte le funzioni che operano sui puntatori non devono essere contrassegnate come
unsafe
. Il motivo è che richiederà al chiamante di avvolgerlo in non sicuro. Accettiamo già codiceunsafe
, quindi non ha senso renderlo più difficile da usare. - Non concatenare le chiamate al metodo senza la variabile intermedia se il codice del risultato è difficile da seguire. Incoraggiamo la leggibilità del codice più che un piacere durante la scrittura, quindi cerca di renderlo facile da leggere e capire per le altre persone.
Regole per le fonti di C++
Seguire semplicemente come viene scritto Qt (ad es. stile di codifica, ecc..). Preferire sempre le classi Qt su std
quando possibile, quindi non è necessario gestire l’eccezione. Non utilizzare il file Qt ui
per progettare l’interfaccia utente perché si interromperà sullo schermo con DPI elevati.
Punto di partenza
- Il punto di ingresso dell’applicazione è all’interno di
src/main.cpp
.
Download: Source code Obliteration
Fonte: twitter.com