Benvenuto Ospite,
per utilizzare il Forum ed avere accesso a tutte le sezioni e poter aprire un tuo Topic, rispondere nelle varie discussioni, mandare o ricevere Messaggi Privati devi seguire pochi passaggi:
Leggi il nostro Regolamento -> PREMI QUI <-
Segui il link su come Iscriversi -> PREMI QUI <-
Ricordati di aggiornare l'Avatar usando una immagine che ti distingua nel Forum
per utilizzare il Forum ed avere accesso a tutte le sezioni e poter aprire un tuo Topic, rispondere nelle varie discussioni, mandare o ricevere Messaggi Privati devi seguire pochi passaggi:
Leggi il nostro Regolamento -> PREMI QUI <-
Segui il link su come Iscriversi -> PREMI QUI <-
Ricordati di aggiornare l'Avatar usando una immagine che ti distingua nel Forum
Compilare e personalizzare Mame
- PaTrYcK
- Moderatore
- Messaggi: 11588
- Iscritto il: 12/10/2009, 20:35
- Città: Cagliari
- Grazie Ricevuti: 27 volte
Compilare e personalizzare Mame
Dato che Il Mame e' si puo' modificare e a proprio piacimento ( o quasi: http://mamedev.org/devwiki/index.php/Is ... _Source%3F) potendo quindi ottenere delle versioni alternative, xche ' nn proviamo a creare una mini "FAQ" x provare a fare le prime compilazioni e modifiche in modo che ognuno se la possa personalizzare come vuole ?
Guide/manuali:
http://mrdo.mameworld.info/compile.html
viewtopic.php?f=27&t=12866
Allego zip con tante modifiche possibili (by Stormrider)
Guide/manuali:
http://mrdo.mameworld.info/compile.html
viewtopic.php?f=27&t=12866
Allego zip con tante modifiche possibili (by Stormrider)
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
-
r77
- God of Arcade
- Messaggi: 2817
- Iscritto il: 08/07/2009, 10:37
- Medaglie: 2
- Città: Verona
- Grazie Ricevuti: 2 volte
Re: Compilare e personalizzare Mame
Fino a qualche mese fa compilavo MameXT, poi dany ha smesso di seguirlo e x mancanza di tempo non l'ho + fatto, però l'idea di creare una guida non è male.
Appena ho un attimo controllo i miei appunti e butto giù 2 righe
Appena ho un attimo controllo i miei appunti e butto giù 2 righe
CLRMAMEPRO guida passo a passo viewtopic.php?f=27&t=11373
- PaTrYcK
- Moderatore
- Messaggi: 11588
- Iscritto il: 12/10/2009, 20:35
- Città: Cagliari
- Grazie Ricevuti: 27 volte
Re: Compilare e personalizzare Mame
Nn sapevor77 ha scritto:Fino a qualche mese fa compilavo MameXT, poi dany ha smesso di seguirlo e x mancanza di tempo non l'ho + fatto, però l'idea di creare una guida non è male.

Ottimo!!!r77 ha scritto:Appena ho un attimo controllo i miei appunti e butto giù 2 righe

-
- Cab-maniaco
- Messaggi: 1646
- Iscritto il: 02/08/2005, 8:40
- Medaglie: 1
- Città: Latina
- Grazie Inviati: 6 volte
- Grazie Ricevuti: 3 volte
Re: Compilare e personalizzare Mame
Ciao Patrick!
Io per compilare ho seguito questa guida: http://mamedev.org/tools/ utilizzando i sorgenti presi da mamedev
Che problema hai riscontrato?
ps. Che coincidenza...avevo pensato anch'io di ricompilare aggiungendo le features trovate sul layout di Stormrider
Io per compilare ho seguito questa guida: http://mamedev.org/tools/ utilizzando i sorgenti presi da mamedev
Che problema hai riscontrato?
ps. Che coincidenza...avevo pensato anch'io di ricompilare aggiungendo le features trovate sul layout di Stormrider
- PaTrYcK
- Moderatore
- Messaggi: 11588
- Iscritto il: 12/10/2009, 20:35
- Città: Cagliari
- Grazie Ricevuti: 27 volte
Re: Compilare e personalizzare Mame
Sono molto curioso su quest oaspetto, ma nn ho mai provato a modificare il sorgente del mame e nn ho trovato molte info in rete, quindi cercavo delle info un po' precise su come procedere, quale compilatore hai utilizzato?antoniomauro ha scritto:Ciao Patrick!
Io per compilare ho seguito questa guida: http://mamedev.org/tools/ utilizzando i sorgenti presi da mamedev
Che problema hai riscontrato?
Stesso spunto anche x meantoniomauro ha scritto:ps. Che coincidenza...avevo pensato anch'io di ricompilare aggiungendo le features trovate sul layout di Stormrider

-
- Cab-maniaco
- Messaggi: 1646
- Iscritto il: 02/08/2005, 8:40
- Medaglie: 1
- Città: Latina
- Grazie Inviati: 6 volte
- Grazie Ricevuti: 3 volte
Re: Compilare e personalizzare Mame
mingwPaTrYcK ha scritto: quale compilatore hai utilizzato?
Nella guida che ti ho linkato trovi tutto!
- PaTrYcK
- Moderatore
- Messaggi: 11588
- Iscritto il: 12/10/2009, 20:35
- Città: Cagliari
- Grazie Ricevuti: 27 volte
Re: Compilare e personalizzare Mame
Ho letto la guida, trovo alcune difficolta' ad impostare diverse cose, esemio inizialmente da linea di comando (senza utilizzare .bat) setto:antoniomauro ha scritto:mingwPaTrYcK ha scritto: quale compilatore hai utilizzato?
Nella guida che ti ho linkato trovi tutto!
set path = mingw \ mingw64-W32 \ bin
dato che ho la cartella del mame su c:/ setto
cd mame-source-path in modo che sia cd c:/mame
ma poi mi incarto, nn capisco come andare avanti e come applicare realmente le modifiche al sorgente...
-
- Cab-maniaco
- Messaggi: 1646
- Iscritto il: 02/08/2005, 8:40
- Medaglie: 1
- Città: Latina
- Grazie Inviati: 6 volte
- Grazie Ricevuti: 3 volte
Re: Compilare e personalizzare Mame
Ciao Patrick,
per applicare le modifiche ai sorgenti puoi seguire 2 strade:
1) utilizzare DIFF. Utile per applicare le modifiche rilasciate dai mamedev ma rognoso se il file diff non è perfettamente adatto alla versione che usi
2) navigare nella cartella src e utilizzare un buon editor di testo (notepad++)
Io personalmente applico le modifiche manualmente e poi genero un diff per pubblicarle.
Ecco ad esempio il diff delle modifiche da me scelte:
- tutti i giochi a 60hz
- Nessuna schermata di avviso
- Audio sync
per applicare le modifiche ai sorgenti puoi seguire 2 strade:
1) utilizzare DIFF. Utile per applicare le modifiche rilasciate dai mamedev ma rognoso se il file diff non è perfettamente adatto alla versione che usi
2) navigare nella cartella src e utilizzare un buon editor di testo (notepad++)
Io personalmente applico le modifiche manualmente e poi genero un diff per pubblicarle.
Ecco ad esempio il diff delle modifiche da me scelte:
- tutti i giochi a 60hz
- Nessuna schermata di avviso
- Audio sync
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
- PaTrYcK
- Moderatore
- Messaggi: 11588
- Iscritto il: 12/10/2009, 20:35
- Città: Cagliari
- Grazie Ricevuti: 27 volte
Re: Compilare e personalizzare Mame
No navigato talemente tanto sulla cartella src che m ie' venuto il mal di mare....
Nn trovo il filo logico...esempio vorrei modificare la vers. darkmame 140 ma nn avendo il diff nn si puo' fare, allora parto da mameuifx32 dove e' reperibile il source code:
http://www.mediafire.com/?o3dm1w9mkqbyace
Se opto x la soluzione 2 "navigare nella cartella src" mi perdo e nn so dove parare, se ad esempio volessi andare a vedere la scrittura del sorgente che riguarda la parte video dove sarebbe scritta?
Riesci a scrivere due righe sui primi passi da fare? Poi e' tutto piu' semplice...

Nn trovo il filo logico...esempio vorrei modificare la vers. darkmame 140 ma nn avendo il diff nn si puo' fare, allora parto da mameuifx32 dove e' reperibile il source code:
http://www.mediafire.com/?o3dm1w9mkqbyace
Se opto x la soluzione 2 "navigare nella cartella src" mi perdo e nn so dove parare, se ad esempio volessi andare a vedere la scrittura del sorgente che riguarda la parte video dove sarebbe scritta?
Riesci a scrivere due righe sui primi passi da fare? Poi e' tutto piu' semplice...

-
- Cab-maniaco
- Messaggi: 1646
- Iscritto il: 02/08/2005, 8:40
- Medaglie: 1
- Città: Latina
- Grazie Inviati: 6 volte
- Grazie Ricevuti: 3 volte
Re: Compilare e personalizzare Mame
Mi pare di aver capito che con il c/c++ non vai molto d'accordo
Cerco di darti delle indicazioni passo passo dando per scontato 2 cose:
1) Hai già scaricato il sorgente da mamedev del mame 140 originale e scompattato in una cartella (es. c:\mingw\mame)
2) Hai già scaricato ed installato mingw e, lanciando il "make", riesci ad ottenere un eseguibile funzionante originale
Premetto che non sono un profondo conoscitore dell'architettura del mame e che mi sono limitato a fare interventi molto superficiali, ma vorrei cercare di farti capire il senso di tali modifiche in modo da darti un punto di partenza valido per cominciare a "smanettare" con il codice.
Per questo motivo adotterò un metodo più lungo del semplice applicare un diff () ovvero ti spiegherò dove andare a fare le modifiche manualmente.
Cominciamo ad aprire il file diff che ti ho mandato nel punto che riguarda la modifica dei 60hz:
In pratica nel file src/emu/video.c la funzione "static_set_refresh" viene cambiata per impostare fisso "HZ_TO_ATTOSECONDS(60)" al posto del rate impostato nel driver
Comincia con il provare a fare questa modifica ed a compilare un patrickMame!


Cerco di darti delle indicazioni passo passo dando per scontato 2 cose:
1) Hai già scaricato il sorgente da mamedev del mame 140 originale e scompattato in una cartella (es. c:\mingw\mame)
2) Hai già scaricato ed installato mingw e, lanciando il "make", riesci ad ottenere un eseguibile funzionante originale
Premetto che non sono un profondo conoscitore dell'architettura del mame e che mi sono limitato a fare interventi molto superficiali, ma vorrei cercare di farti capire il senso di tali modifiche in modo da darti un punto di partenza valido per cominciare a "smanettare" con il codice.
Per questo motivo adotterò un metodo più lungo del semplice applicare un diff (
Codice: Seleziona tutto
patch -p0 -E <diffname.diff
Cominciamo ad aprire il file diff che ti ho mandato nel punto che riguarda la modifica dei 60hz:
Codice: Seleziona tutto
*** C:\mingw\mame_original/src/emu/video.c Wed Oct 20 23:01:18 2010 FILE ORIGINALE
--- C:\mingw\mame/src/emu/video.c Thu Dec 16 17:22:15 2010 FILE MODIFICATO
***************
*** 1788,1794 **** FILE ORIGINALE dalla riga 1788 alla 1794
void screen_device_config::static_set_refresh(device_config *device, attoseconds_t rate)
{
screen_device_config *screen = downcast<screen_device_config *>(device);
! screen->m_refresh = rate;
}
--- 1790,1796 ---- FILE MODIFICATO dalla riga 1790 alla 1796 ( in numeri di riga non corrispondono perchè ci sono altri cambiamenti nello stesso file che qui ho omesso)
void screen_device_config::static_set_refresh(device_config *device, attoseconds_t rate)
{
screen_device_config *screen = downcast<screen_device_config *>(device);
! screen->m_refresh = HZ_TO_ATTOSECONDS(60);
}
Comincia con il provare a fare questa modifica ed a compilare un patrickMame!
- PaTrYcK
- Moderatore
- Messaggi: 11588
- Iscritto il: 12/10/2009, 20:35
- Città: Cagliari
- Grazie Ricevuti: 27 volte
Re: Compilare e personalizzare Mame
Bravissimo, mai utilizzato, e' arrivata l'oraantoniomauro ha scritto:Mi pare di aver capito che con il c/c++ non vai molto d'accordo![]()
![]()

Okantoniomauro ha scritto:Cerco di darti delle indicazioni passo passo dando per scontato 2 cose:
1) Hai già scaricato il sorgente da mamedev del mame 140 originale e scompattato in una cartella (es. c:\mingw\mame)
Nn ci sono ancora, mi incarto e nn riesco ad andare avanti....quindi da principioantoniomauro ha scritto: 2) Hai già scaricato ed installato mingw e, lanciando il "make", riesci ad ottenere un eseguibile funzionante originale
Ho scaricato Mingw messo su cartella:

Su alcune guide ho letto che devo pure aggiungere delle librerie dx80_mgw nella sotto cartella include, cmq inserite anche queste, poi ho scaricato il sorgente mameuifx32:

Aperto il file ed ho visto le modifiche fatte, ma come lo do in "pasto" x essere compilato ottenendo la versione modificata del mameuifx32 del quale ho il sorgente? Come faccio a far partire la compilazione x crearmi una copia del mame modificata?antoniomauro ha scritto:Cominciamo ad aprire il file diff che ti ho mandato nel punto che riguarda la modifica dei 60hz:
Come hai creato un diff?
Ti bastano questi miei dubbi?

Grazie!!!

-
- Cab-maniaco
- Messaggi: 1646
- Iscritto il: 02/08/2005, 8:40
- Medaglie: 1
- Città: Latina
- Grazie Inviati: 6 volte
- Grazie Ricevuti: 3 volte
Re: Compilare e personalizzare Mame
Crea un file di testo con estensione.bat ed incollaci questo:
Salva il file come: c:\mingw\compila.bat
Esegui il file c:\mingw\compila.bat
Se ti da errori postali!
Codice: Seleziona tutto
set path=%PATH%;"C:\mingw\bin"
cd mamesrc
make
pause
Esegui il file c:\mingw\compila.bat
Se ti da errori postali!
- PaTrYcK
- Moderatore
- Messaggi: 11588
- Iscritto il: 12/10/2009, 20:35
- Città: Cagliari
- Grazie Ricevuti: 27 volte
Re: Compilare e personalizzare Mame
Nn trova alcuni file/dir...
ho provato a cercarli nella cartella che mi sono creato (della quale ho incollato le img nel post precedente) ma nn le ho, cosa mi sono dimenticato di scaricare?

ho provato a cercarli nella cartella che mi sono creato (della quale ho incollato le img nel post precedente) ma nn le ho, cosa mi sono dimenticato di scaricare?

-
- Cab-maniaco
- Messaggi: 1646
- Iscritto il: 02/08/2005, 8:40
- Medaglie: 1
- Città: Latina
- Grazie Inviati: 6 volte
- Grazie Ricevuti: 3 volte
Re: Compilare e personalizzare Mame
Sembra che il sorgente che hai scaricato sia sprovvisto dei file .mak (indispensabili)
Nella cartella C:\mingw\mamesrc\src\mame non c'è il file mame.mak?
Puoi provare la stessa operazione con i sorgenti del mame "liscio" preso da mamedev?
Nella cartella C:\mingw\mamesrc\src\mame non c'è il file mame.mak?
Puoi provare la stessa operazione con i sorgenti del mame "liscio" preso da mamedev?
- PaTrYcK
- Moderatore
- Messaggi: 11588
- Iscritto il: 12/10/2009, 20:35
- Città: Cagliari
- Grazie Ricevuti: 27 volte
Re: Compilare e personalizzare Mame
Nada, nn sono presenti,li ho presi dal sito ufficiale del mameuifx32:antoniomauro ha scritto:Sembra che il sorgente che hai scaricato sia sprovvisto dei file .mak (indispensabili)
Nella cartella C:\mingw\mamesrc\src\mame non c'è il file mame.mak?
http://mame32fx.altervista.org/home.htm
Adesso provo con un sorgente differente

-
- Cab-maniaco
- Messaggi: 1646
- Iscritto il: 02/08/2005, 8:40
- Medaglie: 1
- Città: Latina
- Grazie Inviati: 6 volte
- Grazie Ricevuti: 3 volte
Re: Compilare e personalizzare Mame
Nella pagina che hai linkato c'è scritto:
MAMEUIFX source code.
Extract it over official MAME source.
Immagino che devi scaricare il sorgente originale e sovrascriverci questo!
MAMEUIFX source code.
Extract it over official MAME source.
Immagino che devi scaricare il sorgente originale e sovrascriverci questo!
- PaTrYcK
- Moderatore
- Messaggi: 11588
- Iscritto il: 12/10/2009, 20:35
- Città: Cagliari
- Grazie Ricevuti: 27 volte
Re: Compilare e personalizzare Mame
Ecco, il mio errore e' stato quello di credere che quella indicazione fosse riferita alla vers 138...
Partita la compilazione quindi adesso tutto ok...
X fare le eventuali modifiche come si dovrebbe procedere?
Partita la compilazione quindi adesso tutto ok...
X fare le eventuali modifiche come si dovrebbe procedere?
-
- Cab-maniaco
- Messaggi: 1646
- Iscritto il: 02/08/2005, 8:40
- Medaglie: 1
- Città: Latina
- Grazie Inviati: 6 volte
- Grazie Ricevuti: 3 volte
Re: Compilare e personalizzare Mame
Riassumo quello che ti avevo scritto qualche post fa:
1) Scaricati notepad++
2) Apri il file C:\mingw\mame/src/emu/video.c
3) Vai alla riga 1788 e sostituisci la funzione
con:
4) Ricompila
Ti invito a studiare un po il file diff che ho postato dove sono presenti anche tutte le altre modifiche
Dimenticavo:
per alcune modifiche basta ricompilare mentre per altre devi eseguire prima un make clean
Senza dilungarmi troppo ti consiglio di provare prima a ricompilare (ci mette poco tempo) e, nel caso in cui avessi errori od il mame dovesse crashare, fai il clean e poi ricompile (molto + lungo)
1) Scaricati notepad++
2) Apri il file C:\mingw\mame/src/emu/video.c
3) Vai alla riga 1788 e sostituisci la funzione
Codice: Seleziona tutto
void screen_device_config::static_set_refresh(device_config *device, attoseconds_t rate)
{
screen_device_config *screen = downcast<screen_device_config *>(device);
screen->m_refresh = rate;
}
Codice: Seleziona tutto
void screen_device_config::static_set_refresh(device_config *device, attoseconds_t rate)
{
screen_device_config *screen = downcast<screen_device_config *>(device);
screen->m_refresh = HZ_TO_ATTOSECONDS(60);
}
Ti invito a studiare un po il file diff che ho postato dove sono presenti anche tutte le altre modifiche
Dimenticavo:
per alcune modifiche basta ricompilare mentre per altre devi eseguire prima un make clean
Codice: Seleziona tutto
set path=%PATH%;"C:\mingw\bin"
cd mame
make clean
- PaTrYcK
- Moderatore
- Messaggi: 11588
- Iscritto il: 12/10/2009, 20:35
- Città: Cagliari
- Grazie Ricevuti: 27 volte
Re: Compilare e personalizzare Mame
Ottimo, grazie Antonio, stasera ci provo, vediamo cosa esce fuori 

- PaTrYcK
- Moderatore
- Messaggi: 11588
- Iscritto il: 12/10/2009, 20:35
- Città: Cagliari
- Grazie Ricevuti: 27 volte
Re: Compilare e personalizzare Mame
Ok, il mio primo mame ha visto la luce 
Ho tolto le schermate di caricamento, impostato a 60hz e altre piccole cosette...
Alla fine il miglior modo x nn essere troppo dipendenti dalle versioni altrui e' crearsele da soli
Ho notato che per qualsiasi successiva modifica la compilazione e' velocissima e nn riparte da zero!
Domanda, x ottenere 60Hz fissi tu suggerisci la modifica su video.c:
void screen_device_config::static_set_refresh(device_config *device, attoseconds_t rate) { screen_device_config *screen = downcast<screen_device_config *>(device); screen->m_refresh = rate; }
con
void screen_device_config::static_set_refresh(device_config *device, attoseconds_t rate) { screen_device_config *screen = downcast<screen_device_config *>(device); screen->m_refresh = HZ_TO_ATTOSECONDS(60); }
Mentre Stormrider procede modificando video.h:
MDRV_DEVICE_CONFIG_DATA64(screen_config, refresh, HZ_TO_ATTOSECONDS(_pixclock) * (_htotal) * (_vtotal)) \
con
MDRV_DEVICE_CONFIG_DATA64(screen_config, refresh, HZ_TO_ATTOSECONDS((((HZ_TO_ATTOSECONDS(_pixclock)) * (_htotal) * (_vtotal))>= 50) ? 60 : ((HZ_TO_ATTOSECONDS(_pixclock)) * (_htotal) * (_vtotal)))) \
ed
MDRV_DEVICE_CONFIG_DATA64(screen_config, refresh, HZ_TO_ATTOSECONDS(_rate))
con
MDRV_DEVICE_CONFIG_DATA64(screen_config, refresh, HZ_TO_ATTOSECONDS(((_rate)>= 50) ? 60 : (_rate)))
Si puo' quindi raggiungere lo scopo con due differenti vie ?
Ho dato uno sguardo al tuo file diff, mi sembra di capire che si tratta di un txt dove sono presenti le modifiche da te eseguite, ma nn mi e' chiaro come poterle interpretare...
Inoltre come si da in pasto un file diff in modo da ricompilare l'exe? Come si crea un file diff?
Grazie!!!!

Ho tolto le schermate di caricamento, impostato a 60hz e altre piccole cosette...
Alla fine il miglior modo x nn essere troppo dipendenti dalle versioni altrui e' crearsele da soli

Ho notato che per qualsiasi successiva modifica la compilazione e' velocissima e nn riparte da zero!
Domanda, x ottenere 60Hz fissi tu suggerisci la modifica su video.c:
void screen_device_config::static_set_refresh(device_config *device, attoseconds_t rate) { screen_device_config *screen = downcast<screen_device_config *>(device); screen->m_refresh = rate; }
con
void screen_device_config::static_set_refresh(device_config *device, attoseconds_t rate) { screen_device_config *screen = downcast<screen_device_config *>(device); screen->m_refresh = HZ_TO_ATTOSECONDS(60); }
Mentre Stormrider procede modificando video.h:
MDRV_DEVICE_CONFIG_DATA64(screen_config, refresh, HZ_TO_ATTOSECONDS(_pixclock) * (_htotal) * (_vtotal)) \
con
MDRV_DEVICE_CONFIG_DATA64(screen_config, refresh, HZ_TO_ATTOSECONDS((((HZ_TO_ATTOSECONDS(_pixclock)) * (_htotal) * (_vtotal))>= 50) ? 60 : ((HZ_TO_ATTOSECONDS(_pixclock)) * (_htotal) * (_vtotal)))) \
ed
MDRV_DEVICE_CONFIG_DATA64(screen_config, refresh, HZ_TO_ATTOSECONDS(_rate))
con
MDRV_DEVICE_CONFIG_DATA64(screen_config, refresh, HZ_TO_ATTOSECONDS(((_rate)>= 50) ? 60 : (_rate)))
Si puo' quindi raggiungere lo scopo con due differenti vie ?
Ho dato uno sguardo al tuo file diff, mi sembra di capire che si tratta di un txt dove sono presenti le modifiche da te eseguite, ma nn mi e' chiaro come poterle interpretare...
Inoltre come si da in pasto un file diff in modo da ricompilare l'exe? Come si crea un file diff?
Grazie!!!!