PCSX2 è un emulatore open-source della PlayStation 2 che utilizza una combinazione di interpreti per CPU MIPS, ricompilatori e una macchina virtuale basata su plugin per gestire gli stati hardware e la memoria di sistema della PS2.
Con oltre dieci anni di sviluppo, PCSX2 è in grado di eseguire più di 2000 giochi, molti dei quali a piena velocità. Attualmente sono in fase di sviluppo e test versioni a 64 bit, con ulteriori dettagli disponibili sul sito ufficiale.
È trascorso quasi un anno dal rilascio di PCSX2 2.0, una delle versioni più significative nella storia del progetto. Da allora, il team ha rilasciato la versione 2.2.0 e, più recentemente, la 2.4.0, continuando a perfezionare le funzionalità introdotte con la 2.0 e aggiungendo novità audaci.
Questo resoconto segue l’evoluzione cronologica del progetto, mostrando i progressi compiuti e anticipando cosa aspettarsi dalla versione 2.6.0, prevista per la fine del 2025.
Con la versione 2.2.0, il team ha voluto concentrarsi sulla rifinitura dell’esperienza, dopo l’imponente rilascio della 2.0. Con alcuni contributori storici, come il lead developer refraction, che hanno ridotto il loro coinvolgimento, il team ha scelto di “lucidare” il software, migliorando dettagli e stabilità.
Tra le novità, il contributore Florin9doi ha implementato il supporto per nuove periferiche emulate, come il Trance Vibrator, il dispositivo Gametrak/RealPlay, Jogcon, NeGcon, controller per treni Mascon (Type 2, Shinkansen e Ryojōhen), il microfono Konami, Zip 100 e PictureParadise.
Inoltre, l’emulazione dell’EyeToy ora supporta l’audio e i dispositivi Buzz! hanno un’interfaccia personalizzata, grazie anche al lavoro del primo contributore joestringer.
Un miglioramento significativo è stato apportato alla gestione dell’alpha blending per-pixel (PABE) da LightningTerror, esperto di grafica del team.
La nuova implementazione combina il blending software (più accurato ma più lento) con quello hardware (più veloce ma meno preciso), ottenendo un equilibrio che migliora sia la fedeltà visiva che le prestazioni per molte configurazioni di blending della PS2.
Inoltre, il contributore Chaoticgd ha rivoluzionato il debugger, permettendo di leggere tabelle di simboli MIPS, SNDLL ed ELF dai binari dei giochi, visualizzando variabili globali, locali e di parametro in una struttura ad albero, utile per giochi come Pac-Man World 2 e altri che includono simboli di debug.
KamFretoZ ha introdotto opzioni di compressione per i savestate, con formati come Zstandard, Deflate64 e LZMA2 e quattro livelli di compressione, permettendo anche di salvare stati non compressi per chi preferisce velocità a scapito dello spazio.
Sul fronte della connettività, AirGamer ha migliorato l’emulazione DEV9, portando PCSX2 a un passo dal supportare PS2 Linux e PlayStation Broadband Navigator: l’unico ostacolo rimasto è l’emulazione completa del buffer di traduzione degli indirizzi (TLB).
La versione 2.2.0 ha incluso anche numerosi miglioramenti minori, come il supporto per l’endianness nel debugger, la correzione del supporto VAAPI su Linux, l’aggiunta di formati pixel selezionabili per la cattura video, un collegamento diretto alla pagina wiki di un gioco dall’applicazione e molte altre ottimizzazioni e correzioni.
Con la versione 2.4.0, il team è tornato a innovare, introducendo funzionalità di grande impatto. Una delle aggiunte più rilevanti è il supporto per il “render target in render target” (RT in RT), completato da refraction come contributo finale dopo oltre vent’anni di dedizione.
Questa funzionalità risolve problemi di rendering in giochi che utilizzano tecniche particolari per disegnare porzioni di immagini, migliorando titoli come Jak X: Combat Racing, Ghost in the Shell: Stand Alone Complex, Drakengard e Hitman: Contracts.
Un’altra novità è la possibilità di impostare un orologio in tempo reale (RTC) personalizzato, introdotta da TheTechnician27. Questo permette di manipolare la data e l’ora nei giochi, utile per accedere a contenuti esclusivi (come l’Insomniac Museum in Ratchet & Clank o eventi festivi in The Simpsons: Hit & Run) e per migliorare le capacità di speedrun assistite (TAS).
Inoltre, refraction ha ottimizzato l’uso delle texture HDR per emulare correttamente il wrapping numerico della PS2, migliorando le prestazioni in giochi come Sly 2 e Big Mutha Truckers.
LightningTerror ha revitalizzato il renderer Direct3D 11, risolvendo problemi di gestione delle risorse e implementando ottimizzazioni che aumentano le prestazioni in numerosi giochi.
Sul fronte macOS, il lead developer fobes ha introdotto la firma digitale dei binari, eliminando i problemi con Gatekeeper. Per Linux, GovanifY ha reso Wayland il sistema predefinito, grazie a miglioramenti in Qt 6.9, mantenendo comunque il supporto per X11.
Un nuovo strumento di correzione per l’upscaling, chiamato Align to Native with Texture Offset (AtNTO), è stato introdotto da refraction e JordanTheToast, migliorando la nitidezza in oltre 100 giochi, tra cui Ace Combat 04 e Shadow of the Colossus.
Il debugger è stato ulteriormente migliorato da Chaoticgd con un’interfaccia ridisegnata e personalizzabile, mentre l’aggiornamento a SDL3, guidato da AirGamer, ha portato il supporto completo per il DualShock 3 su Linux e un’API più moderna.
Infine, numerosi piccoli miglioramenti, come il supporto per MemCard PRO2, l’aggiunta di titoli di colonna nel debugger, correzioni per l’audio e l’aggiornamento della banca dati redump, completano il quadro di una versione 2.4.0 che dimostra l’impegno del team nel rendere PCSX2 un emulatore sempre più completo e raffinato.
Fonte: pcsx2.net