Home News Apparso in rete un nuovo emulatore sperimentale della console PlayStation 4 scritto...

Apparso in rete un nuovo emulatore sperimentale della console PlayStation 4 scritto in Rust

365
0

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.

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à codice unsafe, 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

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.