Pubblicato un nuovo aggiornamento per shadPS4, l’emulatore della console PlayStation 4 per PC Windows, MacOS e Linux sviluppato da georgemoralis, meglio noto sulla scena come shadow, fondatore e programmatore di molti altri progetti di emulazione.
Questo nuovo aggiornamento introduce diverse modifiche sostanziali. Tra le novità principali, spiccano le correzioni al ricompilatore degli shader e il supporto emulato per CPU che non dispongono delle istruzioni SSE4.2a, tipicamente i processori Intel meno recenti.
Inoltre, l’emulatore ora ha un sistema di sincronizzazione dei fotogrammi a 60 fps precisi, grazie a un grafico dei frame più dettagliato, e una gestione ottimizzata dei dati di salvataggio che corregge problemi di puntatori nulli e di scrittura concorrente.
Aggiunta anche una funzionalità di aggiornamento automatico, insieme a una nuova finestra di dialogo per la segnalazione degli errori.
Il sistema di rendering è stato potenziato grazie alla ricreazione della catena di scambio e al supporto per il ridimensionamento dinamico della finestra.
La lista dei giochi ora include la possibilità di riprodurre la musica di sottofondo e il tema dei titoli. Sono stati risolti alcuni problemi legati alla gestione dei log di errori nel kernel, migliorando la stabilità generale.
Anche la navigazione nella lista dei giochi è stata ottimizzata per un uso più agevole con la tastiera.
Per quanto riguarda la gestione della memoria, è stata implementata una nuova struttura di memoria condivisa, insieme a una serie di correzioni che risolvono problemi legati al caricamento dei file PKG.
L’audio è stato ristrutturato per migliorare la gestione degli intervalli e dei buffer, con controlli aggiuntivi per garantire un flusso sonoro più fluido e stabile.
Sono state introdotte anche nuove funzionalità per i programmatori, come l’Explorer PM4 nei devtools, e un supporto iniziale per gli shader di geometria.
Il supporto touchpad è migliorato, permettendo di utilizzarlo anche su controller non PS4/PS5 tramite il pulsante di ritorno. L’emulatore consente inoltre di configurare cartelle di installazione multiple e, per gli utenti Linux, utilizza ora una directory dati standardizzata.
Il sistema di rendering Vulkan è stato perfezionato con l’inserimento di marker di colore per il debug, mentre l’implementazione della libreria IME e la gestione della decodifica video sono state migliorate per offrire una maggiore compatibilità con diversi giochi e applicazioni.
Sono stati infine risolti problemi di rete e ottimizzato il polling degli input della libreria libScePad.
Changelog
- Correzioni al ricompilatore degli shader.
- Supporto emulato per CPU Intel senza SSE4.2a.
- Grafico dei frame e sincronizzazione precisa a 60 fps.
- Dati di salvataggio: Risoluzione di problemi con puntatori nulli e scrittura concorrente sui file.
- Aggiornamento automatico.
- Implementazione di una finestra di dialogo per gli errori.
- Ricreazione della catena di scambio e ridimensionamento della finestra.
- Aggiunta della riproduzione di musica di sottofondo/titolo nella lista giochi.
- Kernel: Disattivazione del log di errore di
sceKernelWaitEventFlag
in caso di timeout. - Miglioramento della navigazione tramite tastiera nella lista giochi.
- Implementazione della memoria condivisa nel core/memory.
- Correzione del caricamento dei file PKG.
- Sostituzione dell’asserzione xml dei trofei con un errore
- Ristrutturazione della gestione audio con controlli di range, soglia del buffer e blocco.
- Correzione dei tipi di valore restituiti nel core audio e spostamento della gestione degli errori nella libreria.
- Devtools: PM4 Explorer.
- Supporto iniziale per gli shader di geometria.
- Supporto per il touchpad funzionante.
- Rete: stub di
sceNetErrnoLoc
. - Aggiunta del supporto per cliccare sul touchpad utilizzando il pulsante posteriore su controller non PS4/5.
- Cartelle di installazione multiple.
- Utilizzo di una directory dati più standard per Linux.
- video_core: Implementazione di
sceGnmInsertPushColorMarker
. - ime_dialog: Implementazione iniziale.
- Correzioni delle librerie di rete.
- Utilizzo di GetSystemTimePreciseAsFileTime per risolvere i problemi di sincronizzazione fps.
- Aggiunto un inizializzatore di mutex adattivo.
- Piccole correzioni per NP e trofei.
- Separazione degli aggiornamenti dalla cartella giochi.
- Correzioni minori per la cartella separata degli aggiornamenti.
- AvPlayer: non allineare larghezza/altezza a 16 con vdec2.
- Miglioramento dello stub di sceSystemServiceReceiveEvent.
- renderer_vulkan: Ottimizzazione e regolazione dei binding del buffer.
- Aggiunta dell’intervallo di polling a libScePad.
- Aggiunta di ulteriori mappature dei formati delle superfici.
- Vulkan: Segnalazione solo dei flag mancanti per le caratteristiche del formato.
- Implementazione di IME.
- Implementazione di Videodec2.
- path_util: Assicura che macOS abbia la directory corrente impostata e pulizia del codice dei percorsi.
- Caricamento dei moduli LLE dalla cartella
sys_modules/GAMEID
.
L’emulatore può avviare giochi di rilievo con supporto per miglioramenti visivi. Attenzione! A causa delle nuove modifiche, i vecchi file di salvataggio potrebbero non essere più compatibili.
Quindi, se tenete al vostro progresso attuale, vi preghiamo di seguire questa guida prima di aggiornare.
Infine, per coloro che desiderano donare al progetto, abbiamo ora una pagina Ko-fi. Qualsiasi donazione ricevuta sarà destinata all’acquisto dell’hardware e dei giochi necessari per i test, oltre alla configurazione dell’infrastruttura necessaria.
Come sempre, sentitevi liberi di aggiornare la lista di compatibilità con le nuove scoperte dalla versione 0.4.0 su questa pagina.
Download: shadPS4 v0.4.0 (Linux qt) (Linux SDL) (Ubuntu)
Download: shadPS4 v0.4.0 (Win64 qt) (Win64 SDL)
Download: shadPS4 v0.4.0 (macos qt) (macos SDL)
Download: Source code shadPS4 v0.4.0
Fonte: github.com