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

Compilare e personalizzare Mame

Problemi e soluzioni su configurazioni o di carattere elettrico vario (audio, cabinati, pc)...
Avatar utente
PaTrYcK
Moderatore
Moderatore
Messaggi: 11588
Iscritto il: 12/10/2009, 20:35
Città: Cagliari
Grazie Ricevuti: 27 volte

Compilare e personalizzare Mame

Messaggio da PaTrYcK »

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)
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Avatar utente
r77

Silver Medal Donatore
God of Arcade
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

Messaggio da r77 »

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
CLRMAMEPRO guida passo a passo viewtopic.php?f=27&t=11373
Avatar utente
PaTrYcK
Moderatore
Moderatore
Messaggi: 11588
Iscritto il: 12/10/2009, 20:35
Città: Cagliari
Grazie Ricevuti: 27 volte

Re: Compilare e personalizzare Mame

Messaggio da PaTrYcK »

r77 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.
Nn sapevo <-clap->
r77 ha scritto:Appena ho un attimo controllo i miei appunti e butto giù 2 righe
Ottimo!!! <-lol->
antoniomauro

Donatore
Cab-maniaco
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

Messaggio da antoniomauro »

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
Avatar utente
PaTrYcK
Moderatore
Moderatore
Messaggi: 11588
Iscritto il: 12/10/2009, 20:35
Città: Cagliari
Grazie Ricevuti: 27 volte

Re: Compilare e personalizzare Mame

Messaggio da PaTrYcK »

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?
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:ps. Che coincidenza...avevo pensato anch'io di ricompilare aggiungendo le features trovate sul layout di Stormrider
Stesso spunto anche x me :wink:
antoniomauro

Donatore
Cab-maniaco
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

Messaggio da antoniomauro »

PaTrYcK ha scritto: quale compilatore hai utilizzato?
mingw
Nella guida che ti ho linkato trovi tutto!
Avatar utente
PaTrYcK
Moderatore
Moderatore
Messaggi: 11588
Iscritto il: 12/10/2009, 20:35
Città: Cagliari
Grazie Ricevuti: 27 volte

Re: Compilare e personalizzare Mame

Messaggio da PaTrYcK »

antoniomauro ha scritto:
PaTrYcK ha scritto: quale compilatore hai utilizzato?
mingw
Nella guida che ti ho linkato trovi tutto!
Ho letto la guida, trovo alcune difficolta' ad impostare diverse cose, esemio inizialmente da linea di comando (senza utilizzare .bat) setto:
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...
antoniomauro

Donatore
Cab-maniaco
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

Messaggio da antoniomauro »

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
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Avatar utente
PaTrYcK
Moderatore
Moderatore
Messaggi: 11588
Iscritto il: 12/10/2009, 20:35
Città: Cagliari
Grazie Ricevuti: 27 volte

Re: Compilare e personalizzare Mame

Messaggio da PaTrYcK »

No navigato talemente tanto sulla cartella src che m ie' venuto il mal di mare.... 8-)

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... :wink:
antoniomauro

Donatore
Cab-maniaco
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

Messaggio da antoniomauro »

Mi pare di aver capito che con il c/c++ non vai molto d'accordo :-D :-D
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
) 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:

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);
  }
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!
Avatar utente
PaTrYcK
Moderatore
Moderatore
Messaggi: 11588
Iscritto il: 12/10/2009, 20:35
Città: Cagliari
Grazie Ricevuti: 27 volte

Re: Compilare e personalizzare Mame

Messaggio da PaTrYcK »

antoniomauro ha scritto:Mi pare di aver capito che con il c/c++ non vai molto d'accordo :-D :-D
Bravissimo, mai utilizzato, e' arrivata l'ora :wink:
antoniomauro 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)
Ok
antoniomauro ha scritto: 2) Hai già scaricato ed installato mingw e, lanciando il "make", riesci ad ottenere un eseguibile funzionante originale
Nn ci sono ancora, mi incarto e nn riesco ad andare avanti....quindi da principio
Ho scaricato Mingw messo su cartella:
Immagine
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:
Immagine

antoniomauro ha scritto:Cominciamo ad aprire il file diff che ti ho mandato nel punto che riguarda la modifica dei 60hz:
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?

Come hai creato un diff?
Ti bastano questi miei dubbi? 8-)
Grazie!!! :wink:
antoniomauro

Donatore
Cab-maniaco
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

Messaggio da antoniomauro »

Crea un file di testo con estensione.bat ed incollaci questo:

Codice: Seleziona tutto

set path=%PATH%;"C:\mingw\bin"

cd mamesrc

make 

pause
Salva il file come: c:\mingw\compila.bat

Esegui il file c:\mingw\compila.bat

Se ti da errori postali!
Avatar utente
PaTrYcK
Moderatore
Moderatore
Messaggi: 11588
Iscritto il: 12/10/2009, 20:35
Città: Cagliari
Grazie Ricevuti: 27 volte

Re: Compilare e personalizzare Mame

Messaggio da PaTrYcK »

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?
Immagine
antoniomauro

Donatore
Cab-maniaco
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

Messaggio da antoniomauro »

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?
Avatar utente
PaTrYcK
Moderatore
Moderatore
Messaggi: 11588
Iscritto il: 12/10/2009, 20:35
Città: Cagliari
Grazie Ricevuti: 27 volte

Re: Compilare e personalizzare Mame

Messaggio da PaTrYcK »

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?
Nada, nn sono presenti,li ho presi dal sito ufficiale del mameuifx32:
http://mame32fx.altervista.org/home.htm


Adesso provo con un sorgente differente <-gamer1->
antoniomauro

Donatore
Cab-maniaco
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

Messaggio da antoniomauro »

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!
Avatar utente
PaTrYcK
Moderatore
Moderatore
Messaggi: 11588
Iscritto il: 12/10/2009, 20:35
Città: Cagliari
Grazie Ricevuti: 27 volte

Re: Compilare e personalizzare Mame

Messaggio da PaTrYcK »

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?
antoniomauro

Donatore
Cab-maniaco
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

Messaggio da antoniomauro »

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

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;
  }
con:

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);
  }
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

Codice: Seleziona tutto

set path=%PATH%;"C:\mingw\bin"

cd mame

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)
Avatar utente
PaTrYcK
Moderatore
Moderatore
Messaggi: 11588
Iscritto il: 12/10/2009, 20:35
Città: Cagliari
Grazie Ricevuti: 27 volte

Re: Compilare e personalizzare Mame

Messaggio da PaTrYcK »

Ottimo, grazie Antonio, stasera ci provo, vediamo cosa esce fuori :wink:
Avatar utente
PaTrYcK
Moderatore
Moderatore
Messaggi: 11588
Iscritto il: 12/10/2009, 20:35
Città: Cagliari
Grazie Ricevuti: 27 volte

Re: Compilare e personalizzare Mame

Messaggio da PaTrYcK »

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 :wink:
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!!!!
Rispondi

Torna a “Miscellanea hardware”