Questo progetto potrebbe segnare la fine degli emulatori su Android?

5 months ago 128

Proprio mentre gli utenti Apple stanno scoprendo la gioia degli emulatori, il mondo Android sta entrando in una nuova era, quella del porting. Cosa significa?

Che grazie a una nuova procedura chiamata ricompilazione statica potenzialmente potrete giocare a tutti i vecchi titoli sul vostro telefono Android in modo nativo, con una qualità e prestazioni molto migliori (a proposito, sapete quali sono i migliori emulatori Android per PC?). 

Emulazione vs porting: non c'è paragone

Cosa significa? In pratica adesso se volete giocare a un titolo di una vecchia console, come Nintendo 64, dovete usare un emulatore, che funziona da intermediario tra il sistema su cui è in esecuzione, il vostro telefono e il gioco.

In un certo senso, potete vederlo come un interprete che traduce le istruzioni del programma in una forma comprensibile per il telefono (o per il PC), ma il programma in sé non cambia, e per questo i giochi emulati sono definiti ROM (Read Only Memory).

C'è un problema: gli emulatori hanno un impatto sulle prestazioni perché sono praticamente delle macchine virtuali.

Questo è tanto più vero per l'emulazione di console storicamente complicate, come Nintendo 64.

Il porting invece salta l'intermediario ed esegue semplicemente il programma direttamente sulla piattaforma di destinazione. Il problema in questo caso è che a differenza dell'emulazione bisogna mettere mano al programma e modificarlo, anche profondamente. 

Ma il vantaggio è che funzionerà molto meglio, userà meno risorse e permetterà anche di abilitare funzioni impensate, come una risoluzione molto maggiore, fino anche a 120 fps e persino il ray tracing. Su giochi di vent'anni fa. 

La ricompilazione statica ha cambiato i giochi

Il porting dei giochi non è una novità, ma fino a poco fa si usava un processo chiamato decompilazione, che per i titoli Nintendo 64 richiedeva anche anni per un singolo gioco. 

La decompilazione prevede di prendere il codice macchina originale dal gioco (la ROM) e poi di decodificarlo tramite un processo di ingegneria inversa.

Il risultato è un codice leggibile dallo sviluppatore che può essere modificato per migliorare o modificare i giochi in modo da farli funzionare su hardware moderno.

Benché il processo sia lungo, i risultati sono stupefacenti. Super Mario 64 è stato decompilato nel 2020 e ha portato al supporto per diversi formati di schermi, frame rate molto migliori e persino il ray tracing.

Ora grazie alla ricompilazione statica questa procedura può essere eseguita in pochi secondi in quanto il processo di ingegneria inversa del codice della ROM viene automatizzato, ed è possibile giocarci direttamente, senza doverci mettere mano. 

Attenzione però: gli sviluppatori rilasciano un eseguibile che richiede una ROM originale, non il gioco in sé. 

Un esempio di questa procedura è stato pubblicato su YouTube da Wiseguy, che ha ricompilato Majora's Mask per PC in due giorni (qui sotto) e si aspetta di poter fare il porting di tutta la libreria Nintendo 64 in poco tempo.

I risultati sono incredibili, molto meglio di quello che potreste ottenere con Nintendo Switch Online, che in fondo è pur sempre un emulatore. 

Il futuro: Android e le questioni legali

A questo punto vorrete sapere come giocarci. I lavori sono ancora all'inizio, ma altri sviluppatori hanno preso il lavoro di Wiseguy e hanno creato un porting del porting per Android di Majora's Mask.

Qui per esempio potete trovare un progetto su GitHub, ma ve lo indichiamo solo a titolo esemplificativo senza prenderci alcuna responsabilità, perché come dicevamo il progetto è recentissimo, e per esempio funziona solo con il controller (niente controlli touch al momento). 

Questo processo potrebbe anche proteggere la procedura dalle ire di Nintendo. Come dicevamo, decompilazione e ricompilazione non rilasciano una ROM, ma un eseguibile che richiede una ROM originale, quindi Nintendo non avrebbe in teoria appigli per attaccare i progetti, e visto che quasi sempre si tratta di programmi open source per cui gli sviluppatori non guadagnano niente, non potrebbero neanche essere attaccati da quel punto di vista.

Read Entire Article