MegaLab.it
Stampa Articolo
Aperiodico gratuito di informatica
 
Contenuto Default

M.A.M.E. 0.107u3: finalmente completa l'emulazione di Bubble Bobble

a cura di The King of GnG
19/08/2006 - news
Archivio - I lavori sulla creatura di Nicola Salmoria non si fermano, e un traguardo storico viene raggiunto grazie all'impegno ostinato di uno sviluppatore appassionato e al codice di Nicola stesso..

"... Ho soltanto un'immensa passione per tutti i giochi con cui sono cresciuto. Li voglio vedere tutti ricreati in maniera fedele e corretta". Per la serie quando al cuore di un coder c'è sempre un giovane videogiocatore: queste sono le parole di Aaron Giles, decano dei mamedev, ovvero il nocciolo duro di professionisti e programmatori che da nove anni, per pura passione e grazie ad un impegno costante, ci regalano, puntualmente, una nuova versione di M.A.M.E. a settimana.

Per chi non lo sapesse, il progetto Multiple Arcade Machine Emulator (M.A.M.E. appunto) mira a preservare tutti i videogiochi da sala (comunemente definiti "arcade") prodotti dagli albori ad oggi, grazie all'emulazione fedele delle componenti dell'hardware (CPU, sottosistema audio e video, controlli, DAC, ...) su cui gira il codice di programma dei giochi, codice distribuito sulla rete sotto la forma delle famigerate ROM (per maggiori informazioni su M.A.M.E. e dintorni si consiglia la lettura delle news che abbiamo precedentemente dedicato all'argomento, rif. M.A.M.E. 0.98 disponibile per il download).

01_-_M.A.M.E.. jpg

Come riportato tempo fa, Aaron Giles (lo ricordiamo, programmatore professionista attualmente sotto contratto Microsoft) è ora il manutentore del progetto, si occupa di armonizzare i contributi dei tanti mamedev e di rilasciare il codice di ogni versione sul sito ufficiale del team. Oltre a questo, Aaron dimostra costantemente di avere una passione smodata per la riscrittura di interi pezzi dell'emulatore: già responsabile della realizzazione di molti dei componenti base di M.A.M.E. (basti ricordare la conversione del codice OS-dependant da Dos a Windows, il sistema di timing per la sincronizzazione delle CPU emulate nei giochi multiprocessore, il sottosistema che si occupa delle CPU sonore, il sottosistema di gestione della memoria emulata, ...), in occasione della più recente build stabile, la versione 0.107, ha introdotto un nuovo renderer della grafica su schermo, pensato naturalmente per un comportamento sempre più coerente del codice di emulazione con quello delle macchine reali.

02_-_Bubble_Bobble_MCU.jpgCon la terza release intermedia seguita alla build, la 0.107u3, il lavoro coadiuvato di Nicola Salmoria (iniziatore di M.A.M.E.) e del mamedev Trinity ha permesso di raggiungere un'altra tappa fondamentale per il progetto: il chip contenuto nella MCU (MicroController Unit, chip di memoria ROM protetto normalmente impossibile da leggere o da dissaldare) di Bubble Bobble è stato fotografato al microscopio dopo aver tolto la protezione, e ROM è stata decodificata manualmente bit per bit! (una descrizione particolareggiata del tutto è possibile trovarla sul blog di Nicola)

Grazie al prezioso lavoro di decrypting, il codice finora impiegato per simulare la MCU è stato sostituito ROM originale: come Nicola stesso descrive sul blog, nonostante MCU simulata fosse molto vicina al codice reale, esistono delle differenze che nel gioco influenzano il comportamento dei mostri e l'apparizione delle lettere della parola EXTEND, che raccolte tutte regalano una vita extra al giocatore. A tal proposito, Nicola lancia una sfida: visto che la nuova ROM rende prevedibile l'entrata nel quadro di gioco delle bolle contenenti le lettere, è teoricamente possibile (ancorché mostruosamente arduo) ottenere tutte e 6 le lettere in un singolo livello. Chi si ritenesse capace di vincere la sfida lanciata dal nuovo codice può contattare Mr. Salmoria con un bell'.inp (file di registrazione dei comandi del giocatore delle partite al M.A.M.E.) a riprova...

03_-_MCU_Uncovered!.jpg

Tra la lista al solito sterminata di miglioramenti totalizzati dalla nuova beta è doveroso citare il miglioramento del driver di Virtua Racing e la continuazione della riscrittura di vecchi driver da parte del solito, vulcanico Aaron (in questo caso è il classico Zaxxon a giovarne). Ennesima dimostrazione, oltre al completamento dell'emulazione di Bubble Bobble, che l'inclusione nell'emulatore della quasi totalità dei gloriosi arcade dell'età dell'oro dei videogiochi (tradizionalmente, tra il secondo lustro degli '80 e i primi anni 90) non demotiva i dev: anche qualora l'ultimo arcade storico venisse finalmente emulato, ci sarà sempre lavoro da fare e codice da affinare per molti anni a venire...

04_-_Bubble_Bobble.jpg

MegaLab.it rispetta la tua privacy. Per esercitare i tuoi diritti scrivi a: privacy@megalab.it .

Copyright 2008 MegaLab.it - Tutti i diritti sono riservati