Indice: 1. Introduzione.
2. Creazione delle
directory per i sorgenti del MAME ed il compilatore C.
3. Download di tutti i file
necessari.
3.1 Download
dei sorgenti del MAME ed eventuali FIX
3.2 Download
di tutti i file che compongono il compilatore C
4. Modifica del file
AUTOEXEC.BAT.
5. Download dell'ultima
versione dell'Allegro WIP (Work In Progress).
6. Compilazione
delle librerie Allegro.
7. Compilazione
delle librerie
ZLIB
8. Copia di alcuni file
necessari alla compilazione del MAME.
9. Creazione delle
directory che conterranno i file oggetto del MAME.
10. Compilazione del MAME.
11. Riduzione della
grandezza del file 'MAME.EXE'.
12. I problemi più comuni
:-(
13. Ringraziamenti e
copyright.
1. Introduzione
Questa pagina è stata ideata per aiutarvi
nella compilazione dell'ultima beta del MAME.
Adesso la domanda più comune dovrebbe essere: E perché dovrei aver voglia di
compilare il MAME?
Beh, prima di tutto perché dovrebbe essere divertente (almeno per me :-)), secondo
perché imparando a compilare il MAME, potrete ottimizzarlo per il vostro sistema o le
vostre preferenze... Comunque sia, se vi va bene il MAME ufficiale e non avete voglia (o
non vi interessa sapere come si fa) di compilare i suoi sorgenti, allora questo articolo
non fa per voi... Ma se siete degli "smanettoni" e avete sempre avuto il
desiderio di sapere come viene compilata l'ultima beta del MAME, prima che venga
distribuita al pubblico, allora continuate nella lettura della presente guida, dato che
qui troverete tutte le informazioni di cui avrete bisogno.
Comunque sia, prima di passare al seguente punto, dovrete sapere che:
- Ci sono più di 10MB di file *zippati" di cui avrete
bisogno (includendo i sorgenti)
- Le istruzioni DOS presenti in questa pagina saranno
evidenziate in grassetto e con il carattere Courier
New. es.. scrivi cd c:\mamesrc o
pkunzip
*.zip
- Se cd
c:\mamesrcb o pkunzip *.zip
vi rimane strano, allora la vostra conoscenza del DOS è un po' scarsina :-)...
Sfortunatamente, in questa guida do per scontato che voi conosciate un
minimo di DOS...
Comunque tutto quello di cui avrete bisogno sarà una shell MS-DOS aperta sul vostro
desktop, nella quale inserirete tutti i comandi MS-DOS che scriverò in questa guida.
- Vi prego, se avete dei problemi, mandate un'E-Mail SOLO a
me... NON SCRIVETE al MAME Team ;-)
2. Creazione delle directory per i sorgenti del MAME ed il
compilatore C
Allora, prima di tutto, dovrete crearvi delle
directory in cui alloggiare il compilatore C e i sorgenti del MAME.
Quindi aprite una finestra MS-DOS (oppure entrate in DOS puro che è meglio), e
scrivete i seguenti comandi:
- C:
- CD \
- MKDIR C:\DJGPP
(vi consiglio di alloggiare il
compilatore C in questa directory, e non in altre, dato che altri percorsi potrebbero dare
dei problemi)
- MKDIR C:\MAMESRC
(per quanto riguarda i
sorgenti del MAME non c'è nessun problema, li potete mettere dove volete)
Ricordatevi che per scompattare gli archivi
ZIP, avrete bisogno del PKUNZIP o il WinZIP (il PKUNZIP dovrà essere messo in una directory
settata nel vostro PATH. es. C:\WINDOWS\COMMAND oppure C:\DOS)
3. Download di tutti i file necessari
Questo paragrafo è stato suddiviso in tre
parti:
Nella prima parte viene spiegato da dove scaricare gli ultimi sorgenti del
MAME e
gli eventuali fix (i fix servono per fissare alcuni problemi presenti in alcune
distribuzioni ufficiali dei sorgenti del MAME).
Nella seconda parte invece spiego quali file compongono il pacchetto completo del
compilatore C ed ovviamente da dove scaricarli.
Nella terza viene indicato il nome ed il download dell'assemblatore NASM,
necessario alla compilazione dell'engine di emulazione 68000 scritto in Assembler.
3.1 Download dei sorgenti del MAME ed eventuali FIX
Allora, visto che questa guida è stata
sviluppata per aiutarvi nella compilazione dell'ultima beta del MAME, è ovvio che dovrete
procuravi i nuovi sorgenti.
Visto che il processo di compilazione è similare ad ogni versione del MAME, è
molto probabile che la presente guida sarà indicata anche per la compilazione delle
successive versioni del MAME (dalla 0.34 in poi). Quindi non vi spaventate se vedrete dei
riferimenti direti alla 0.34, mentre voi cercherete di compilare una versione successiva.
Se ci saranno dei drastici cambiamenti ai sorgenti, o nel processo di compilazione,
voi qui troverete tutto l'occorrente, ma se invece il processo di compilazione rimarrà
invariato rispetto alle precedenti versioni, allora non avverranno cambiamenti particolari
a questa guida.
Allora, per compilare l'ultima versione del MAME dovrete scaricarvi TUTTI
i seguenti file:
Nome ed
Home Page del programma |
Versione
e Download |
Rilasciato |
Size |
Descrizione |
MAME |
Sorgenti MAME 0.35 |
07/07/99 |
3800
Kb |
Sorgenti ufficiali del MAME
(Per eventuali aggiornamenti consultate l'Home
Page del MAME) |
Libreria Allegro |
allegro.h |
07/07/99 |
22 Kb |
Versione apposita del file allegro.h
per MAME (la versione ufficiale dell'allegro.h da alcuni problemi durante
la compilazione) |
Note particolari per
l'installazione dei sorgenti del MAME:
Dopo che vi sarete scaricati tutti i file
sopra elencati dovrete seguire i seguenti passi:
1) Copiare l'archivio dei sorgenti dentro la directory C:\MAMESRC
(o nel percorso in cui avete creato la directory per i sorgenti)
2) Scompattare gli zippati nel seguente modo:
(OVVIAMENTE potrete usare anche il WinZIP, senza copiare gli archivi dei sorgenti
dentro la directory MAMESRC... Ho usato il PKUNZIP per spiegare il processo di
decompressione
a chi non sapeva come si fa, e l'ordine con cui vanno scompattati i due
archivi).
L'archivio contenente il file allegro.h per il momento lasciatelo
li dove lo avete scaricato, dato che servirà in seguito, ma non ora.
3.2 Download di tutti i file necessari per il compilatore C e
Assembler
Adesso è la volta del download del
compilatore C, il DJGPP (DJ Delorie C Compiler, un port free per DOS dello GNU C Compiler
per UNIX), e di tutti i suoi componenti.
Quindi ricordatevi di scaricare tutti i file
sotto elencati:
Dopo aver scaricato tutti
i file sopra elencati, copiateli tutti dentro la directory C:\DJGPP
(usando pure il Gestione RIsorse di Windows) e poi
ritornate nella vostra shell MS-DOS e scrivete i seguenti comandi DOS:
4. Modifica del file AUTOEXEC.BAT
Perfetto, dopo aver scompattato correttamente
tutti gli archivi, adesso è il momento di settare un po' di cose, in modo che il
compilatore C funzioni correttamente.
Prima di tutto dovrete editare il file C:\AUTOEXEC.BAT
nel seguente modo:
- C:
- CD \
- EDIT AUTOEXEC.BAT
(io ho usato il comando DOS
edit, ma nessuno vi vieta di usare il NotePAD di WIN95 o qualsiasi altro
programma di scrittura. Basta che sia un editor ASCII)
Una volta aperto il file AUTOEXEC.BAT,
cercate la linea in cui è scritto:
path %path%;........eccetera...eccetera...
e alla fine della linea path che avete già, inserite:
;C:\DJGPP\BIN
Il risultato dovrebbe essere il seguente
(i puntini che ho riportato nel seguente esempio rappresentano i path che
avevate già voi nel vostro sistema):
path %path%;.....................................;C:\DJGPP\BIN
Una volta fatto questo, dovrete settare un variabile di sistema, con la seguente
linea:
SET DJGPP=C:\DJGPP\DJGPP.ENV
Questa, la potrete mettere dove vi pare all'interno del file AUTOEXEC.BAT
(va bene anche in fondo)
Dopo aver fatto questi due cambiamenti salvate il file ed uscite.
Ricordatevi che per fare in modo che i cambiamenti fatti al file AUTOEXEC.BAT
abbiano effetto, dovrete resettare il computer.
Dopo il reset, per vedere se tutto è andato a buon fine dovrete scrivere in un
prompt MS-DOS il comando SET.
Tra le scritte che verranno visualizzate cercate il testo con scritto:
PATH=.....C:\DJGPP\BIN e DJGPP=C:\DJGPP\DJGPP.ENV
Se vedrete queste scritte, allora sarà andato tutto a buon fine,
altrimenti ripetete il passo precedente.
5. Download dell'ultima versione dell'Allegro WIP (Work In
Progress).
Adesso è la volta di aggiornare le
librerie
Allegro (sono librerie appositamente studiate e programmate per agevolare il lavoro di
programmatori di Video Game).
Molte funzioni che la nuova beta del MAME richiede, nelle vecchie librerie Allegro
3.1 non sono presenti, quindi è d'obbligo aggiornarle all'ultima release WIP (Work In
Progress).
Per cui scaricate tutti i seguenti archivi:
Copiate i seguenti archivi che
avete appena scaricato, dentro la directory C:\DJGPP e scrivete i seguenti
comandi (ricordatevi che dovrete essere obbligatoriamente dentro la
directory C:\DJGPP):
E rispondete 'YES', a tutti i prompt di overwrite.
Adesso non vi rimane altro da fare se non patchare la versione ufficiale delle
Allegro Library con quella WIP, scrivendo questo:
Adesso le vostre librerie allegro dovrebbero essere aggiornate all'ultima versione.
6. Compilazione delle librerie Allegro
Adesso è arrivato il momento di compilare le
librerie Allegro che avete appena aggiornato.
Fate come vi dico:
Entrate dentro la directory C:\DJGPP\ALLEGRO e scrivete nel prompt
MS-DOS:
Adesso dovrebbe comparire un messaggio di questo tipo:
>compiling allegro, please wait
Aspettate con pazienza, che il processo di compilazione dovrebbe durare un po' di
minuti (il tempo impiegato dipende dalla potenza della CPU).
Durante la compilazione dei sorgenti non ci dovrebbe essere nessun intoppo (almeno
spero), ed il messaggio che vi informerà che la compilazione è avvenuta con successo
dovrebbe essere il seguente:
>All done.
>To use Allegro, #include allegro.h and link with liballeg.a
>Example command line: gcc foobar.c -o foobar.exe -lalleg
>Enjoy!
Se invece di ricevere questo messaggio, avviene
un errore, allora ripetete i
precedenti punti alla ricerca di un vostro eventuale errore.
Ma se invece è andato tutto come doveva andare, bene! Avete compilato
le librerie
Allegro, in modo che possano essere usate con il MAME (le Allegro Library danno il
supporto per il mouse, keyboard, joystick, ecc...).
7. Compilazione delle librerie ZLIB
Per compilare queste librerie
indispensabili al MAME, dovrete digitare nel prompt MS-DOS i seguenti comandi:
8. Copia di alcuni file necessari alla compilazione del MAME
Ok, siamo vicini all'ora X :-) vi rimane
solamente da copiare alcuni file particolari, che sono indispensabili per una corretta
compilazione dei sorgenti del MAME.
Quindi scrivete i seguenti comandi DOS:
-
COPY C:\DJGPP\AUDIO\LIB\DOS\libaudio.a
C:\DJGPP\LIB
-
COPY C:\DJGPP\ZLIB\libz.a
C:\DJGPP\LIB
-
COPY C:\DJGPP\AUDIO\INCLUDE\audio.h
C:\DJGPP\INCLUDE
-
COPY C:\DJGPP\ZLIB\zconf.h
C:\DJGPP\INCLUDE
-
COPY C:\DJGPP\ZLIB\zlib.h
C:\DJGPP\INCLUDE
Adesso, prendete il file allegro.h che avete
precedentemente scaricato da questa pagina e copiatelo dentro la directory C:\DJGPP\INCLUDE
e quando vi verrà chiesto di sovrascriverlo, rispondete 'YES' (il MAME usa una
nuova versione del file allegro.h, è per questo che
dovrete copiare tale file dentro quella directory).
9. Creazione delle directory che conterranno i file oggetto del
MAME
Creiamo le directory necessarie al
MAME, per
ospitare i suoi file oggetto che poi il linker unirà in un unico file eseguibile chiamato
MAME.EXE (ma và? :-))
Entrate dentro la directory in cui avete scompattato i sorgenti del MAME (se avete
seguito le mie istruzioni, allora sarà C:\MAMESRC) con un bel:
e scrivete:
Adesso l'output che vedrete dovrebbe essere tipo il seguente:
C:\MAMESRC> make makedir
md obj
md obj\cpu
md obj\cpu\z80
md obj\cpu\m6502
md obj\cpu\h6280
md obj\cpu\i86
md obj\cpu\i8039
md obj\cpu\i8085
md obj\cpu\m6800
md obj\cpu\m6805
md obj\cpu\m6809
md obj\cpu\m68000
md obj\cpu\s2650
md obj\cpu\t11
md obj\cpu\tms34010
md obj\cpu\tms9900
md obj\cpu\z8000
md obj\cpu\tms32010
md obj\cpu\ccpu
md obj\sound
md obj\drivers
md obj\machine
md obj\vidhrdw
md obj\sndhrdw
md obj\msdos
C:\MAMESRC>
Ottimo, siamo quasi pronti al fatidico
momento.
10. Compilazione del MAME
É arrivato il momento della verità: La
compilazione dei sorgenti!
Entrate dentro la directory C:\MAMESRC e scrivete il seguente comando:
Questo è tutto, adesso il compilatore penserà al resto, voi dovrete solamente
starvene a guardare :-)
Se avete seguito tutte le istruzioni alla lettera, non dovrebbe esserci nessun
problema, e alla fine della compilazione, nella vostra directory C:\MAMESRC
dovrebbe comparire un simpatico file chiamato MAME.EXE (provate ad
indovinare cos'è e a cosa serve :-)))) che voi avete appena compilato!
Enjoy! :-)
11. Riduzione della grandezza del file 'MAME.EXE'
Il MAME è generalmente distribuito con un
eseguibile estremamente ridotto rispetto a quello che viene compilato dal DJGPP, e questo
semplicemente perché prima di distribuirlo al pubblico Nicola lo comprime con una
apposita utility chiamata UPX.
Quindi se volete comprimere l'eseguibile del MAME dopo averlo compilato dovrete
entrare dentro la directory C:\MAMESRC e scrivere nel prompt MS-DOS il
comando:
Ecco fatto, adesso l'eseguibile è stato compresso come quello del MAME Team.
12. I problemi più comuni :-(
- Se stai compilando il MAME in una finestra MS-DOS di Windows
95/98, e non in DOS puro, molto probabilmente, durante la compilazione vedrai un errore di
questo tipo:
Load error: no DPMI selectors
make.exe: *** [obj/vidhrdw/subs.o] Error 1
Oppure:
make.exe: *** [obj\.................] Error1
Non ti preoccupare, questo è un errore
(bug?) che appare quando si compila il MAME in una finestra DOS di Windows95 (Se lo
compilate in DOS puro, non vedrete questo errore). Dopo aver ricevuto questo errore, basta
che riscriviate nuovamente make e a questo punto il compilatore
continuerà il suo processo senza dare nessun altro problema (almeno spero :-)).
13. Ringraziamenti e copyright
La versione originale inglese di questa guida
è copyright di Zan ed è reperibile al seguente
indirizzo:
http://zan.emuunlim.com/mame.
Completa traduzione in italiano e varie modifiche a cura di Ugo Viti
I miei più sentiti ringraziamenti vanno a Nicola Salmoria e a tutto il MAME Team,
per aver creato un sogno chiamato MAME, senza il quale, ad oggi non sarebbe possibile
rivivere le indimenticabili emozioni provate molti anni fa con i video game arcade dei BAR. Grazie, grazie di esistere. |