| Ultimo aggiornamento: 8
dicembre 1999 by F0x | | Guida "non ufficiale" alla compilazione del M.A.M.E. DOS | | | | |
Introduzione | | |
Questa
pagina è stata creata con lo scopo di aiutarvi nella compilazione del M.A.M.E. DOS. In
particolare questa guida si riferisce alla compilazione della beta 11 del M.A.M.E. 0.36 ma
dovrebbe essere valida anche per le versioni successive. Considerate comunque che nuove
versioni del M.A.M.E. vengono rilasciate quasi bisettimanalmente. In ogni caso cercherò di
aggiornare nei limiti del possibile questa guida se dovessero esserci cambiamenti rilevanti.
Ora vi starete probabilmente facendo la domanda... perchè compilare il M.A.M.E.
?!? Personalmente ritengo sia molto divertente. Inoltre compilando il vostro M.A.M.E.
potrete attivare dei driver (la maggior parte dei quali sono "work in progress") disattivati
nella release ufficiale o addirittura alcuni giochi NEOGEO (Metal Slug X, Captain Tomaday,
Puzzle Bobble 2 e King of Fighters 99) perfettamente emulati. Naturalmente in questa
pagina trovate tutti i files necessari alla compilazione. Alcune cose prima di
cominciare... - Sono necessari poco più di 10 Mb di file "zippati" (inclusi i
sorgenti del M.A.M.E.)
- Le istruzioni DOS in questa pagina saranno in grassetto
e in verde. Ad esempio... cd c:\mamesrc oppure pkunzip *.zip
- Se cd c:\mamesrc
oppure pkunzip *.zip vi sembrano parole
aliene...allora la vostra conoscenza del DOS lascia alquanto a desiderare. Sfortunatamente,
io presumo che conosciate almeno superficialmente il DOS anche se cercherò di rendere il
tutto il più chiaro e semplice possibile.
- Nel caso abbiate problemi nella
compilazione, NON SCRIVETE AL MAME TEAM, ma consultate la sezione Faq (basta cliccare
nel menù a sinistra)
|
| Setting up |
| |
Attraverso questa guida, vi dirò
cosa fare e dove farlo... dovrete creare qualche directory nel vostro hard disk usando i
nomi da me indicati. Ecco la struttura da me consigliata: - C:\COMPILER\DJGPP
- C:\COMPILER\SEAL
- C:\COMPILER\NASM
- C:\COMPILER\ZLIB
- C:\MAMESRC
Avrete inoltre bisogno del pkunzip per DOS. Se non lo avete, prendetelo qui. Il file pkunzip.exe deve
essere salvato in una directory nel vostro PATH. Una buona soluzione potrebbe essere C:
\WINDOWS. Per vedere se tutto è ok, andate al prompt di MS-DOS e digitate: pkunzip. Se, come risultato, ottenete Bad command or file name
il pkunzip non è stato salvato in una directory del vostro path. Controllate il
vostro path digitando, sempre nel prompt di MS-DOS, path.
NOTA: Se pensate che i nomi da me usati per le directory siano
"stupidi" potete usarne di altri, o potete anche usare un drive differente (per esempio D:\
). Io, naturalmente, mi riferirò alla struttura e ai nomi di directory da me indicati : )
|
|
Mame source | | | Avrete bisogno del source code del MAME! Una
volta scaricato, salvatelo nella directory C:\MAMESRC
FILE
| DI COSA SI TRATTA? | DIMENSIONE |
| MAME Source code Distribution | 3.75 MB |
A questo punto entrate nella directory C:\MAMESRC e digitate: in seguito:
L'opzione "-d" è molto importante poichè permette di "unzippare" anche le sottodirectory del source code del MAME. Verificate di trovarvi nella directory C:\MAMESRC. |
|
Djgpp compiler |
| |
Questa volta è il turno del compilatore, il
DJGPP. Scaricate i seguenti file e copiateli nella directory C:
\COMPILER\DJGPP
Per "unzippare" questi files, entrate nella directory
C:\COMPILER\DJGPP e digitate: Ricordo
sempre l'importanza del "-d" senza il quale non si ricreerebbe l'originale struttura delle directory. Una volta
lanciato il comando, compariranno tutte le directory relative al djgpp. Per far funzionare correttamente
il DJGPP dal prompt di MS-DOS digitate: PATH= %PATH%;C:\COMPILER\DJGPP\BIN
- SET DJGPP=C:\COMPILER\DJGPP\DJGPP.ENV
Per controllare che
tutto sia andato per il verso giusto, sempre dal prompt di MS-DOS digitate: set
e premete INVIO. Da qualche parte dovreste vedere: PATH=.............;C:\COMPILER\DJGPP\BIN
Se non vedete questo, la compilazione del M.A.M.E. non funzionerà. DJGPP=C:
\COMPILER\DJGPP\DJGPP.ENV Stesso discorso di prima. Ci sono diversi modi per facilitare la
cosa. Si possono inserire le righe del path nell'autoexec.bat oppure è possibile creare un file batch da
lanciare ogni qual volta si voglia compilare il M.A.M.E. In pratica, la cosa importante è che il DOS "veda" il
compilatore. |
|
Allegro | | | Ora tocca compilare le librerie Allegro che, in pratica, servono al funzionamento delle vostre
tastiere e delle vostre schede video. Scaricate il seguente file e copiatelo nella directory C:\COMPILER
FILE |
DI COSA SI TRATTA?
| DIMENSIONE | | ALLEGRO
3.9.27 WIP | 1.5 MB |
Per "unzippare" il file, entrate nella directory C:\COMPILER e digitate: L'opzione "-d" è molto importante. Lanciato il comando,
cominceranno ad apparire le directory delle librerie ALLEGRO. Conclusa questa operazione, avremo a disposizione tutti i
file ALLEGRO necessari per compilare il M.A.M.E. Naturalmente, è necessario compilare manualmente le librerie ALLEGRO.
Editate il file makefile.all presente nella directory C:\COMPILER\ALLEGRO e modificate nelle prime linee come qui
riportato, in modo da attivare il PGCC: # STATICLINK=1 use static linking (MSVC only). PGCC=1 use PGCC
compiler switches (djgpp only). # CROSSCOMPILE=1 build djgpp version under Linux (djgpp only). Per compilare
le ALLEGRO, entrate nella directory C:\COMPILER\ALLEGRO e digitate: Dovreste vedere un messaggio simile a quello qui riportato: >Compiling Allegro for djgpp,
optimised. Please wait... Questo porterà via un pò di tempo...e, se non ci sono problemi, vedrete scorrere sullo
schermo un bel pò di testo... Abbiate pazienza! Il tutto finirà con il seguente messaggio: >All djgpp library
versions have been compiled. >Run make installall to complete the installation. >All done. Per concludere,
digitate: Attendete fino alla fine del processo. Cos'e'
successo?!? Avete appena compilato le librerie ALLEGRO necessarie per far funzionare mouse, tastiera e scheda video.
|
|
Seal | | | Altro passo, altre librerie. Questa volta è il
turno delle Seal che permettono il funzionamento della vostra scheda
sonora. Scaricate il seguente file e copiatelo nella directory C:\COMPILER\SEAL
FILE | DI COSA SI TRATTA? | DIMENSIONE |
| SEAL AUDIO LIBRARY | 447 KB |
Muovetevi nella directory C:\COMPILER\SEAL, dove avete copiato il file e digitate:
Ricordo per l'ennesima volta l'importanza del "-d".
Lanciato il comando, si creeranno le directory relative alle librerie Seal e i files richiesti per la compilazione del
M.A.M.E. saranno pronti.
|
|
Nasm | | | Passiamo ora al "settaggio" del Nasm il compilatore dei cores ASM del M.A.M.E. Scaricate il seguente file
e copiatelo nella directory C:\COMPILER\NASM
FILE
| DI
COSA SI TRATTA? | DIMENSIONE | |
Netwide Assembler, a free portable assembler for the Intel 80x86 microprocessor series, which uses the
traditional Intel instruction mnemonics and syntax | 160 KB |
Dalla directory C:\COMPILER\NASM, nella quale avete copiato il file precedente, digitate:
Attendete la fine dell'operazione, quando i file
Nasm richiesti per compilare il M.A.M.E. saranno pronti. Per rendere il Nasm attivo è necessario aggiungere la sua
directory al path in questo modo: PATH= %PATH%;C:\COMPILER\NASM
Controllate con il comando SET o create un file batch se odiate digitare ogni volta : - )
|
| Zlib |
|
| Ancora un pò di pazienza...questa volta è il
turno del Zlib, una utility di
compressione. Scaricate il seguente file e copiatelo nella directory C:
\COMPILER\ZLIB
FILE | DI COSA SI
TRATTA? | DIMENSIONE
| | A Massively Spiffy Yet Delicately
Unobtrusive Compression Library | 213 KB |
Dalla directory C:\COMPILER\ZLIB, dove avete copiato il file,
digitate: Ponete
attenzione al "-d". Lanciate il comando e attendete... Le Zlib vanno compilate manualmente
quindi muovetevi nella directory C:\COMPILER\ZLIB e lanciate il comando: make -fmsdos\makefile.dj2 Completato ciò ancora un pò di
pazienza e potrete compilare il vostro M.A.M.E.
|
|
Moving
| |
|
A questo punto è necessario
spostare alcuni files in determinate directory. Questo per
rendere visibili al DJGPP alcuni files relativi alle SEAL e alle
ZLIB. I Files vanno spostati nelle sottodirectory LIB e INCLUDE
del DJGPP come di seguito riportato: Per le SEAL e le
ZLIB copiate C:
\COMPILER\SEAL\AUDIO\LIB\DOS\libaudio.a- C:
\COMPILER\ZLIB\libz.a
- in
- C:\COMPILER\DJGPP\LIB
e i files
C:\COMPILER\SEAL\AUDIO\INCLUDE\audio.h
- C:\COMPILER\ZLIB\zconf.h
- C:\COMPILER\ZLIB\zlib.h
- in
- C:\COMPILER\DJGPP\INCLUDE
|
| Upx | |
| Il M.A.M.E. viene rilasciato come un eseguibile
relativamente piccolo. In realtà occupa molto di più, la sua dimensione viene
ridotta grazie ad una piccola utility...UPX. Scaricate il seguente file e copiatelo
nella directory C:\MAMESRC
FILE | DI COSA SI
TRATTA? | DIMENSIONE
| | EXEcutable compression utility
| 93 KB |
Dalla directory C:\MAMESRC, digitate:
Questo servirà a far passare la dimensione del file mame.exe da 8 MB a circa 2.
| | MAME | |
| Se avete seguito attentamente ogni precedente passaggio... siete pronti per compilare il
vostro primo M.A.M.E.!!! Accertatevi di trovarvi nella directory C:\MAMESRC.
Tutto quello che dovete scrivere è:
Ora dovreste leggere sul vostro schermo qualcosa del tipo... md objmd-
obj\cpumd
- obj\cpu\z80md
- obj\cpu\m6502md
- obj\cpu\h6280md
- obj\cpu\i86md
-
obj\cpu\i8039md
- obj\cpu\i8085md
- obj\cpu\m6800md
- obj\cpu\m6805md
- obj\cpu\m6809md
- obj\cpu\m68000md
- obj\cpu\s2650md
- obj\cpu\t11md
- obj\cpu\tms34010md
-
obj\cpu\tms9900md
- obj\cpu\z8000md
- obj\cpu\tms32010md
- obj\cpu\ccpumd
- obj\driversmd
- obj\machinemd
- obj\vidhrdwmd
- obj\sndhrdwmd
- obj\msdos
La compilazione del
M.A.M.E. ha inizio. Il vostro schermo dovrebbe apparire come quando avete compilato le
ALLEGRO. Questo porterà via un bel pò di tempo. Se non ci sono stati problemi, lanciate il
comando DIR nella vostra directory C:\MAMESRC e troverete il vostro mame.exe.
Se avete avuto problemi durante la compilazione o volete semplicemente sapere come
attivare particolari driver o alcuni giochi NEOGEO "nascosti" consultate la sezione
FAQ!!! |
| FAQ | |
| 1. Quando digito make ottengo un
bad command or file name- 2. Ottengo il messaggio Virtual Memory
Exhausted
- 3. Load error: no DPMI selectors
- 4. Come
aggiungo i giochi NEOGEO "nascosti" e altri driver?
- 5. Come attivo il
debugger?
-
DOMANDA 1 Quando
digito make ottengo un bad command or file name Il
tuo è un problema relativo al PATH. Per il DJGPP, il file make.exe è quello che
lancia il compilatore MAKEFILE utile, come logico, a compilare il MAME quando digiti
make. Questo file (make.exe) è contenuto nella directory C:\COMPILER\DJGPP\BIN e per
questo lanciandolo dalla directory C:\MAMESRC ottieni il messaggio di errore. Per
correggere il problema basta inserire la directory DJGPP\BIN nel tuo path e per far
ciò rileggi la sezione dedicata al DJGPP. DOMANDA 2
Ottengo il messaggio Virtual Memory Exhausted
Non ho mai personalmente riscontrato questo errore, comunque il problema è
segnalato nella faq.txt delle ALLEGRO. Se ottieni questo messaggio di errore, hai
bisogno di fornire più memoria al compilatore che usi. Se sei sotto DOS prova a
liberare una quantità maggiore di spazio libero sull'hard disk in modo da ottenere
un file di swap maggiore. Se sei sotto Win95, aumenta la memoria DPMI nelle
proprietà della tua sessione DOS fino a 65535. DOMANDA
3 Load error: no DPMI selectors Se sei
in una finestra DOS di Windows, molto probabilmente durante la compilazione vedreai
apparire questo messaggio: Load error: no DPMI
selectors- make.exe: *** [obj\.................] Error1
Nessun
dramma! Questo avviene solo nelle finestre DOS di Windows. Basta semplicemente
ridigitare make e la compilazione riprenderà da dove era stata interrotta. DOMANDA 4 Come aggiungo i giochi NEOGEO
"nascosti" e altri driver? Prima di tutto è necessario chiarire una
cosa. Nella release ufficiale del MAME non sono attivati i driver relativi ad alcuni
giochi NEOGEO (per il momento sono 4) perfettamente emulati perchè ritenuti dal
MAMETEAM troppo "recenti". Per tanto se li attivate, per piacere, non distribuite il
MAME da voi compilato!!! Per quanto riguardi gli altri driver...bhe potete attivarli
per semplice curiosità visto che nella maggior parte dei casi sono dei "work in
progress" e pertanto non vi permettono di giocare. Per attivare tutti i
driver, dovete editare un particolare file nella directory C:\MAMESRC\SRC, il
driver.c, come qui riportato: Dovete sostituire /* step
2: define the drivers[ ] array */- #undef DRIVER
- #undef TESTDRIVER
-
#define DRIVER(NAME) &driver_##NAME,
- #define TESTDRIVER(NAME)
- const struct
GameDriver *drivers[ ] =
-
con /* step 2: define the drivers[ ] array
*/- #undef DRIVER
- #undef TESTDRIVER
- #define DRIVER(NAME) &driver_##NAME,
- #define TESTDRIVER(NAME) &driver_##NAME,
- const struct GameDriver *drivers[
] =
-
Ricompilate il MAME e tutti i driver saranno attivati! DOMANDA 5 Come attivo il debugger ?
Per attivare il debugger basta editare il file makefile nella directory
C:\MAMESRC come di seguito riportato: da # uncomment next
line to include the debugger - # DEBUG = 1
a # uncomment next
line to include the debugger - DEBUG = 1
... e ricompilate il MAME
ricordandovi di eliminare la directory C:\MAMESRC\OBJ se avevate
precedentemente compilato il MAME. |
|
Ringraziamenti |
| |
La
versione originale di questo How to è presente all'indirizzo http://mameworld.retrogames.com Traduzione
italiana leggermente modificata a cura di Francesco "F0x"
Grieco Naturalmente, tutti i miei ringraziamenti vanno al MAMETEAM e in
particolare a NICOLA SALMORIA per avere creato questo fantastico emulatore e per averci dato
la possibilità di rivivere favolosi momenti d'infanzia.
|
|