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

Disponibile il nuovo report sui progressi raggiunti dall’emulatore RPCS3 nel mese di giugno. 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.

Gli sviluppatori e i vari collaboratori hanno lavorato duramente per amplificare quanto più possibile le prestazioni, il grafico questo mese presenta ancora una notevole diminuzione dei giochi caricabili a causa di diverse modifiche recentiAnche la categoria Nothing è scesa di 2 partite, con solo 6 partite rimanenti.

Principali miglioramenti

Supporto Classici PS1

Questo mese l’emulatore RPCS3 ha ottenuto la possibilità di eseguire titoli PS1 Classic!

La PlayStation 3 ha diversi tipi di emulatori software e hardware per la maggior parte delle console di generazione precedente di casa Sony.

Per la PS1, erano presenti nel firmware 3 emulatori software, ovvero ps1_emu (esegue dischi PS1), ps1_netemu (esegue i classici PS1 disponibili sul PS Store in formato .pkg) e ps1_newemu (apparentemente una versione avanzata di ps1_netemu).

Tuttavia, simili a VSH, questi emulatori chiamano direttamente sys_storage anziché utilizzare la libreria di accesso ai file. Poiché attualmente RPCS3 non ha implementato sys_storage, il supporto per questi emulatori non era possibile.

Tuttavia, durante la ricerca della funzionalità VSH per RPCS3, clienthax ha rilevato che ps1_newemu non richiedeva l’implementazione di sys_storage che consentiva l’avvio dei classici PS1 quando il caricamento delle librerie del firmware era impostato su “nessuno”.

Tuttavia, i giochi andavano ancora in crash poco dopo l’avvio, in quanto hanno chiamato una funzione non ancora implementata, sys_io_3733EA3C, per ottenere dati di input.

Ulteriore debug ha rivelato che questa funzione è cellPadGetDataExtra con alcuni controlli aggiuntivi. Il semplice ritorno della stessa funzione ha risolto il crash e ha permesso ai titoli PS1 Classic di avanzare!

Nekotekina ha inoltre apportato vari miglioramenti relativi all’emulazione PS1 come consentire l’avvio di questi giochi dalla lista dei titoli recenti, correggere la cache di PPU e SPU e consentire la personalizzazione per impostazioni di gioco di questi titoli.

Grazie ai contributi di cui sopra, RPCS3 ha ottenuto la possibilità di eseguire titoli PS1 Classic! Mentre RPCS3 supporta solo versioni PSN di questi, la maggior parte (se non tutti) sono riproducibili e funzionano bene. Di seguito sono riportati alcuni screenshot di vari titoli:

Correzione MSAA riscrittura e ridimensionamento in scala

Proprio all’inizio del mese, kd-11 ha iniziato a rielaborare le parti relative alla MSAA del codice base. Questo sforzo ha comportato la correzione di un certo numero di giochi, in particolare i giochi che hanno sofferto di un problema in cui mancava la metà dello schermo o erano visualizzati rifiuti inutili.

Ma in che modo una tecnica di anti-aliasing ha avuto un tale effetto sull’output di rendering? Scaviamo più in profondità per scoprirlo!

MSAA (o Multisample Anti-Aliasing) è una forma di anti-aliasing spaziale, progettato per eliminare l’aliasing del bordo esterno, più comunemente noto come “jaggies”.

Dal momento che è una popolarità diffusa negli anni 2000, praticamente tutti i chip grafici mainstream hanno un supporto integrato per accelerare l’hardware – con una diversa implementazione vendor per venditore.

Ciò ha provocato una situazione appiccicosa per l’emulatore: dato che non possiamo accedere ai dati MSAA direttamente sulla scheda dell’utente, dobbiamo fingere di farlo per motivi di compatibilità del gioco, e in realtà, o raschiare l’AA interamente, o cambiare a pieno su SSAA.

Mentre quest’ultimo sembra più preferibile, non è ancora del tutto pratico. Questo è il motivo per cui attualmente la prima opzione è stata dispiegata, ma non è stata priva di catture.

Ci sono più configurazioni MSAA che gli sviluppatori di giochi possono utilizzare. Ad esempio, possono selezionare 2xAA (doppia ris. Orizzontale), 4xAA (doppia orizzontale e verticale res), e persino passare rapidamente tra le passate di rendering, pur mantenendo le dimensioni effettive (ad es. Tra 2xAA 1280 × 720 e 1xAA 2560 × 720 , il buffer sarebbe di dimensioni 2560 × 720 indipendentemente).

A causa di ciò, tuttavia, quando un tale evento si verificava in giochi come Tales of Vesperia o Killzone 2, risultava che il buffer di passata precedente veniva erroneamente rilevato come 1280×720, rendendo il contenuto di esso solo il riempimento del lato sinistro del passaggio adiacente ‘buffer.

kd-11 è riuscito a risolvere questo problema tenendo traccia delle dimensioni effettive del buffer, in modo che i buffer siano ora riscalati tra queste opzioni, assicurando che i contenuti siano allineati correttamente e che non si verifichi uno squishing quando il gioco decide finalmente di ridimensionare tutto in la risoluzione obiettivo.

Questo problema si è intensificato in giochi come Backbreaker, in cui la risoluzione viene gestita in un ciclo di feedback con il ROP che scrive sullo stesso blocco di memoria che contiene gli esempi MSAA di cui ha letto la lettura.

In questi casi, non è sufficiente tenere traccia di come modificare le dimensioni del buffer. Per alleviare questo, kd-11 li ha portati in stati separati, chiamati stati di lettura e scrittura, che assicura che la MSAA si risolva correttamente e non si verifichi alcuna formazione di immagine. Con questo, Backbreaker ottiene finalmente la sua giustizia:

Il ridimensionamento della profondità è stato anche toccato mentre si effettuavano queste modifiche, poiché gli stencil sono necessari affinché MSAA funzioni correttamente.

Tuttavia, poiché le scritture a stencil non sono consentite quando si scrive la profondità con gli shader, era necessario un ulteriore trucco.

Per ovviare a questo problema, kd-11 ha implementato una soluzione in cui i dati dello stencil sono ora “falsificati” come trame cromatiche, in modo che possano essere trasferiti alla memoria texture di destinazione senza vincoli API e limitazioni del driver. Ciò consente alla risoluzione MSAA di funzionare correttamente con gli stencil.

Miglioramenti dell’analizzatore SPU (#4750)

Nekotekina ha unito diversi miglioramenti alla SPU circa a metà del mese, ottenendo migliori prestazioni nei giochi e una compilazione più pulita.

Neko ha esplorato il concetto sperimentale di “blocchi grandi” per il compilatore ASMJIT, che può migliorare le prestazioni nei giochi raggruppando più codice in blocchi, il che significa meno tempo è dedicato alla verifica del codice.

Neko ha aggiunto tre modalità separate denominate “Safe”, “Mega” e “Giga”. La modalità provvisoria compila solo piccoli pezzi di codice insieme.

Il vantaggio in termini di prestazioni qui è molto più piccolo di Mega o Giga, ma ha un tasso di successo sostanzialmente più alto. La modalità Mega compilerà intere funzioni contemporaneamente, con la modalità Giga che fa un passo avanti mettendo insieme più funzioni nello stesso blocco.

Mentre la modalità Mega e Giga è molto meno stabile della modalità sicura, il tempo di CPU necessario per la verifica del codice viene drasticamente ridotto, a volte inferiore di ordini di grandezza.

La generazione del codice SPU LLVM è stata migliorata da Nekotekina questo mese. Sono stati impostati i lavori di messa a terra per alcune importanti ottimizzazioni che consentiranno una compilazione più pulita.

Una volta che tutto è stato detto e fatto, questo dovrebbe comportare una minore compilazione del codice spazzatura. Per una descrizione più dettagliata delle modifiche di cui sopra, fai riferimento al post di Patreon di Nekotekina qui.

Giochi

Yakuza Kenzan

Grazie alle correzioni di jarveson, questa amata esclusiva AAA per PlayStation 3 è giunta ingame! Anche se la grafica sembra sbalorditiva, il gioco soffre di FPS bassi e di sfarfallio occasionale delle texture (come mostrato nella terza immagine).

Dynasty Warriors Gundam

Grazie alla correzione di Farseer2 per sys_spu_thread_connect_event, questa esclusiva per console è passata da Loadable direttamente a Playable!

Tekken Tag Tournament 2

Grazie al lavoro svolto da kd-11 nel correggere il bug a metà schermo, questo titolo esclusivo per console ora è giocabile! Tuttavia, il titolo presenta alcuni problemi persistenti, come i dialoghi introdotti in sottotitoli e la musica di sottofondo, mentre richiede anche che la “Modalità di rendering rigorosa” sia abilitata per la corretta visualizzazione degli stadi di Fallen Garden e Heavenly Garden.

L’abilitazione di Write Color Buffers corregge anche le patch nere che appaiono sui vestiti dei personaggi, tuttavia c’è ancora un problema in cui alcuni capi di abbigliamento vengono erroneamente visualizzati come grigio/bianco.

God of War: Ascension

Un’altra esclusiva AAA per Playstation 3 della serie God of War ora va bene in gioco! Tuttavia, come con Yakuza Kenzan, questo titolo soffre anche di bassi FPS e di vari problemi grafici.

Final Fantasy XIII, XIII-2, XIII Lightning Returns

Questo mese, l’intera saga di Lightning di Final Fantasy XIII sono andate in gioco! I giochi, tuttavia, soffrono ancora di FPS bassi in alcune aree e piccoli problemi grafici che impediscono loro di essere riproducibili.

Sly Raccoon

Questa esclusiva per Playstation è passata da Intro per giocare questo mese dopo che uno dei nostri tester “Asinine” ha terminato il gioco dall’inizio alla fine su RPCS3!

Sly 2 e Sly 3

Simile a Sly Raccoon, queste esclusive di PlayStation hanno visto anche un notevole incremento della compatibilità. Sia Sly 2 che Sly 3 ora vanno in gioco!

Ognuno di questi giochi ha il proprio set di problemi, Sly 2 darà ai giocatori uno schermo nero durante le sezioni del prologo, ma può essere bypassato usando un salvataggio. Sly 3 soffre per prestazioni e problemi peggiori con determinati livelli in cui ci sono due telecamere.

Anche Sly 2 e Sly 3 hanno attualmente problemi con la funzione di salvataggio automatico e richiedono il salvataggio manuale e si assicurano di salvare due volte nello stesso slot o non creeranno correttamente i file di salvataggio! Questo è necessario solo con Sly 2-3 e un altro gioco, “Rune Factory Tides of Destiny”.

Serie Ratchet & Clank

Grazie alle “Kot fixes” di isJuhn, varie esclusive di Playstation sviluppate da Insomniac Games ora progrediscono ulteriormente. Tra questi ci sono Ratchet & Clank Future: A Crack in Time, Ratchet & Clank Into The Nexus, Ratchet & Clank: All 4 One e Ratchet & Clank : QForce (Full Frontal Assault) che ora raggiungono la Intro.

Ulteriori miglioramenti sono in corso per aiutare alcuni di questi titoli a progredire ulteriormente!

Resistance 3

Con la correzione sopra menzionata, questa esclusiva AAA per Playstation 3 rende il filmato d’apertura ma si blocca prima di andare in gioco. I miglioramenti futuri dovrebbero beneficiare ulteriormente di questo titolo!

Wheels of Destruction

Questa esclusiva per PS3 ora è completamente giocabile!

Sakigake!! Otokojuku-Nihon yo, Kore ga Otoko de aru!

Ancora un altro titolo esclusivo per PS3 Weeb è diventato giocabile questo mese!

Wakeboarding HD

Grazie alle correzioni dell’elenco MFC di elad335, questa esclusiva dell’esclusiva PS3 per lo sport è diventata un gioco da ragazzi.

Questo titolo tuttavia è soggetto a crash e perdita di audio. Ricordarsi di disabilitare l’interfaccia utente nativa durante l’installazione dei dati di gioco per evitare arresti anomali.

FIFA Street

Fifa Street, che è esclusivamente su console, ha reso questo mese un gioco di parole! Anche se FPS è in una stabile 60, Fifa Street, come molti giochi di EA Sports soffre di problemi fisici, il che significa che non puoi muoverti correttamente.

Ci sono anche alcuni problemi grafici in cui ai giocatori mancano parti del loro corpo. Quindi, nonostante un 60fps stabile, questo gioco ha ancora bisogno di ulteriori miglioramenti prima che possa essere considerato giocabile.

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.

(Visited 1 times, 1 visits today)

Lascia un commento

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