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.

Chi è Mathias "Amidog" Roslund? Un benefattore le cui filantropiche attenzioni per il popolo amighista vanno ben oltre il comprensibile? Intanto noi possiamo dirvi che è l'autore della versione Amiga di una cospicua "suite" di emulatori (AmiGenerator, TrueReality, Handy, DarcNES e ColEm). Chi sia lo lasciamo giudicare a voi, dopo aver letto l'intervista che costituirà il fulcro del nostro angolo di questo mese.

D: Salve Mathias. Da quanto tempo usi Amiga? Quando hai iniziato ad usare questa meravigliosa macchina? Raccontaci, insomma, la tua storia di utente e sviluppatore, mettendo in risalto il tuo "pedigree" amighista.



Immagine La casa "virtuale" di Mathias Roslund.

R: Uso Amiga dal gennaio 1994. All'epoca, infatti, comprai il mio primo 1200. Ancora oggi ne possiedo uno, inserito in un tower Infiniv-2 e dotato di BlizzardPPC e BlizzardVision. All'inizio l'uso che facevo del computer era limitato ai soli giochi, poi, nel 1996, ho iniziato a scrivere qualche applicazione in AmigaE. Devo dire che da allora, da quel 1996, le cose si sono evolute rapidamente e meno di un anno fa ho iniziato ad avvicinarmi al C, dopo aver installato il compilatore GCC. I primi risultati in C si sono visti con AMP, un player di animazioni per PPC con supporto AGA, che ho deciso di scrivere vedendo la penuria di programmi del genere su Amiga.

D: Complimenti. Una rapida evoluzione coadiuvata anche da una buona configurazione hardware.

R: Sì, subito dopo aver iniziato AMP ho trovato su Internet il sorgente di TrueReality, l'emulatore open source di Nintendo64, e ho deciso di svilupparne una versione per Amiga. Più o meno la stessa cosa è accaduta con AmiGenerator, l'emulatore di Sega Megadrive/Genesis. Così, non appena riesco a trovare un programma interessante (che tratti di emulazione o meno), contatto l'autore per ottenere il permesso di realizzarne la controparte Amiga.

D: Quando e perché hai deciso di entrare, come programmatore, nel mondo degli emulatori?

R: Sono stato sempre attratto da questo mondo, sin dalle mie prime esperienze da semplice utente. Da vecchio appassionato di Commodore 64 (a proposito, ne possiedo ancora uno) mi ha sempre attirato la possibilità di usare vecchi classici sul mio Amiga, anche se la configurazione hardware di cui disponevo a quei tempi (Blizzard 1220, 4MB) non mi permetteva granché. Uno degli emulatori che ho più usato e apprezzato in quegli anni è stato AmiMasterGear, mi permetteva di ottenere il massimo anche sul mio modesto sistema.
Tutte queste esperienze non hanno fatto altro che accrescere la mia passione per l'emulazione e per tutto quello che si celava dietro la programmazione di queste fantastiche applicazioni. Il motivo per cui ho deciso di entrare in questo mondo è ancora un mistero. Tutto, comunque, risale a quel dicembre dell'anno passato, quando scovai i sorgenti di TrueReality in rete. Essendo un fan dell'emulazione, decisi di compilarne una versione Amiga e sondarne le prestazioni. Una cosa tira l'altra e, così, ho proseguito su questa strada, convertendo tutti gli altri emulatori.

D: In base a quali criteri hai scelto gli emulatori da portare su Amiga?

R: Mi sono concentrato soprattutto su titoli non ancora disponibili, in particolare in versione PowerPC. Non impiegherei mai del tempo per effettuare, ad esempio, il port di SNes9x, già disponibile in due versioni: una per ppc.library di Phase5 e l'altra per WarpUP di Haage & Partner. Comunque, a parte questo, ho sviluppato quasi tutti gli emulatori i cui sorgenti erano disponibili e scritti in codice portabile.

D: Osservando le macchine emulate da DarcNES viene da pensare che tu sia un ammiratore del vecchio PCEngine. D'altronde proprio il mitico "8Bit" Nec era una delle poche console a rimanere inesplorata su Amiga. Forse anche questo ti ha spinto a portare DarcNES?

R: Veramente no. Non ho mai avuto occasione di vederne uno all'opera. Alla base dello sviluppo di DarcNES c'è stata essenzialmente l'intenzione di realizzare un emulatore NES che funzionasse in modo adeguato anche con la mia scheda grafica BlizzardVision.

D: Quale emulatore, tra quelli da te portati su Amiga, preferisci?

R: DarcNES è uno di questi. Certo, se AmiGenerator fosse più veloce, propenderei indubbiamente per quest'ultimo… ma diciamo ugualmente AmiGenerator.

D: Che tipo di difficoltà hai incontrato in fase di sviluppo?

R: La più grande difficoltà l'ho avuta portando Handy, perché è il solo emulatore a non supportare il "big endian" (le CPU Intel sono little endian). Handy, infatti, era stato scritto per Windows usando qualche "Visual GUI editor" che rendeva più difficoltoso il lavoro di conversione.
Per gli altri emulatori, invece, è stato tutto molto più semplice. DarcNES, ad esempio, conteneva delle istruzioni in assembly i386, che dovevano essere riscritte in C, e Nyef, l'autore principale, ha provveduto a fare queste modifiche per me.

D: Quindi, in alcuni casi, hai dovuto apportare modifiche al sorgente principale.

R: Sì, è stato inevitabile (problemi simili erano sorti anche con MAME, NdR). AmiGenerator, TrueReality e DarcNES sono scritti per essere portati su qualsiasi piattaforma, mentre ColEm e Handy no. Il problema è che, generalmente, la maggior parte degli utenti possiede ormai una macchina basata su CPU Intel e, di conseguenza, come vi accennavo prima, gli sviluppatori non ritengono prioritario il supporto a processori di tipo "big endian" come le serie PowerPC e 680x0 di Motorola.



Immagine La sezione emulatori nel sito di Mathias Roslund.

D: Abbiamo visto che, in occasione dei primi rilasci di TrueReality, ti sei appoggiato alla ppc.library di Phase5 per scrivere programmi per PowerPC, ma ora usi WarpUP. Perché hai preferito cambiare? Quali differenze, a grandi linee, hai notato tra i due sistemi?

R: In origine ho usato solo la ppc.library di Phase5 perché era il solo kernel utilizzato dal GCC PPC. Poi, con l'uscita dei driver 3D MESA, non ho avuto più scelta: dovevo usare WarpUP. D'altro canto fino a quel momento non c'era un gran numero di applicazioni scritte per PowerUP e hardware con funzioni 3D (vedi il Permedia 2, il chip montato sulle BlizzardVision e CyberVision PPC, NdR), senza contare che l'utilizzo di librerie 3D sarebbe stato utile soprattutto nel caso di TrueReality. Da allora sempre più utenti hanno richiesto una versione appositamente scritta per WarpUP, che, di lì a poco, sarebbe diventata una tappa obbligata. Fino ad oggi le persone che hanno richiesto nuove versioni dei miei programmi per ppc.library sono state solamente due: un numero irrilevante. La scelta, poi, è caduta in modo definitivo sul kernel PPC di Haage & Partner anche per la presenza, all'interno della distribuzione, di un ottimo emulatore di ppc.library. Insomma, il compromesso ideale per coniugare i due "mondi", non trovate?

D: Cosa pensi dell'attuale "scena" emulatori Amiga?

R: Devo ammettere che ultimamente si è un po' ridotta rispetto agli anni passati. Per questo ho deciso di farmi avanti e cercare di tenerla viva in tutti i modi, anche se non dovesse essere prodotto alcun nuovo Amiga.

D: Chi, secondo te, è il miglior programmatore del settore?

R: Senza ombra di dubbio Juan Antonio Gómez Gálvez, l'autore della serie "AmiEmulator". E' un vero peccato che abbia abbandonato il mondo informatico.

D: E riguardo Fusion/PCX per PowerPC cosa ci dici?

R: Ho ordinato Fusion PPC e invierò i soldi per il pagamento appena possibile. Per PCX, invece, il discorso è un po' diverso. Potrebbe senz'altro essere utile, ma bisognerà vederlo all'opera per valutarne le reali prestazioni.

D: Quali sono i tuoi progetti futuri?

R: Prima di tutto cercherò di migliorare il supporto AVI e Quicktime in AMP; poi, probabilmente, sarò impegnato con la versione Amiga di "Worms: Armageddon", l'ultimo capitolo della saga "verminosa" resa celebre dal Team 17.

D: Sul fronte emulatori cosa ci dici? Possiamo aspettarci una tua versione di MAME?

R: Sicuramente no. Non farò mai un port di MAME, il sorgente è stato scritto in modo troppo caotico. Ho iniziato, piuttosto, un port di kbMAME (una versione di MAME con supporto ai soli titoli NeoGeo), ma mi sono dovuto fermare a causa di altri impegni che hanno preso il sopravvento. Al momento sto raccogliendo qualche informazione su VICE, un emulatore di C64/C128/Vic20, ma non prometto nulla di pronto entro breve.

D: Grazie Mathias, è stata un'intervista molto interessante. In bocca al lupo per i tuoi progetti futuri!

R: Grazie a voi. A risentirci!

(Traduzione di Francesco Celli)