Nota bene: l'articolo proposto in questa pagina è proprietà degli autori e non può essere distribuito o riutilizzato in alcun modo o forma senza il loro consenso scritto.
Le informazioni qui riportate risalgono alla data di pubblicazione dell'articolo e non è detto che siano ancora valide o che rispecchino lo stato attuale dei programmi, le posizioni delle persone interpellate o degli autori stessi.

Iniziamo da questo numero di Amiga Life una serie di mini speciali monotematici relativi ai vari prodotti emulabili ed alla relativa situazione su Amiga e non solo. Questo mese parliamo di N64, la "console delle meraviglie" Nintendo.

All'inizio del ‘99 la scena emulatoria è stata scossa da un evento del tutto inatteso: l'uscita di UltraHLE, un emulatore che, in meno di 400 k, permetteva di giocare, su un Pentium 233 MHz con scheda 3DFX, a titoli come Mario64 e Zelda64, portabandiera del N64.
Eh sì, perché dai tempi del NES (che tuttora qualcuno in TV prova a vendere!) ne è passata di acqua sotto i ponti. Ora le console usano CD o cartucce da vari MB, ed integrano hardware modernissimo, come fa, appunto, il N64, all'interno del quale trova alloggio un concentrato di tecnologia: processore centrale RISC R4300i a 93.75 MHz, bus custom per l'accesso ad alta velocità (fino a 562.5 MB/s) alla RAM (4 MB espandibili), sistema di gestione audio 16 bit stereo 48 KHz con effetti speciali in hardware e 100 canali separati.


Immagine Il fenomeno Pokémon è già una realtŕ su N64. A quando una bella partita a "Pokémon snap" anche con il nostro fido Amiga?

Ma il punto di forza della console, ciò che ne rende i giochi tanto spettacolari, è il coprocessore grafico, un RISC custom da 62.5 MHz denominato "Reality Immersion". Supporta il texture mapping, con una serie di optional degna delle migliori schede video. Fra le altre, sono disponibili in hardware: "MIP-map interpolation" (capacità di migliorare la resa delle texture applicate ad un poligono quando ci si avvicina o allontana da esso; è una delle tecniche utilizzate per evitare l'effetto "pixel grossi" dei vecchi Doom e Quake), "Perspective correction" (resa realistica di un poligono da qualunque prospettiva), "Blending" (sovrapposizione di due oggetti con possibilità di vedere l'uno attraverso l'altro), "Z-Buffering" (velocizzazione display tramite rimozione delle parti di poligono invisibili), 256 livelli di trasparenze e varie altre soluzioni atte a migliorare la resa dell'immagine, costruita tramite "Phong" e "Shade" (alternative veloci al Ray-Tracing). E tutto questo va emulato, per poter giocare ai titoli N64.
Qualsiasi cosa si voglia emulare ci sono due approcci per farlo: partire dal basso, creando un programma che simuli l'hardware registro per registro, oppure emularne solo la API (l'interfaccia software per i programmatori) ed il set di istruzioni del processore. UltraHLE segue la seconda strada (che abbiamo semplificato), una scelta che riduce i tempi di sviluppo a scapito della compatibilità: il programma fa girare i giochi più "system friendly", ma presenta problemi con molti altri titoli.
Dall'altra parte troviamo una nutrita serie di emulatori che, solo ora, iniziano a mostrare i primi risultati concreti. L'approccio, penalizzante relativamente ad impegno e tempi di sviluppo, ripagherà nel lungo termine con una maggiore compatibilità. Fra i prodotti di questo tipo c'è True Reality, il cui port Amiga è aggiornato dall'instancabile AmiDog. Se le prime versioni erano pressoché inutilizzabili, l'integrazione del supporto MiniGL ha cambiato le cose.
OpenGL è una API pubblica per la sviluppo di software 2D e 3D. Su Amiga ne esistono due implementazioni, rispettivamente di Haage & Partner e della Hyperion (MiniGL). Purtroppo non sono complete quanto l'originale, e ciò penalizza port come True Reality. Ma il problema maggiore è l'hardware: viste le caratteristiche del N64, per emularlo è necessario un sistema dotato di PPC e scheda grafica 3D (sarebbe folle emulare via software funzionalità hardware di quel livello). Al momento in cui scriviamo, le uniche configurazioni con i requisiti descritti sono quelle dotate di BVision/CVisionPPC (la C643D ha un chip troppo vecchio) e anche così l'architettura interna può risultare penalizzante. La situazione però non è disperata: i requisiti base di UltraHLE, citati in precedenza, non sono tanto superiori, segno che la combinazione hardware (CPU e scheda 3D) può reggere il compito. E poi va ricordato che True Reality già oggi riesce a far partire Mario64. L'avreste mai immaginato, all'uscita del N64?