Pubblicato un nuovo aggiornamento beta per psOff, l’emulatore della console PlayStation 4 per PC Windows sviluppato dal developer SysRay in collaborazione con igor725, GamingDuck e VKokielov.
L’aggiornamento include il passaggio a SDL2 per migliorare l’audio, il supporto del gamepad e il video, correzioni per il Thread Local Storage e altri piccoli aggiustamenti nel progetto.
Tuttavia, il passaggio a una versione più recente di clang ha causato problemi con pthread_exit(), che attualmente non è supportato e visualizza un messaggio di errore.
Descrizione
Come per tutti gli emulatori in sviluppo, anche psOff esegue un livello di compatibilità che consente al software scritto per un sistema operativo di funzionare su un sistema operativo ben diverso, traducendone le API e le chiamate di sistema.
Lo sviluppatore si è concentrato esclusivamente sulla parte di rendering iniziando solo di recente a implementare le funzioni di sistema per eseguire alcuni binari.
Attualmente non supporta:
- Invii multipli di buffer di comando.
- Cicli for negli shader.
- Opcode mancanti
Dipendenze
- Vulkan SDK 1.3.268.0, minimo.
- Driver grafici aggiornati (verranno aggiunte librerie Vulkan nelle future versioni, se necessario).
Per lo sviluppo
- Ninja.
- CMake.
- Visual Studio 2019, per l’ambiente di compilazione (clang-cl, c++20).
Installazione
Per i test, basta scaricare l’ultima versione e installare le Vulkan SDK.
Per lo sviluppo, impostare CMAKE_INSTALL_PREFIX
nella cartella degli emulatori scaricata.
Esecuzione del programma
.\emulator.exe --h
.\emulator.exe --file="C:/****/eboot.bin"
Se non viene definito --root
, utilizzare la cartella da --file
. Per test/benchmark, aggiungere anche --vsync=0
.
Si aspetta che il target sia nel seguente formato:
sce_module
sce_sys
eboot.bin
Sviluppo
Utilizzare thread, mutex e condizioni di Boost. Le attese devono essere attentibili per ricevere segnali falsi dal “kernel”.
Il progetto usa p7 per il tracciamento -> server Baical.
- Moduli: Le librerie PS4.
- Core: kernel, memoria, ecc..
Emulator.exe
: (dalle release) contiene l’esecuzione e il rendering.
Changelog
- Spostato a SDL2 (Audio, Gamepad, Video).
- Correzioni per il Thread Local Storage.
- Piccole correzioni.
- Ulteriore impostazione del progetto.
Il passaggio a una versione più recente di clang ha rotto pthread_exit()
. Se chiamato, viene stampato “Currently not supported, exit …”.
Download: psOff v0.3-beta
Download: Source code psOff v0.3-beta
Fonte: github.com