Disponibili i nuovi report del mese di luglio sui progressi raggiunti dall’emulatore RPCS3

Disponibile il nuovo report sui progressi raggiunti dall’emulatore RPCS3 nel mese di luglio. RPCS3 ad oggi è l’unico programma che ci permette di emulare gran parte dei titoli commerciali della console PlayStation 3 su PC Windows e Linux.

Un mese ricco di modifiche e correzioni che ha visto la fusione di 60 richieste di pull sia da parte degli sviluppatori regolari che da nuovi collaboratori.

Questo mese, Nekotekina si è concentrato sul miglioramento delle prestazioni del TSX mentre kd-11 ha riportato ulteriori correzioni di bug che hanno portato ad un netto miglioramento nell’esecuzione di titoli AAA.

Dall’altro lato, eladash ha sviluppato nuove funzionalità per aiutare i giochi a superare i loro attuali limiti di framerate e GalCiv che ha implementato il supporto dei microfoni per consentire finalmente a RPCS3 di emulare meglio giochi come SingStar e simili.

Oltre al seguente rapporto, ulteriori dettagli sul lavoro di Nekotekina e kd-11 per il mese di luglio e sui contributi futuri possono essere trovati nei loro report settimanali sul Patreon.

Sommario

Tutto sommato questo è stato un mese particolarmente tranquillo, poiché i tester si sono prevalentemente occupati di testare tutte le richieste di pull prima di unirle.

La categoria Playable pressoché identica, mentre la categoria Ingame ha mostrato un piccolo aumento. Una riduzione simile può essere vista nelle categorie Intro e Loadable, portando quest’ultima a un minimo storico di soli 20 titoli.

Infine, la categoria Nothing ha raddoppiato le dimensioni di 4 giochi, anche se va notato che ciò era probabilmente dovuto a un rapporto inesatto di un tester, che dovrebbe essere corretto presto.

Principali miglioramenti

Correzioni in Gran Turismo (#6179#6185#6224#6228#6236)

Il primo miglioramento è arrivato da CookiePLMonster, un membro di spicco della comunità emudev, che ha rintracciato la causa dei fari e dei fanali posteriori che sono stati erroneamente resi blu in Gran Turismo HD Concept, un problema rimasto dall’ultima serie di correzioni GT di kd-11.

Questo gioco utilizzava la serie di comandi SET_BLEND_COLOR meno comune per eseguire il rendering dei fanali posteriori.

Pochissimi giochi li utilizzano, quindi RPCS3 utilizzava RGBA per la decodifica dei colori senza rendersi conto che ciò non era corretto e che i colori dovevano essere decodificati come BGRA. Questo scambio di canali rosso e blu ha causato l’errore nel rendering.

Nello stesso giorno, kd-11 ha aperto una nuova richiesta di pull, intitolata in modo appropriato “GT Fixes 2”, come seguito alla sua precedente serie di modifiche per correggere il comportamento RSX alla fine dello scorso anno.

Gran Turismo 6 in particolare ha avuto una bizzarra corruzione delle texture arcobaleno causata da una cattiva gestione delle texture non lineari, poiché queste texture hanno 4 tex di bordo che devono essere decodificati correttamente.

Un altro elemento di questa richiesta pull è stata l’aggiunta di un adeguato bloccaggio alle dimensioni della clip per i mapping dei framebuffer, che ha risolto il problema delle richieste di blit negate eccessivamente.

Successivamente, kd-11 ha migliorato ulteriormente l’implementazione di MSAA in RPCS3, risolvendo una serie di bug di trasparenza nei giochi che utilizzavano AA per gestire effetti delle texture trasparenti.

Lo sviluppatore, si è poi concentrato sull’implementazione di altri metodi AA rilevanti, che in questo caso era l’anti-aliasing del campione di copertura (CSAA).

Gran Turismo 6 e Gran Turismo Academy utilizzavano CSAA su fogliame e avrebbero reso la grafica spezzata senza l’implementazione della stessa nell’emulatore. Ora con CSAA implementato, il fogliame è stato riparato in Gran Turismo 6, Gran Turismo Academy e anche GTA V!

Per ultimo, ma non per questo meno importante, kd-11 ha implementato una clip raster della finestra combinando la regione della clip della finestra con la regione della clip a forbice.

Tuttavia, ciò ha causato regressioni in alcuni giochi perché le autorizzazioni di buffer sono state ritagliate nella finestra. Con un po’ di debug, è stato identificato che il viewport si aggancia solo durante il rendering ma non durante le operazioni chiare.

Questo problema è stato prontamente risolto non tagliando le forbici sul viewport quando si eseguono le cancellazioni del buffer. 

Questi cambiamenti hanno risolto il problema del rendering dello schermo diviso e fuori dai limiti in giochi come Sly 3, Hotline Miami, Dragon Ball: Raging Blast, Initial D Extreme Stage e molti altri!

Supporto per microfono (#5446)

Chiunque abbia seguito le nostre relazioni sullo stato di avanzamento avrebbe familiarità con il viaggio di GalCiv per l’aggiunta del supporto per varie periferiche in RPCS3

Negli ultimi mesi, ha ampliato l’implementazione di cellPad per aggiungere il supporto per l’emulazione di chitarre, batteria, pad DJ e tappetini Dance, e ha anche implementato il supporto adeguato per DualShock 3 che consente l’uso di pulsanti sensibili alla pressione e controlli di movimento in RPCS3

Ora, ha messo gli occhi sulla libreria cellMic che è stata utilizzata da PlayStation 3 per accettare l’audio dai microfoni. Con un po’ di debug su come funziona cellMic su PlayStation 3, GalCiv è stato in grado di implementare facilmente un passthrough di base per l’ingresso audio da qualsiasi microfono riconosciuto dal sistema operativo al gioco.

Questo è stato un approccio diretto che ha funzionato sorprendentemente bene, permettendo a Karaoke RevolutionGuitar Hero 5 e molti altri titoli di riconoscere correttamente l’ingresso audio.

Inoltre, gli utenti ora possono suonare tutti gli strumenti in giochi come Rock Band, Rock Band 2 e tutti i pacchetti di brani Rock Band, consentendo perfettamente la piena giocabilità di questi titoli!

L’ultimo pezzo del puzzle, i livelli vocali nei titoli Rock Band ora sono riproducibili grazie al supporto del microfono!

Tuttavia, nulla è mai così semplice come sembra e lo stesso è avvenuto con cellMic. Mentre Rock Band ha mostrato grandi risultati, SingStar non ha funzionato con questo approccio. 

Con un po’ di debug, era evidente che i titoli SingStar sono codificati per riconoscere solo i microfoni con marchio SingStar e ignorare l’ingresso audio da qualsiasi altro microfono.

Dopo aver identificato l’ID del dispositivo per il dongle SingStar, GalCiv ha implementato un’opzione per emulare i normali microfoni collegati come microfono SingStar. 

Questo ha prontamente corretto il problema e ha permesso al SingStar originale di progredire nel gioco! Successivamente, alcuni utenti hanno espresso il desiderio di utilizzare un vero microfono SingStar anche con l’emulatore. 

GalCiv ha implementato questa opzione che consente agli utenti di collegare un dongle SingStar originale e utilizzare lo stesso in RPCS3. 

Gli utenti ora possono collegare più microfoni e selezionare anche il metodo di emulazione rilevante

Ciò ha permesso a più titoli di progredire nel gioco e ha aggiunto un altro set di periferiche all’elenco dei dispositivi supportati in RPCS3.

Tuttavia, gli utenti dovrebbero notare che questi miglioramenti avvantaggiano solo i titoli che rilevano l’ingresso audio utilizzando la libreria cellMic. 

Molti titoli della serie SingStar utilizzano cellUsbd, anziché cellMic, per comunicare direttamente con i microfoni. Tuttavia, non uno che lascia un lavoro incompiuto, GalCiv è al lavoro per implementare il supporto per sys_usbd (syscalls lv2 usato da cellUsbd). 

Una volta finalizzato, si spera che gli utenti possano usare periferiche come Skylander Portal e microfoni SingStar in molti altri titoli!

Tutto sul tempo (#6189#6207)

Per le persone interessate a giocare con i giochi PlayStation 3 a frame rate oltre i loro obiettivi originali, è tempo di rallegrarsi! Grazie ad alcune nuove funzionalità di eladash, ora è possibile riprodurre una parte significativa della libreria di PlayStation 3 a framerate elevate senza alterare il codice di gioco originale.

La prima delle richieste pull di elad ha aggiunto la possibilità di configurare la frequenza di blanking verticale (vblank in breve). Sui vecchi televisori CRT vblank era un periodo in cui la televisione non avrebbe disegnato nulla sullo schermo. 

Ciò era necessario affinché il fascio di elettroni tornasse dalla parte inferiore dello schermo alla parte superiore dello schermo in modo che potesse prepararsi a disegnare l’immagine successiva sullo schermo. 

Con le console di gioco più vecchie come Atari 2600 o NES, l’inizio del periodo vblank genererebbe un interrupt vblank che segnalerebbe che il frame corrente è terminato. 

Su queste vecchie console, l’interrupt vblank era spesso l’unico modo per dire che il tempo è passato. Pertanto, la velocità del gioco era strettamente legata al framerate per i giochi destinati a queste macchine più vecchie.

Passa rapidamente all’era di PlayStation 3 e tutte le console di gioco includono orologi ad alta risoluzione che possono essere utilizzati per comunicare l’ora con grande precisione. 

Molti sviluppatori di giochi hanno deciso di legare la velocità di gioco al passaggio del tempo reale, il che consente ai loro giochi di mantenere la velocità di gioco corretta anche quando il framerate è instabile. 

Tuttavia, la maggior parte degli sviluppatori si è attenuta a ciò che conosceva meglio e ha optato per legare il framerate massimo alla frequenza vblank. 

Per questi giochi, semplicemente cambiando la frequenza di vblank otterrai la velocità di gioco corretta a framerate più elevati senza alcuno sforzo aggiuntivo!

Purtroppo, non tutti i giochi possono avere il framerate sbloccato in questo modo mantenendo la velocità di gioco corretta. Alcuni giochi possono avere la loro velocità di gioco legata al framerate, mentre altri possono usare un altro metodo per limitare il loro framerate. 

Tuttavia, anche in questi casi, la nuova opzione vblank può semplificare il processo di raggiungimento di framerate più alti alla velocità di gioco corretta poiché le persone interessate a creare patch FPS ora dovranno solo correggere la velocità di gioco per framerate più alti invece di scoprire prima come per sbloccare il framerate e successivamente fissare la velocità di gioco. 

Questo metodo ibrido è esattamente quello che è stato utilizzato per consentire agli utenti di giocare ora a Demon’s Souls a 60FPS e oltre!

Dopo l’inclusione della frequenza vblank configurabile, elad ha aggiunto altre due opzioni all’emulatore. L’opzione “Scala degli orologi” ti consente di modificare la velocità di vari orologi e timer, facendo pensare ai giochi che il tempo passa sempre più lentamente. 

Un’altra opzione è stata aggiunta per consentire di configurare l’accuratezza dei timer di spegnimento. Oltre un anno fa è stato scoperto che una vera PlayStation 3 ha un’estrema precisione con la chiamata sys_timer_usleep e l’implementazione della stessa in RPCS3 è stata resa più accurata per adattarsi alla PlayStation 3.

Tuttavia, per renderla più accurata è necessario girare per aumentare la precisione, il che significa che la CPU trascorre molto tempo a non fare un lavoro utile.

Impostando l’accuratezza su “come host” si otterrà l’accuratezza originale di RPCS3, riducendo eventualmente l’utilizzo della CPU in alcuni giochi, ma anche riducendo drasticamente il framerate in alcuni giochi che si affidano a sys_timer_usleep per essere iper accurati come NieR. 

Infine, è stata aggiunta un’altra opzione che estende la gestione accurata dei timer oltre sys_timer_usleep anche ad altre syscall. Questa impostazione è nota come “Tutti i timer” .

Nell’attuale master di RPCS3, queste opzioni sono tutte disponibili nella nuova scheda “Avanzate” del menu Impostazioni. Se si desidera configurare la frequenza di vblank o regolare la scala degli orologi, è necessario fare clic con il tasto destro del mouse sul gioco dall’elenco dei giochi e selezionare “Configura” , poiché queste impostazioni possono essere impostate solo in base al gioco.

Miglioramenti UI (#6178#6204#6218#6233#6235#6264#6271)

Infine, esaminiamo alcuni dei miglioramenti apportati alla GUI di RPCS3. Oltre al nostro mago Megamouse della GUI, questo mese ha visto contributi alla GUI di CookiePLMonster e MSuih

La prima serie di modifiche mirava a ottimizzare la reazione dell’interfaccia utente all’input del controller. 

CookiePLMonster ha osservato che alcuni pulsanti dell’interfaccia utente non seguivano il giusto comportamento dell’interfaccia utente standard eseguendo le proprie azioni sulla pressione del pulsante invece di reagire al clic del pulsante (premere e rilasciare), ciò ha portato a un’esperienza incoerente e in alcuni casi difficoltà a navigare nei menu. 

Non molti utenti noterebbero una differenza così sottile ma per coloro che lo hanno fatto, questo problema è stato risolto.

Mentre la modifica di cui sopra può sembrare banale, il concetto ha avuto implicazioni in relazione al modo in cui l’input viene gestito dai giochi mentre le finestre di dialogo di sistema sono aperte. 

Il pulsante nasconde PlayStation 3 preme dal gioco quando è attiva una finestra di dialogo di sistema per impedire al gioco di riconoscere gli input non necessari.

Al fine di ottenere che un flag di intercettazione del pad sia attivato e passato al gioco ogni volta che richiede informazioni sul pad e anche i dati di input passati al gioco sono sostanzialmente vuoti. 

Megamouse lo aveva implementato in RPCS3 un paio di anni fa e, per dirla semplicemente, funzionaSolo che non l’ha fatto. Come abbiamo scoperto di recente, Hotline Miami 2 attiverebbe immediatamente un’opzione di menu dopo la chiusura di una finestra di dialogo di sistema senza ulteriori input da parte degli utenti. 

Questo ovviamente non era il comportamento previsto poiché il gioco riconosceva l’ultimo input introdotto nella finestra di dialogo del sistema. 

Grazie al debug da CookiePLMonster, è stato identificato che il gioco non ha ricevuto nuovi input immediatamente dopo la chiusura di una finestra di dialogo fino al rilascio di , , , , e (, , , , , , i pulsanti di direzione e le levette analogiche non contavano).

Nell’implementazione precedente, l’input è stato ripreso alla pressione del pulsante anziché al clic del pulsante (premere e rilasciare). Megamouse ha prontamente implementato questo comportamento accurato in RPCS3 per risolvere il problema.

In precedenza, il clic sul pulsante dalla finestra di dialogo di sistema attivava immediatamente anche l’opzione Nuovo gioco da selezionare. Questo è stato risolto e gli utenti possono navigare correttamente nella schermata del menu.

Successivamente, Megamouse ha corretto i problemi con le immagini di sfondo mostrate durante la schermata delle compilation di shader e i titoli dei giochi.

Le immagini di sfondo vengono riconosciute dalla directory dal file PARAM.SFO utilizzato per avviare il gioco. Tuttavia, dove un gioco ha aggiornamenti installati, l’immagine viene presa dalla directory di aggiornamento in dev_hdd0/game/ anziché dall’attuale directory del disco. 

Questo ha assicurato che abbiamo raccolto l’ultima immagine disponibile. Ma in una situazione in cui PIC1.PNG non è presente nella directory di aggiornamento del gioco, finiamo per caricare ICON0.PNG a bassa risoluzione come fallback. 

Poiché non è preferibile caricare un’immagine a bassa risoluzione quando l’immagine ad alta risoluzione è disponibile nella directory del disco, l’emulatore cercherà PIC1.PNG nella directory del disco prima di utilizzare ICON0.PNG come fallback. 

Allo stesso modo, il titolo del gioco era stato precedentemente estratto dalla directory di aggiornamento del gioco (se presente) e mostrato nella finestra del gioco risultando in titoli come “Beyond: Two Souls Update Data (EU3)” anziché “Beyond: Two Souls”.

Ora, se un gioco viene rilevato come gioco su disco, l’emulatore leggerà di nuovo PARAM.SFO del disco originale e ripristinerà il titolo in modo che corrisponda al disco reale.

Questo mese sono stati apportati diversi miglioramenti anche alla finestra di dialogo Virtual File System e Save Manager. Innanzitutto, diamo un’occhiata al lavoro svolto da CookiePLMonster con la finestra di dialogo Virtual File System.

Per allineare la finestra di dialogo con il resto dell’interfaccia utente di RPCS3, i pulsanti Aggiungi nuova directory e Ripristina sono stati sostituiti con i pulsanti “+” e “-“, il pulsante Ripristina tutto è stato rinominato in Ripristina directory, il pulsante OK è stato rinominato in Salva e aggiunto il pulsante chiusura per consentire agli utenti di chiudere la finestra di dialogo senza salvare le modifiche apportate. 

CookiePLMonster ha aggiunto anche la possibilità di eliminare un singolo elemento dall’elenco che in precedenza non era possibile ed è stata aggiunta una finestra di dialogo di conferma per il pulsante Reimposta directory per impedire il ripristino accidentale.

Un confronto che mostra le modifiche apportate alla finestra di dialogo Virtual File System

La finestra di dialogo Save Manager ha visto anche alcuni notevoli miglioramenti grazie a MSuihQuando un salvataggio viene evidenziato, ora viene visualizzata un’icona insieme ai dettagli a destra dell’elenco anziché una finestra di dialogo popup separata. Ciò consente una navigazione molto più rapida di Save Manager e offre un’esperienza più fluida.

Un confronto che mostra le modifiche apportate alla finestra di dialogo Save Manager

Infine, Megamouse ha concluso il mese con miglioramenti al rendering e alla risoluzione delle icone nell’elenco dei giochi, in Save Manager e nel gestore dei trofei per monitor con DPI elevato.

Inoltre, ora le icone del trofeo mostrano lo stesso colore dell’icona di sfondo utilizzato per le icone del gioco. Anche la dimensione dell’immagine del controller nella finestra di dialogo delle impostazioni del pad è stata corretta per configurazioni DPI sia normali che elevate.

Miglioramenti apportati al rendering delle icone per monitor DPI elevati

Anche la dimensione dell’immagine del controller nella finestra di dialogo delle impostazioni del pad è stata corretta per le configurazioni DPI, sia normali che elevate

Giochi

Metal Gear Solid 4: Guns of the Patriots

Il giorno promesso è finalmente arrivato! Grazie al miglioramento in sys_overlay realizzato da eladash, l’ambito titolo esclusivo per PlayStation 3, Metal Gear Solid 4, ha raggiunto le introduzioni verso la fine di luglio. Ma non è stato evidenziato subito, ma solo dopo che eladash ha apportato ulteriori miglioramenti per consentire al titolo di progredire ingame!

NieR Replicant e Gestalt

Grazie alla recente patch di Whatcookie per NieR Replicant e Gestalt, entrambi i giochi sono in grado di superare il precedente limite di framerate 30FPS, e dal momento che NieR non è un gioco molto intenso ottenere 60FPS bloccati con RPCS3 non è stato affatto difficile. Dai un’occhiata nel video qui sotto.

Megazone 23 – Aoi Garland

Ora iniziamo con alcuni titoli giocabili! Il primo è il titolo esclusivo per PlayStation 3 Megazone 23 – Aoi GarlandQuando è stato testato nel febbraio 2018, questo titolo era graficamente accurato ma soffriva di basse prestazioni che lo impedivano di essere giocabile. 

Ora er fortuna, questi problemi di prestazioni sono stati risolti e il gioco funziona bene anche su sistemi di fascia bassa.

One Piece: Pirate Warriors 2

A differenza del suo sequel, One Piece: Pirate Warriors 2 non ha mai raggiunto il PC. Tuttavia, gli utenti non devono preoccuparsi perché è stato confermato che è giocabile su RPCS3 dall’inizio alla fine. 

Purtroppo, l’originale One Piece: Pirate Warriors, che ha perso anche una versione per PC, rimane ancora Ingame per ora.

Mist of Chaos

L’ultimo titolo giocabile di questa vetrina è Mist of ChaosIn precedenza, questo titolo soffriva di importanti problemi grafici che gli impedivano di essere riprodotto correttamente. Grazie ai recenti miglioramenti di kd-11, questi problemi ora sono stati risolti e questo gioco ora è giocabile.

SSX

Mentre SSX sta avanzando nel gioco da metà 2018, le versioni PSN del gioco si bloccherebbero costantemente durante le introduzioni. 

Ora grazie ai vari miglioramenti apportati nell’emulatore, anche le versioni PSN avanzano nel gioco. Le prestazioni purtroppo basse e i bug grafici impediscono la piena giocabilità di questo titolo.

WWE SmackDown vs. Raw 2011

L’ultima voce della serie SmackDown vs. Raw, WWE SmackDown vs. RAW 2011, finalmente progredisce nel gioco. Con questo, tutti i titoli della serie WWE disponibili su PlayStation 3 ora arrivano Ingame su RPCS3.

Miyazato Sankyoudai Naizou Sega Golf Club

Anche se potrebbe non sembrare così impressionante, questo titolo esclusivo per PlayStation 3 è stato uno dei primi giochi rilasciati nel 2006 come parte del lancio della console.

Questo gioco è progredito Ingame per la prima volta questo mese. Sono necessari ulteriori test per determinare se questo titolo è effettivamente riproducibile sull’emulatore.

Altri miglioramenti

Ci sono state numerose altre richieste di pull durante il mese che non sono riuscite a raggiungere la sezione Principali miglioramenti.

Abbiamo raccolto un elenco di tutti questi miglioramenti qui e abbiamo allegato una breve panoramica a ciascuno di essi.

Assicurati di controllare i link forniti, dato che le pagine GitHub di solito rivelano ulteriori dettagli, così come i cambiamenti del codice stesso. Per vedere l’elenco completo delle richieste di pull direttamente su GitHub, clicca qui.

Potrete scaricare la versione più recente dell’emulatore collegandovi a questo indirizzo per PC Windows e Linux. Se vi piace potrete anche contribuire allo sviluppo con una piccola donazione sul Patreon.

Fonte: rpcs3.net

(Visited 1 times, 1 visits today)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *